diff --git a/.gitignore b/.gitignore index f0dec2981e..9744499e37 100644 --- a/.gitignore +++ b/.gitignore @@ -192,3 +192,6 @@ Temporary Items #Visual studio stuff *.vscode/* + +#GitHub Atom +.atom-build.json diff --git a/.travis.yml b/.travis.yml index 3095262290..35fec579bf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,7 @@ sudo: false env: global: - BYOND_MAJOR="511" - - BYOND_MINOR="1380" + - BYOND_MINOR="1385" - NODE_VERSION="4" - BUILD_TOOLS=false - BUILD_TESTING=false diff --git a/LICENSE-AGPLv3.txt b/LICENSE similarity index 100% rename from LICENSE-AGPLv3.txt rename to LICENSE diff --git a/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm b/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm index 0324d65554..9f2bf05b62 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm @@ -4,33 +4,25 @@ /area/template_noop) "am" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c"; - invisibility = 101 + dir = 6 }, /turf/closed/wall/r_wall, /area/ruin/powered/clownplanet) "an" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c"; - invisibility = 101 + dir = 10 }, /turf/closed/wall/r_wall, /area/ruin/powered/clownplanet) "ao" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c"; - invisibility = 101 + dir = 6 }, /turf/open/floor/plating, /area/ruin/powered/clownplanet) "ap" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c"; - invisibility = 101 + dir = 10 }, /turf/open/floor/plating, /area/ruin/powered/clownplanet) @@ -63,9 +55,7 @@ /area/ruin/powered/clownplanet) "at" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c"; - invisibility = 101 + dir = 6 }, /turf/open/indestructible{ icon_state = "darkyellowfull"; @@ -79,10 +69,8 @@ /turf/open/floor/plating, /area/ruin/powered/clownplanet) "av" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 1; - icon_state = "pipe-j2s"; - invisibility = 101; sortType = 3 }, /turf/closed/wall/r_wall, @@ -106,9 +94,7 @@ /area/ruin/powered/clownplanet) "ay" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c"; - invisibility = 101 + dir = 5 }, /obj/effect/decal/cleanable/dirt, /turf/open/indestructible{ @@ -139,9 +125,7 @@ /area/ruin/powered/clownplanet) "aB" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c"; - invisibility = 101 + dir = 9 }, /turf/open/indestructible{ icon_state = "darkyellowfull"; @@ -183,9 +167,7 @@ /area/ruin/powered/clownplanet) "aG" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c"; - invisibility = 101 + dir = 5 }, /turf/open/indestructible{ icon_state = "darkyellowfull"; @@ -194,9 +176,7 @@ /area/ruin/powered/clownplanet) "aH" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c"; - invisibility = 101 + dir = 9 }, /obj/effect/decal/cleanable/dirt, /turf/open/indestructible{ @@ -206,9 +186,7 @@ /area/ruin/powered/clownplanet) "aI" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c"; - invisibility = 101 + dir = 5 }, /obj/item/bikehorn, /turf/open/indestructible{ @@ -218,9 +196,7 @@ /area/ruin/powered/clownplanet) "aJ" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c"; - invisibility = 101 + dir = 5 }, /turf/closed/wall/r_wall, /area/ruin/powered/clownplanet) @@ -244,9 +220,7 @@ /area/ruin/powered/clownplanet) "aM" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c"; - invisibility = 101 + dir = 10 }, /turf/open/indestructible{ icon_state = "darkyellowfull"; @@ -273,9 +247,7 @@ /area/ruin/powered/clownplanet) "aS" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c"; - invisibility = 101 + dir = 9 }, /turf/open/floor/plating, /area/ruin/powered/clownplanet) @@ -295,9 +267,7 @@ /area/ruin/powered/clownplanet) "aV" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c"; - invisibility = 101 + dir = 10 }, /obj/effect/decal/cleanable/dirt, /turf/open/indestructible{ @@ -362,9 +332,7 @@ /area/ruin/powered/clownplanet) "bc" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c"; - invisibility = 101 + dir = 6 }, /obj/effect/decal/cleanable/dirt, /turf/open/indestructible{ @@ -397,9 +365,7 @@ /area/ruin/powered/clownplanet) "bf" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c"; - invisibility = 101 + dir = 10 }, /obj/effect/decal/cleanable/pie_smudge, /turf/open/indestructible{ @@ -419,9 +385,7 @@ /area/ruin/powered/clownplanet) "bh" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c"; - invisibility = 101 + dir = 6 }, /turf/open/indestructible{ icon_state = "white" @@ -429,9 +393,7 @@ /area/ruin/powered/clownplanet) "bi" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c"; - invisibility = 101 + dir = 10 }, /turf/open/indestructible{ icon_state = "white" @@ -465,9 +427,7 @@ /area/ruin/powered/clownplanet) "bm" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c"; - invisibility = 101 + dir = 5 }, /turf/open/indestructible{ icon_state = "white" @@ -475,9 +435,7 @@ /area/ruin/powered/clownplanet) "bn" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c"; - invisibility = 101 + dir = 9 }, /turf/open/indestructible{ icon_state = "white" @@ -499,9 +457,7 @@ /area/ruin/powered/clownplanet) "bs" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c"; - invisibility = 101 + dir = 6 }, /turf/open/indestructible{ icon_state = "darkredfull" @@ -509,18 +465,14 @@ /area/ruin/powered/clownplanet) "bt" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c"; - invisibility = 101 + dir = 5 }, /turf/open/floor/plating, /area/ruin/powered/clownplanet) "bu" = ( /obj/item/bikehorn, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c"; - invisibility = 101 + dir = 10 }, /turf/open/indestructible{ icon_state = "darkyellowfull"; @@ -565,9 +517,8 @@ }, /area/ruin/powered/clownplanet) "bC" = ( -/obj/structure/disposalpipe/junction{ +/obj/structure/disposalpipe/junction/yjunction{ dir = 1; - icon_state = "pipe-y"; invisibility = 101 }, /obj/effect/decal/cleanable/dirt, @@ -587,9 +538,7 @@ "bE" = ( /obj/effect/decal/cleanable/oil, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c"; - invisibility = 101 + dir = 10 }, /turf/open/floor/plating, /area/ruin/powered/clownplanet) @@ -633,9 +582,7 @@ /area/ruin/powered/clownplanet) "bK" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c"; - invisibility = 101 + dir = 9 }, /turf/open/indestructible{ icon_state = "darkredfull"; @@ -781,9 +728,7 @@ /area/ruin/powered/clownplanet) "dD" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c"; - invisibility = 101 + dir = 10 }, /obj/machinery/light/small{ dir = 4 @@ -795,9 +740,7 @@ /area/ruin/powered/clownplanet) "dE" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c"; - invisibility = 101 + dir = 10 }, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ @@ -835,9 +778,7 @@ /area/ruin/powered/clownplanet) "dH" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c"; - invisibility = 101 + dir = 9 }, /obj/machinery/light/small{ dir = 4 diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm index 214ff213c8..af51457db9 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm @@ -152,7 +152,9 @@ /turf/open/floor/plasteel/white, /area/ruin/powered/animal_hospital) "aB" = ( -/obj/machinery/computer/operating, +/obj/machinery/computer/operating{ + dir = 4 + }, /turf/open/floor/plasteel/white, /area/ruin/powered/animal_hospital) "aC" = ( @@ -628,7 +630,7 @@ /area/lavaland/surface/outdoors) "ca" = ( /obj/machinery/atmospherics/components/unary/tank/air{ - dir = 4 + dir = 1 }, /turf/open/floor/grass{ initial_gas_mix = "o2=14;n2=23;TEMP=300" diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm index 43ec69b1be..edc6dcffac 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm @@ -1,4 +1,4 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( /turf/template_noop, /area/template_noop) @@ -412,7 +412,9 @@ /turf/open/floor/pod/dark, /area/ruin/powered/snow_biodome) "UM" = ( -/obj/machinery/computer/monitor, +/obj/machinery/computer/monitor{ + dir = 1 + }, /turf/open/floor/pod/dark, /area/ruin/powered/snow_biodome) "Wg" = ( diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm index 02efad1605..5bd5fe010b 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm @@ -201,8 +201,7 @@ /area/ruin/powered/seedvault) "L" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm index 621ed9b00f..02d381f16c 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm @@ -109,9 +109,7 @@ /obj/item/stack/sheet/mineral/plastitanium{ amount = 30 }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /obj/structure/table/reinforced, /turf/open/floor/plasteel/podhatch{ dir = 9 @@ -195,12 +193,8 @@ }, /area/ruin/powered/syndicate_lava_base) "aB" = ( -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/structure/table/reinforced, /obj/item/wrench, /turf/open/floor/plasteel/podhatch{ @@ -1304,9 +1298,7 @@ /obj/item/stack/sheet/mineral/plastitanium{ amount = 30 }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /obj/structure/table/reinforced, /obj/machinery/light{ dir = 4 @@ -1338,9 +1330,7 @@ }, /area/ruin/powered/syndicate_lava_base) "dk" = ( -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, /obj/item/grenade/chem_grenade, /obj/item/grenade/chem_grenade, /obj/item/grenade/chem_grenade, diff --git a/_maps/RandomRuins/SpaceRuins/DJstation.dmm b/_maps/RandomRuins/SpaceRuins/DJstation.dmm index 96f6d35326..6a859fccdc 100644 --- a/_maps/RandomRuins/SpaceRuins/DJstation.dmm +++ b/_maps/RandomRuins/SpaceRuins/DJstation.dmm @@ -55,8 +55,7 @@ /area/ruin/space/djstation) "an" = ( /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/machinery/power/smes/magical{ desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; @@ -66,16 +65,13 @@ /area/ruin/space/djstation) "ao" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, /area/ruin/space/djstation) "ap" = ( /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/machinery/power/apc{ dir = 0; @@ -86,8 +82,6 @@ /area/ruin/space/djstation) "aq" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/item/storage/box/lights/mixed, @@ -101,8 +95,6 @@ /area/ruin/space/djstation) "ar" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plating, @@ -311,9 +303,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/structure/rack{ - dir = 4 - }, +/obj/structure/rack, /obj/item/clothing/under/soviet, /obj/item/clothing/head/ushanka, /turf/open/floor/plasteel/cafeteria, diff --git a/_maps/RandomRuins/SpaceRuins/TheDerelict.dmm b/_maps/RandomRuins/SpaceRuins/TheDerelict.dmm index cc960def1c..ec2f510f91 100644 --- a/_maps/RandomRuins/SpaceRuins/TheDerelict.dmm +++ b/_maps/RandomRuins/SpaceRuins/TheDerelict.dmm @@ -13,16 +13,13 @@ "ad" = ( /obj/machinery/power/tracker, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plasteel/airless, /area/solar/derelict_starboard) "ae" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/template_noop, @@ -35,8 +32,7 @@ /area/solar/derelict_starboard) "ag" = ( /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plasteel/airless{ icon_state = "damaged5" @@ -48,8 +44,7 @@ name = "Derelict Solar Array" }, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plasteel/airless, /area/solar/derelict_starboard) @@ -60,13 +55,9 @@ "aj" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/template_noop, @@ -74,8 +65,6 @@ "ak" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/template_noop, @@ -83,18 +72,12 @@ "al" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/template_noop, @@ -102,13 +85,9 @@ "am" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/template_noop, @@ -116,18 +95,12 @@ "an" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/template_noop, @@ -135,13 +108,9 @@ "ao" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/template_noop, @@ -162,8 +131,7 @@ "ar" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /turf/template_noop, /area/solar/derelict_starboard) @@ -179,8 +147,6 @@ name = "External Engineering" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plating, @@ -188,8 +154,6 @@ "av" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, @@ -197,8 +161,6 @@ "aw" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plating, @@ -220,8 +182,6 @@ /area/ruin/space/derelict/solar_control) "aB" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel, @@ -229,15 +189,13 @@ "aC" = ( /obj/machinery/power/smes, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plasteel, /area/ruin/space/derelict/solar_control) "aD" = ( /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/machinery/power/solar_control{ id = "derelictsolar"; @@ -263,16 +221,12 @@ dir = 8 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, /area/ruin/space/derelict/solar_control) "aH" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel, @@ -282,15 +236,12 @@ dir = 1 }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plasteel, /area/ruin/space/derelict/solar_control) "aJ" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/machinery/light/small{ @@ -318,8 +269,6 @@ /area/ruin/space/derelict/solar_control) "aN" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -357,15 +306,12 @@ }, /obj/structure/cable, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plasteel, /area/ruin/space/derelict/solar_control) "aU" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel, @@ -388,22 +334,19 @@ /turf/closed/wall/r_wall, /area/ruin/unpowered/no_grav) "aZ" = ( -/obj/machinery/computer/monitor, +/obj/machinery/computer/monitor{ + dir = 4 + }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plasteel, /area/ruin/space/derelict/solar_control) "ba" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/light/small, @@ -411,8 +354,6 @@ /area/ruin/space/derelict/solar_control) "bb" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, @@ -448,8 +389,6 @@ req_access_txt = "10" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -473,8 +412,6 @@ "bm" = ( /obj/machinery/door/window, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -678,26 +615,27 @@ pixel_x = -24 }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plasteel/airless, /area/ruin/space/derelict/bridge/ai_upload) "bX" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plating/airless, /area/ruin/space/derelict/bridge/ai_upload) "bY" = ( -/obj/structure/frame/computer, +/obj/structure/frame/computer{ + dir = 1 + }, /obj/item/circuitboard/computer/rdconsole, /turf/open/floor/plasteel/airless, /area/ruin/space/derelict/bridge/ai_upload) "bZ" = ( -/obj/structure/frame/computer, +/obj/structure/frame/computer{ + dir = 8 + }, /turf/open/floor/plasteel/airless, /area/ruin/space/derelict/bridge/ai_upload) "ca" = ( @@ -712,8 +650,6 @@ /area/template_noop) "cc" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating/airless, @@ -724,24 +660,18 @@ /area/ruin/space/derelict/bridge/ai_upload) "ce" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/closed/wall/r_wall, /area/ruin/space/derelict/bridge/ai_upload) "cf" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/closed/wall/r_wall, /area/ruin/space/derelict/bridge/ai_upload) "cg" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/closed/wall/r_wall, @@ -754,16 +684,12 @@ /area/template_noop) "cj" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/closed/wall/r_wall, /area/ruin/space/derelict/bridge/ai_upload) "ck" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel, @@ -802,8 +728,6 @@ /area/ruin/space/derelict/gravity_generator) "cr" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/closed/wall, @@ -814,8 +738,6 @@ "ct" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -880,8 +802,6 @@ /area/ruin/space/derelict/bridge/access) "cF" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -904,45 +824,33 @@ /area/template_noop) "cJ" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/closed/wall, /area/ruin/space/derelict/bridge/access) "cK" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, /area/ruin/space/derelict/bridge/access) "cL" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, /area/ruin/space/derelict/bridge/access) "cM" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel, /area/ruin/space/derelict/bridge/access) "cN" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel, @@ -1001,8 +909,6 @@ req_access_txt = "18" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -1017,8 +923,6 @@ "cX" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -1063,36 +967,28 @@ /area/ruin/unpowered/no_grav) "df" = ( /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/item/wallframe/apc, /turf/open/floor/plating/airless, /area/ruin/space/derelict/gravity_generator) "dg" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating/airless, /area/ruin/space/derelict/gravity_generator) "dh" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plating/airless, /area/ruin/space/derelict/gravity_generator) "di" = ( /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/structure/frame/machine, @@ -1114,21 +1010,15 @@ /area/ruin/space/derelict/bridge/access) "dm" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plating, /area/ruin/space/derelict/bridge/access) "dn" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel, @@ -1136,8 +1026,6 @@ "do" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, @@ -1145,8 +1033,6 @@ "dp" = ( /obj/machinery/door/airlock/glass, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, @@ -1154,8 +1040,6 @@ "dq" = ( /obj/item/reagent_containers/food/drinks/beer, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel, @@ -1173,8 +1057,6 @@ /area/ruin/space/derelict/gravity_generator) "dt" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating/airless, @@ -1209,8 +1091,6 @@ "dy" = ( /obj/structure/window/reinforced, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -1232,8 +1112,6 @@ req_access_txt = "10" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating/airless, @@ -1261,8 +1139,7 @@ "dH" = ( /obj/structure/frame/computer, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plasteel, /area/ruin/space/derelict/bridge) @@ -1334,8 +1211,6 @@ /area/ruin/space/derelict/singularity_engine) "dS" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating/airless, @@ -1346,16 +1221,12 @@ req_access_txt = "10" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, /area/ruin/space/derelict/gravity_generator) "dU" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel, @@ -1376,8 +1247,6 @@ /area/ruin/space/derelict/singularity_engine) "dY" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -1472,8 +1341,6 @@ /area/ruin/space/derelict/singularity_engine) "ep" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/window/reinforced, @@ -1532,8 +1399,6 @@ /area/ruin/space/derelict/singularity_engine) "eA" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -1576,21 +1441,15 @@ /area/ruin/space/derelict/singularity_engine) "eH" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel, /area/ruin/space/derelict/bridge/access) "eI" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, @@ -1600,32 +1459,24 @@ dir = 4 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, /area/ruin/space/derelict/bridge/access) "eK" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, /area/ruin/space/derelict/bridge) "eL" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, /area/ruin/space/derelict/bridge) "eM" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel, @@ -1653,8 +1504,6 @@ /area/ruin/space/derelict/bridge) "eR" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -1935,8 +1784,6 @@ "fK" = ( /obj/machinery/door/window, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -1993,8 +1840,6 @@ /area/ruin/space/derelict/bridge/access) "fT" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/airless, @@ -2049,8 +1894,6 @@ /area/ruin/space/derelict/hallway/primary) "gb" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless{ @@ -2059,37 +1902,27 @@ /area/ruin/space/derelict/hallway/primary) "gc" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless, /area/ruin/space/derelict/hallway/primary) "gd" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating/airless, /area/ruin/space/derelict/bridge/access) "ge" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless, /area/ruin/space/derelict/bridge/access) "gf" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel/airless, @@ -2119,8 +1952,6 @@ /area/ruin/space/derelict/hallway/primary) "gl" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating/airless, @@ -2184,16 +2015,12 @@ /area/ruin/space/derelict/singularity_engine) "gx" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plating/airless, /area/ruin/space/derelict/hallway/primary) "gy" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating/airless, @@ -2334,8 +2161,6 @@ /area/ruin/space/derelict/singularity_engine) "ha" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plating/airless, @@ -2545,8 +2370,6 @@ /area/ruin/space/derelict/singularity_engine) "hO" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating/airless, @@ -2795,8 +2618,6 @@ /area/ruin/unpowered/no_grav) "iF" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/airless{ @@ -2951,8 +2772,6 @@ /area/ruin/unpowered/no_grav) "jc" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/airless, @@ -2967,16 +2786,12 @@ /area/ruin/space/derelict/medical/chapel) "jf" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel/airless/white, /area/ruin/space/derelict/medical) "jg" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/window/reinforced{ @@ -2986,8 +2801,6 @@ /area/ruin/space/derelict/medical) "jh" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless/white, @@ -3048,8 +2861,6 @@ /area/ruin/unpowered/no_grav) "jq" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/airless, @@ -3098,8 +2909,7 @@ pixel_x = 24 }, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plasteel/airless, /area/ruin/space/derelict/medical/chapel) @@ -3181,8 +2991,6 @@ "jM" = ( /obj/machinery/door/window, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/airless, @@ -3190,8 +2998,6 @@ "jN" = ( /obj/machinery/door/window/southleft, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/airless/white, @@ -3202,21 +3008,15 @@ /area/ruin/space/derelict/medical) "jP" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel/airless, /area/ruin/space/derelict/hallway/primary) "jQ" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/airlock/research{ @@ -3235,8 +3035,6 @@ /area/ruin/unpowered/no_grav) "jS" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating/airless, @@ -3270,8 +3068,6 @@ /area/ruin/space/derelict/hallway/primary) "jX" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/airless{ @@ -3295,16 +3091,12 @@ /area/ruin/space/derelict/hallway/primary) "kb" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel/airless, /area/ruin/unpowered/no_grav) "kc" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless, @@ -3324,16 +3116,12 @@ "kf" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless, /area/ruin/unpowered/no_grav) "kg" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/window/fulltile, @@ -3341,8 +3129,6 @@ /area/ruin/unpowered/no_grav) "kh" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/airlock/research{ @@ -3353,24 +3139,18 @@ /area/ruin/space/derelict/arrival) "ki" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, /area/ruin/space/derelict/arrival) "kj" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, /area/ruin/space/derelict/arrival) "kk" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel, @@ -3427,16 +3207,12 @@ /area/ruin/space/derelict/arrival) "kt" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating/airless, /area/ruin/space/derelict/hallway/primary) "ku" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless{ @@ -3445,8 +3221,6 @@ /area/ruin/space/derelict/hallway/primary) "kv" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless, @@ -3458,50 +3232,36 @@ icon_state = "right" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless, /area/ruin/space/derelict/hallway/primary) "kx" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/airless, /area/ruin/space/derelict/hallway/primary) "ky" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel/airless, /area/ruin/space/derelict/hallway/primary) "kz" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel/airless, /area/ruin/space/derelict/hallway/primary) "kA" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/airless, @@ -3520,8 +3280,6 @@ /area/ruin/space/derelict/hallway/primary) "kE" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel/airless, @@ -3533,31 +3291,24 @@ icon_state = "right" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless, /area/ruin/space/derelict/hallway/primary) "kG" = ( /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plasteel/airless, /area/ruin/space/derelict/hallway/primary) "kH" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel/airless, @@ -3609,8 +3360,6 @@ req_access_txt = "1" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/airless, @@ -3807,8 +3556,6 @@ /area/ruin/unpowered/no_grav) "lB" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/window/reinforced, @@ -3892,8 +3639,6 @@ /area/ruin/space/derelict/atmospherics) "lQ" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/airless, @@ -4106,8 +3851,6 @@ "mC" = ( /obj/item/wirecutters, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/airless, @@ -4141,8 +3884,6 @@ /area/ruin/unpowered/no_grav) "mI" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/airless, @@ -4215,8 +3956,7 @@ /area/ruin/space/derelict/hallway/secondary) "mX" = ( /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/structure/cable, /obj/machinery/power/apc{ @@ -4252,23 +3992,18 @@ pixel_y = 24 }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plasteel/airless, /area/ruin/space/derelict/atmospherics) "nd" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless, /area/ruin/space/derelict/hallway/secondary) "ne" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless{ @@ -4280,8 +4015,6 @@ dir = 1 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless{ @@ -4290,8 +4023,6 @@ /area/ruin/space/derelict/hallway/secondary) "ng" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless{ @@ -4300,8 +4031,6 @@ /area/ruin/space/derelict/hallway/secondary) "nh" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless{ @@ -4310,8 +4039,6 @@ /area/ruin/space/derelict/hallway/secondary) "ni" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless{ @@ -4320,8 +4047,6 @@ /area/ruin/space/derelict/hallway/secondary) "nj" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless{ @@ -4330,8 +4055,6 @@ /area/ruin/space/derelict/hallway/secondary) "nk" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless{ @@ -4343,8 +4066,6 @@ dir = 1 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless{ @@ -4353,21 +4074,15 @@ /area/ruin/space/derelict/hallway/secondary) "nm" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless, /area/ruin/space/derelict/hallway/secondary) "nn" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel/airless, @@ -4437,8 +4152,6 @@ /area/ruin/space/derelict/se_solar) "nC" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/door/airlock/engineering{ @@ -4460,8 +4173,6 @@ /area/ruin/space/derelict/hallway/secondary) "nF" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/door/firedoor, @@ -4483,29 +4194,21 @@ /area/ruin/unpowered/no_grav) "nJ" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/closed/wall/r_wall, /area/ruin/space/derelict/se_solar) "nK" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/closed/wall/r_wall, /area/ruin/space/derelict/se_solar) "nL" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/machinery/door/airlock/engineering{ @@ -4529,8 +4232,6 @@ /area/ruin/space/derelict/se_solar) "nP" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/airless, @@ -4564,8 +4265,7 @@ dir = 1 }, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/item/drone_shell/dusty, /turf/open/floor/plasteel/airless, @@ -4583,11 +4283,11 @@ /area/ruin/space/derelict/se_solar) "nY" = ( /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/structure/cable, /obj/machinery/power/solar_control{ + dir = 1; id = "derelictsolar"; name = "Primary Solar Control"; track = 0 @@ -4643,8 +4343,6 @@ icon_state = "right" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/airless, @@ -4674,8 +4372,6 @@ /area/ruin/space/derelict/se_solar) "ok" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/door/airlock/external, @@ -4688,16 +4384,14 @@ /area/solar/derelict_aft) "om" = ( /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/structure/lattice/catwalk, /turf/template_noop, /area/solar/derelict_aft) "on" = ( /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/machinery/power/solar{ id = "derelictsolar"; @@ -4707,8 +4401,6 @@ /area/solar/derelict_aft) "oo" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/lattice/catwalk, @@ -4716,8 +4408,7 @@ /area/solar/derelict_aft) "op" = ( /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/machinery/power/solar{ id = "derelictsolar"; @@ -4736,13 +4427,9 @@ "or" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/template_noop, @@ -4750,18 +4437,12 @@ "os" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/template_noop, @@ -4769,26 +4450,18 @@ "ot" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/template_noop, /area/solar/derelict_aft) "ou" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/lattice/catwalk, @@ -4797,18 +4470,12 @@ "ov" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/template_noop, @@ -4816,13 +4483,9 @@ "ow" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/template_noop, @@ -4847,21 +4510,15 @@ "oA" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/template_noop, /area/solar/derelict_aft) "oB" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/lattice/catwalk, @@ -4870,13 +4527,9 @@ "oC" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/template_noop, @@ -4886,6 +4539,18 @@ /obj/structure/cable, /turf/open/floor/plasteel/airless, /area/solar/derelict_aft) +"oE" = ( +/obj/structure/frame/computer{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/derelict/bridge) +"oF" = ( +/obj/structure/frame/computer{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/derelict/bridge) (1,1,1) = {" aa @@ -6877,7 +6542,7 @@ gX gX jY km -kt +gy fZ fZ fZ @@ -7103,7 +6768,7 @@ hI fZ go go -kv +gc fZ jZ kn @@ -7216,7 +6881,7 @@ hI fZ jZ go -kv +gc go go kX @@ -7329,7 +6994,7 @@ hI fZ go go -kv +gc fZ fZ fZ @@ -7442,7 +7107,7 @@ jz fZ jW go -kv +gc fZ kN kW @@ -7555,7 +7220,7 @@ jA fZ go ko -kv +gc fZ jZ kn @@ -7668,7 +7333,7 @@ jB fZ go go -kv +gc kD go kW @@ -7894,7 +7559,7 @@ hI fZ ka kp -kv +gc go kO kY @@ -8007,7 +7672,7 @@ hv fZ go go -kv +gc go kO kZ @@ -8118,8 +7783,8 @@ hX hX jD jN -jq -jq +jc +jc kx kE kO @@ -8573,7 +8238,7 @@ fZ fZ fZ fZ -kF +kw fZ fZ fZ @@ -8913,7 +8578,7 @@ go go go kG -jq +jc la fZ lu @@ -10369,17 +10034,17 @@ aa gL gL gl -hO +gl gm gm iF ip jc -jq -jq +jc +jc jP -jq -jq +jc +jc kz go gk @@ -10494,7 +10159,7 @@ gc go go kA -jq +jc kR lc li @@ -10838,7 +10503,7 @@ kT aY aY lD -lR +lD lX mc aY @@ -11924,7 +11589,7 @@ bj bj cs cy -cL +cK cx cT cx @@ -11933,9 +11598,9 @@ dy cF dY ep -eA +cF eH -eA +cF cF cF cF @@ -12047,7 +11712,7 @@ cx cx dw cx -cL +cK cx cs cs @@ -12612,7 +12277,7 @@ dI eb er ea -eL +eK ea ff fp @@ -12953,7 +12618,7 @@ ea ea ea ea -dG +oE fo aY ab @@ -13066,7 +12731,7 @@ eb ea ea eS -dG +oF dz fD ab diff --git a/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm b/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm index 66c738fb77..1e3ae17ff8 100644 --- a/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm +++ b/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm @@ -9,16 +9,13 @@ power = 1 }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plating/airless, /area/ruin/space/has_grav/abandonedzoo) "ac" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, @@ -30,12 +27,9 @@ power = 1 }, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plating/airless, @@ -47,13 +41,10 @@ power = 1 }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plating/airless, /area/ruin/space/has_grav/abandonedzoo) @@ -64,7 +55,6 @@ power = 1 }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plating/airless, @@ -86,8 +76,6 @@ "ak" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -192,8 +180,6 @@ /area/ruin/space/has_grav/abandonedzoo) "aD" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/airlock/highsecurity{ @@ -211,30 +197,21 @@ power = 1 }, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plating, /area/ruin/space/has_grav/abandonedzoo) "aF" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/closed/wall/r_wall, @@ -242,8 +219,6 @@ "aG" = ( /obj/structure/table/reinforced, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/item/gun/energy/floragun, @@ -253,18 +228,17 @@ /area/ruin/space/has_grav/abandonedzoo) "aH" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/darkgreen, /area/ruin/space/has_grav/abandonedzoo) "aI" = ( /obj/structure/table/reinforced, -/obj/machinery/computer/med_data/laptop, +/obj/machinery/computer/med_data/laptop{ + dir = 8; + pixel_y = 1 + }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel{ @@ -278,17 +252,12 @@ power = 1 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plating, @@ -306,8 +275,6 @@ /area/ruin/space/has_grav/abandonedzoo) "aM" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/closed/wall/r_wall, @@ -358,8 +325,7 @@ pixel_x = -24 }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/structure/rack, /obj/item/melee/baton/cattleprod, @@ -370,13 +336,9 @@ /area/ruin/space/has_grav/abandonedzoo) "aT" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/rack, @@ -463,8 +425,6 @@ /area/ruin/space/has_grav/abandonedzoo) "bc" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/darkgreen, @@ -472,8 +432,6 @@ "bd" = ( /obj/machinery/power/terminal, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/darkgreen, @@ -491,8 +449,6 @@ }, /obj/structure/cable, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel{ @@ -542,7 +498,9 @@ }, /area/ruin/space/has_grav/abandonedzoo) "bl" = ( -/obj/machinery/computer/operating, +/obj/machinery/computer/operating{ + dir = 8 + }, /turf/open/floor/plasteel{ icon_state = "dark" }, @@ -568,19 +526,13 @@ power = 1 }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plating, @@ -606,8 +558,6 @@ /obj/structure/table/reinforced, /obj/machinery/microwave, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel{ @@ -616,17 +566,12 @@ /area/ruin/space/has_grav/abandonedzoo) "bs" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/shieldwallgen, @@ -634,7 +579,6 @@ /area/ruin/space/has_grav/abandonedzoo) "bt" = ( /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/shieldwallgen, @@ -660,16 +604,14 @@ /area/ruin/space/has_grav/abandonedzoo) "by" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/closed/wall/r_wall, /area/ruin/space/has_grav/abandonedzoo) "bz" = ( /obj/machinery/space_heater, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/light{ dir = 8 @@ -764,8 +706,6 @@ power = 1 }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable, @@ -780,8 +720,6 @@ /area/space) "bS" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable, diff --git a/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm b/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm index da3185effc..a9c0a2e62f 100644 --- a/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm +++ b/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm @@ -59,8 +59,6 @@ /area/ruin/space/has_grav/derelictoutpost/cargobay) "an" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel, @@ -73,7 +71,6 @@ pixel_x = 24 }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plasteel, @@ -107,8 +104,6 @@ /area/ruin/space/has_grav/derelictoutpost/dockedship) "au" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -301,8 +296,7 @@ "bb" = ( /obj/machinery/power/smes, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/derelictoutpost/powerstorage) @@ -310,13 +304,9 @@ /obj/structure/table, /obj/item/stock_parts/cell/hyper, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel, @@ -324,7 +314,6 @@ "bd" = ( /obj/machinery/power/smes, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plasteel, @@ -467,8 +456,6 @@ /area/ruin/space/has_grav/derelictoutpost/powerstorage) "bs" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -610,7 +597,9 @@ /turf/open/floor/mineral/titanium/blue, /area/ruin/space/has_grav/derelictoutpost/dockedship) "bM" = ( -/obj/machinery/computer, +/obj/machinery/computer{ + dir = 1 + }, /turf/open/floor/mineral/titanium/blue, /area/ruin/space/has_grav/derelictoutpost/dockedship) "bN" = ( @@ -736,13 +725,9 @@ /area/ruin/space/has_grav/derelictoutpost/powerstorage) "bZ" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel, @@ -756,7 +741,6 @@ pixel_y = 2 }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plasteel, @@ -790,8 +774,6 @@ name = "gelatinous floor" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -837,8 +819,6 @@ /area/ruin/space/has_grav/derelictoutpost) "cj" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel, @@ -851,7 +831,6 @@ pixel_y = -24 }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plasteel, @@ -892,8 +871,6 @@ /area/ruin/space/has_grav/derelictoutpost/powerstorage) "cp" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel, @@ -901,8 +878,6 @@ "cq" = ( /obj/structure/barricade/wooden, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, @@ -914,24 +889,18 @@ }, /obj/structure/barricade/wooden, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/derelictoutpost/powerstorage) "cs" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/derelictoutpost/cargobay) "ct" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel, @@ -963,13 +932,9 @@ name = "gelatinous floor" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel, @@ -981,8 +946,6 @@ name = "gelatinous floor" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, @@ -994,8 +957,6 @@ name = "checkpoint security doors" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/firedoor, @@ -1003,8 +964,6 @@ /area/ruin/space/has_grav/derelictoutpost) "cz" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, @@ -1016,16 +975,12 @@ name = "gelatinous floor" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/derelictoutpost) "cB" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel, @@ -1104,16 +1059,12 @@ opened = 1 }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/derelictoutpost/cargobay) "cI" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/janitorialcart, @@ -1126,8 +1077,6 @@ name = "gelatinous floor" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/item/mop, @@ -1145,8 +1094,6 @@ name = "gelatinous floor" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, @@ -1163,8 +1110,6 @@ name = "gelatinous floor" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, @@ -1177,8 +1122,6 @@ }, /obj/structure/glowshroom/single, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, @@ -1190,13 +1133,9 @@ name = "gelatinous floor" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -1356,8 +1295,6 @@ }, /obj/machinery/light, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel, @@ -1374,8 +1311,6 @@ name = "gelatinous floor" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, @@ -1397,8 +1332,6 @@ name = "pried-open airlock" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, @@ -1418,8 +1351,6 @@ name = "gelatinous floor" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plating, @@ -1515,8 +1446,6 @@ name = "gelatinous floor" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -1639,8 +1568,6 @@ name = "gelatinous floor" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -1725,8 +1652,6 @@ name = "gelatinous floor" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -1777,8 +1702,6 @@ dir = 9 }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -1947,8 +1870,6 @@ name = "dried blood trail" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -2012,9 +1933,7 @@ pixel_x = 24 }, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/derelictoutpost/cargostorage) @@ -2072,8 +1991,6 @@ /area/ruin/space/has_grav/derelictoutpost/cargostorage) "eu" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -2120,8 +2037,6 @@ dir = 5 }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -2186,8 +2101,6 @@ dir = 10 }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel, @@ -2204,8 +2117,6 @@ dir = 4 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, @@ -2217,8 +2128,6 @@ dir = 6 }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plating, diff --git a/_maps/RandomRuins/SpaceRuins/bus.dmm b/_maps/RandomRuins/SpaceRuins/bus.dmm index 701e8247e2..9d25a8024e 100644 --- a/_maps/RandomRuins/SpaceRuins/bus.dmm +++ b/_maps/RandomRuins/SpaceRuins/bus.dmm @@ -21,9 +21,7 @@ /turf/open/floor/plating/asteroid/airless, /area/ruin/unpowered/no_grav) "ag" = ( -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /obj/item/stock_parts/manipulator/femto, /turf/open/floor/plating/asteroid/airless, /area/ruin/unpowered/no_grav) @@ -333,9 +331,7 @@ }, /area/ruin/unpowered/no_grav) "bb" = ( -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, /turf/open/floor/plating/asteroid/airless, /area/ruin/unpowered/no_grav) diff --git a/_maps/RandomRuins/SpaceRuins/caravanambush.dmm b/_maps/RandomRuins/SpaceRuins/caravanambush.dmm index 58af9d4919..7cb1d23e7a 100644 --- a/_maps/RandomRuins/SpaceRuins/caravanambush.dmm +++ b/_maps/RandomRuins/SpaceRuins/caravanambush.dmm @@ -610,7 +610,9 @@ /turf/open/floor/mineral/titanium/blue/airless, /area/ruin/unpowered) "bZ" = ( -/obj/machinery/computer, +/obj/machinery/computer{ + dir = 8 + }, /turf/open/floor/mineral/titanium/blue/airless, /area/ruin/unpowered) "ca" = ( @@ -1156,6 +1158,24 @@ }, /turf/open/floor/plating/asteroid/airless, /area/ruin/unpowered/no_grav) +"dA" = ( +/obj/machinery/computer{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/powered) +"dB" = ( +/obj/machinery/computer{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/ruin/powered) +"dC" = ( +/obj/machinery/computer{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/ruin/powered) (1,1,1) = {" aa @@ -1847,7 +1867,7 @@ aa aa ab ce -cf +dB ce ab aa @@ -4269,7 +4289,7 @@ ab ay aG aM -ay +dA ab aa aa @@ -4486,7 +4506,7 @@ aa aa ab ce -cf +dC ce ab aa diff --git a/_maps/RandomRuins/SpaceRuins/crashedship.dmm b/_maps/RandomRuins/SpaceRuins/crashedship.dmm index 4f118ee7fe..14cd4bc75c 100644 --- a/_maps/RandomRuins/SpaceRuins/crashedship.dmm +++ b/_maps/RandomRuins/SpaceRuins/crashedship.dmm @@ -110,8 +110,6 @@ /area/awaymission/BMPship/Midship) "ay" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plating/airless, @@ -119,16 +117,15 @@ "az" = ( /obj/structure/table/optable, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating/airless, /area/awaymission/BMPship/Midship) "aA" = ( -/obj/machinery/computer/operating, +/obj/machinery/computer/operating{ + dir = 8 + }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plating/airless, @@ -202,8 +199,6 @@ /area/awaymission/BMPship/Midship) "aL" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating/airless, @@ -296,8 +291,6 @@ /area/awaymission/BMPship/Midship) "bc" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/item/clothing/glasses/regular/hipster, @@ -305,8 +298,6 @@ /area/awaymission/BMPship/Midship) "bd" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating/airless, @@ -314,16 +305,12 @@ "be" = ( /obj/machinery/door/unpowered/shuttle, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating/airless, /area/awaymission/BMPship/Midship) "bf" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/turf_decal/stripes/line{ @@ -333,8 +320,6 @@ /area/awaymission/BMPship/Aft) "bg" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plating, @@ -387,8 +372,6 @@ /area/awaymission/BMPship/Fore) "br" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -461,16 +444,12 @@ /area/awaymission/BMPship/Midship) "bD" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plating, /area/awaymission/BMPship/Aft) "bE" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/item/hand_labeler, @@ -478,16 +457,12 @@ /area/awaymission/BMPship/Aft) "bF" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, /area/awaymission/BMPship/Aft) "bG" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/item/storage/box, @@ -583,8 +558,6 @@ /area/awaymission/BMPship/Aft) "bT" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/turf_decal/stripes/line{ @@ -603,8 +576,7 @@ /area/awaymission/BMPship/Fore) "bW" = ( /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/machinery/power/apc{ dir = 1; @@ -718,8 +690,6 @@ /area/awaymission/BMPship/Midship) "cn" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/door/poddoor/shutters{ @@ -729,8 +699,6 @@ /area/awaymission/BMPship/Aft) "co" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/carpet, @@ -792,8 +760,6 @@ /area/awaymission/BMPship/Aft) "cD" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -809,16 +775,12 @@ /area/awaymission/BMPship/Fore) "cH" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/carpet, /area/awaymission/BMPship/Fore) "cI" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/carpet, @@ -838,9 +800,7 @@ "cM" = ( /obj/structure/window/reinforced, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plasteel/barber, /area/awaymission/BMPship/Midship) @@ -861,9 +821,7 @@ /area/awaymission/BMPship/Midship) "cQ" = ( /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plasteel/showroomfloor, /area/awaymission/BMPship/Aft) @@ -895,9 +853,7 @@ /area/awaymission/BMPship/Aft) "cW" = ( /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /obj/machinery/power/apc{ dir = 1; @@ -933,8 +889,6 @@ /area/awaymission/BMPship/Fore) "db" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/carpet, @@ -961,37 +915,27 @@ /area/awaymission/BMPship/Midship) "dg" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/bar, /area/awaymission/BMPship/Midship) "dh" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/bar, /area/awaymission/BMPship/Midship) "di" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/bar, /area/awaymission/BMPship/Midship) "dj" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/showroomfloor, @@ -1001,55 +945,39 @@ /area/awaymission/BMPship/Aft) "dl" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel, /area/awaymission/BMPship/Aft) "dm" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, /area/awaymission/BMPship/Aft) "dn" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plating, /area/awaymission/BMPship/Aft) "do" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plating, /area/awaymission/BMPship/Aft) "dp" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/machinery/light/small{ @@ -1093,8 +1021,6 @@ dir = 4 }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/carpet, @@ -1107,24 +1033,18 @@ /area/awaymission/BMPship/Midship) "dx" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel/bar, /area/awaymission/BMPship/Midship) "dy" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/bar, /area/awaymission/BMPship/Midship) "dz" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/bar, @@ -1155,16 +1075,12 @@ /area/awaymission/BMPship/Aft) "dE" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, /area/awaymission/BMPship/Aft) "dF" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/turf_decal/stripes/line{ @@ -1184,13 +1100,9 @@ /area/awaymission/BMPship/Fore) "dI" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/carpet, @@ -1198,16 +1110,12 @@ "dJ" = ( /obj/machinery/door/airlock/silver, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/carpet, /area/awaymission/BMPship/Fore) "dK" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel/bar, @@ -1215,28 +1123,22 @@ "dL" = ( /obj/machinery/shieldwallgen, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plating, /area/awaymission/BMPship/Midship) "dM" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/bar, /area/awaymission/BMPship/Midship) "dN" = ( /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/machinery/power/apc{ dir = 1; @@ -1286,16 +1188,13 @@ dir = 4 }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/bar, /area/awaymission/BMPship/Midship) "dU" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/bar, /area/awaymission/BMPship/Midship) @@ -1333,8 +1232,6 @@ /area/awaymission/BMPship/Aft) "dZ" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/hydrofloor, @@ -1345,20 +1242,17 @@ name = "power storage unit" }, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/structure/cable, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plating, /area/awaymission/BMPship/Aft) "eb" = ( /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/machinery/power/terminal{ dir = 8 @@ -1367,13 +1261,9 @@ /area/awaymission/BMPship/Aft) "ec" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/effect/turf_decal/stripes/line{ @@ -1428,8 +1318,7 @@ /area/awaymission/BMPship/Midship) "em" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/bar, /area/awaymission/BMPship/Midship) @@ -1450,8 +1339,6 @@ /area/awaymission/BMPship/Aft) "ep" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ @@ -1491,8 +1378,6 @@ /area/awaymission/BMPship/Aft) "eu" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/turf_decal/stripes/line{ @@ -1502,24 +1387,18 @@ /area/awaymission/BMPship/Aft) "ev" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/carpet, /area/awaymission/BMPship/Fore) "ew" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/carpet, /area/awaymission/BMPship/Fore) "ex" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/carpet, @@ -1531,39 +1410,27 @@ /area/awaymission/BMPship/Midship) "ez" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel/bar, /area/awaymission/BMPship/Midship) "eA" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel/bar, /area/awaymission/BMPship/Midship) "eB" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel/bar, @@ -1634,34 +1501,24 @@ /area/awaymission/BMPship/Midship) "eM" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel/bar, /area/awaymission/BMPship/Midship) "eN" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/showroomfloor, /area/awaymission/BMPship/Aft) "eO" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/showroomfloor, @@ -1684,8 +1541,6 @@ /area/awaymission/BMPship/Aft) "eR" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/effect/turf_decal/stripes/line{ @@ -1715,8 +1570,7 @@ /area/awaymission/BMPship/Midship) "eW" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/bar, /area/awaymission/BMPship/Midship) @@ -1739,8 +1593,6 @@ /area/awaymission/BMPship/Aft) "fa" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/item/stock_parts/cell/high, @@ -1756,8 +1608,6 @@ /area/awaymission/BMPship/Fore) "fd" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/door/unpowered/shuttle, @@ -1809,8 +1659,7 @@ /area/awaymission/BMPship/Midship) "fl" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/bar, /area/awaymission/BMPship/Midship) @@ -1870,8 +1719,6 @@ /area/awaymission/BMPship/Fore) "fw" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plating/airless, @@ -1881,16 +1728,12 @@ icon_state = "small" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating/airless, /area/awaymission/BMPship/Fore) "fy" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating/airless{ @@ -1899,8 +1742,6 @@ /area/awaymission/BMPship/Fore) "fz" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plating/airless{ @@ -1909,8 +1750,6 @@ /area/awaymission/BMPship/Fore) "fA" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/item/kitchen/knife, @@ -1924,24 +1763,18 @@ /area/awaymission/BMPship/Midship) "fC" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel/showroomfloor, /area/awaymission/BMPship/Aft) "fD" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/showroomfloor, /area/awaymission/BMPship/Aft) "fE" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/showroomfloor, @@ -1986,16 +1819,12 @@ /area/awaymission/BMPship/Fore) "fM" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating/airless, /area/awaymission/BMPship/Fore) "fN" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel/bar, @@ -2015,8 +1844,6 @@ /area/awaymission/BMPship/Aft) "fR" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -2026,7 +1853,8 @@ /area/awaymission/BMPship) "fT" = ( /obj/structure/frame/computer{ - anchored = 1 + anchored = 1; + dir = 1 }, /turf/open/floor/plating/airless{ icon_state = "panelscorched" @@ -2034,7 +1862,8 @@ /area/awaymission/BMPship/Fore) "fU" = ( /obj/structure/frame/computer{ - anchored = 1 + anchored = 1; + dir = 1 }, /turf/open/floor/plating/airless{ icon_state = "platingdmg1" @@ -2065,8 +1894,6 @@ locked = 1 }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -2074,8 +1901,6 @@ "ga" = ( /obj/machinery/door/unpowered/shuttle, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -2091,8 +1916,6 @@ /area/awaymission/BMPship) "gd" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/door/airlock/silver, @@ -2216,41 +2039,30 @@ "gA" = ( /obj/effect/decal/remains/human, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, /area/awaymission/BMPship/Aft) "gB" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, /area/awaymission/BMPship/Aft) "gC" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel, /area/awaymission/BMPship/Aft) "gD" = ( /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/item/wallframe/apc, @@ -2309,8 +2121,6 @@ /obj/item/bedsheet, /obj/item/storage/wallet/random, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -2340,15 +2150,12 @@ /area/awaymission/BMPship/Midship) "gU" = ( /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plating/airless, /area/awaymission/BMPship/Midship) "gV" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating/airless, @@ -2356,24 +2163,18 @@ "gW" = ( /obj/machinery/door/unpowered/shuttle, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/closed/wall/mineral/titanium/interior, /area/awaymission/BMPship/Midship) "gX" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, /area/awaymission/BMPship/Aft) "gY" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel, @@ -2505,6 +2306,13 @@ "hw" = ( /turf/closed/mineral/clown, /area/awaymission/BMPship) +"hx" = ( +/obj/structure/frame/computer{ + anchored = 1; + dir = 4 + }, +/turf/open/floor/carpet, +/area/awaymission/BMPship/Fore) (1,1,1) = {" aa @@ -2883,7 +2691,7 @@ aa cF aT bV -da +hx ee ee bV @@ -2931,7 +2739,7 @@ aa aa aa aI -cG +aH bV bV dH @@ -3041,12 +2849,12 @@ eg bV bV bV -fc +bI fv fJ aH aH -gk +aQ gF gR aH @@ -3238,10 +3046,10 @@ bJ bV bV cI -db +co dv dI -db +co ex bV eU @@ -3342,7 +3150,7 @@ ce ce ce dw -dy +dh ce ce ce @@ -3443,7 +3251,7 @@ bZ bZ bZ dc -dy +dh dB dB dB @@ -3494,7 +3302,7 @@ ca cq cq dd -dy +dh dB eh eh @@ -3545,7 +3353,7 @@ cb cq cJ dd -dy +dh dB eh ey @@ -3596,7 +3404,7 @@ cc cq cq de -dy +dh dB eh ej @@ -3647,7 +3455,7 @@ ca cr cq dd -dy +dh dB ei ei @@ -3698,7 +3506,7 @@ cd cd cd df -dy +dh dL ej ej @@ -3803,7 +3611,7 @@ ce ce ce ek -dy +dh ce ce fg @@ -3905,7 +3713,7 @@ ce ce ce ce -dy +dh ce ce ce @@ -4012,7 +3820,7 @@ ce ce fh ce -dy +dh ce fm at @@ -4063,7 +3871,7 @@ ce dA fi fB -dy +dh ce fm gt @@ -4114,7 +3922,7 @@ eL dB fj dB -dy +dh ce fm gs @@ -4165,7 +3973,7 @@ ce dB fk dB -dy +dh fV fm gu @@ -4216,7 +4024,7 @@ ce dB fk dB -dy +dh ce fm at @@ -4267,7 +4075,7 @@ ce dB fk dB -dy +dh ce fm gs @@ -4527,7 +4335,7 @@ ce fm gy at -gV +bd at hi fm @@ -4629,11 +4437,11 @@ ac cE gz gg -gX +gB cE hj ad -ho +af aj hu dk @@ -4680,7 +4488,7 @@ ac cE cE cE -gX +gB cE hk ad @@ -4725,13 +4533,13 @@ eD eD eq fn -fD +eN cw fY cE al cE -gX +gB hb cE ad @@ -4776,13 +4584,13 @@ al er eY fo -fD +eN cw ac cE cE gN -gX +gB hc al ad @@ -4827,13 +4635,13 @@ eE al al fo -fD +eN cw ac gf cE cE -gX +gB cE cE ad @@ -4890,7 +4698,7 @@ cE fY al hs -ht +ad ae aa aa @@ -4940,7 +4748,7 @@ cE cE ad hr -ht +ad ae aa aa @@ -5126,17 +4934,17 @@ cn cD cD dl -dE +cD dZ dZ -dE -dE +cD +cD fa dZ -dE -fR +cD +br ga -dE +cD gC cE ad @@ -5176,7 +4984,7 @@ bU ad cE cC -dm +bF al al al @@ -5332,7 +5140,7 @@ cX dp dF ec -eu +dF dF eR cX diff --git a/_maps/RandomRuins/SpaceRuins/deepstorage.dmm b/_maps/RandomRuins/SpaceRuins/deepstorage.dmm index cfc78c0dbf..c0ac57a89c 100644 --- a/_maps/RandomRuins/SpaceRuins/deepstorage.dmm +++ b/_maps/RandomRuins/SpaceRuins/deepstorage.dmm @@ -200,8 +200,6 @@ /area/ruin/space/has_grav/deepstorage/crusher) "aC" = ( /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plating{ @@ -210,8 +208,6 @@ /area/ruin/space/has_grav/deepstorage/crusher) "aD" = ( /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating{ @@ -220,7 +216,6 @@ /area/ruin/space/has_grav/deepstorage/crusher) "aE" = ( /obj/structure/cable/yellow{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/power/apc{ @@ -299,55 +294,35 @@ /area/ruin/space/has_grav/deepstorage/storage) "aK" = ( /obj/structure/closet/cardboard, -/obj/item/stack/sheet/metal{ - amount = 50; +/obj/item/stack/sheet/metal/fifty{ pixel_x = 2; pixel_y = 2 }, -/obj/item/stack/sheet/metal{ - amount = 50; +/obj/item/stack/sheet/metal/fifty{ pixel_x = 2; pixel_y = 2 }, -/obj/item/stack/sheet/metal{ - amount = 50; +/obj/item/stack/sheet/metal/fifty{ pixel_x = 2; pixel_y = 2 }, -/obj/item/stack/sheet/metal{ - amount = 50; +/obj/item/stack/sheet/metal/fifty{ pixel_x = 2; pixel_y = 2 }, -/obj/item/stack/rods{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, +/obj/item/stack/rods/fifty, +/obj/item/stack/rods/fifty, +/obj/item/stack/rods/fifty, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/deepstorage/storage) "aL" = ( /obj/structure/closet/cardboard, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/item/stack/sheet/plasteel{ amount = 10 }, @@ -389,8 +364,6 @@ req_access_txt = "200" }, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/floorgrime{ @@ -566,8 +539,6 @@ /area/ruin/space/has_grav/deepstorage/kitchen) "be" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -752,8 +723,6 @@ /area/ruin/space/has_grav/deepstorage/kitchen) "by" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/light{ @@ -838,8 +807,6 @@ "bJ" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel/cafeteria{ @@ -851,8 +818,6 @@ dir = 6 }, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/cafeteria{ @@ -864,8 +829,6 @@ dir = 4 }, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/cafeteria{ @@ -877,8 +840,6 @@ dir = 9 }, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/cafeteria{ @@ -887,7 +848,6 @@ /area/ruin/space/has_grav/deepstorage/kitchen) "bN" = ( /obj/structure/cable/yellow{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/power/apc{ @@ -908,8 +868,6 @@ /area/ruin/space/has_grav/deepstorage/kitchen) "bP" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/firealarm{ @@ -1001,8 +959,6 @@ "bY" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/door/firedoor, @@ -1022,13 +978,9 @@ /area/ruin/space/has_grav/deepstorage/kitchen) "ca" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, @@ -1039,8 +991,6 @@ "cb" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -1049,8 +999,6 @@ /area/ruin/space/has_grav/deepstorage) "cc" = ( /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/firedoor, @@ -1062,8 +1010,6 @@ "cd" = ( /obj/structure/table, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/hydrofloor{ @@ -1072,8 +1018,6 @@ /area/ruin/space/has_grav/deepstorage/hydroponics) "ce" = ( /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/hydrofloor{ @@ -1082,8 +1026,6 @@ /area/ruin/space/has_grav/deepstorage/hydroponics) "cf" = ( /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, @@ -1093,7 +1035,6 @@ /area/ruin/space/has_grav/deepstorage/hydroponics) "cg" = ( /obj/structure/cable/yellow{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/power/apc/highcap/five_k{ @@ -1179,8 +1120,6 @@ }, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/bar{ @@ -1231,8 +1170,6 @@ /area/ruin/space/has_grav/deepstorage) "ct" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ @@ -1333,8 +1270,6 @@ dir = 5 }, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel/floorgrime{ @@ -1350,8 +1285,6 @@ dir = 4 }, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -1364,8 +1297,6 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -1410,8 +1341,6 @@ "cK" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/bar{ @@ -1455,8 +1384,6 @@ "cP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/floorgrime{ @@ -1477,8 +1404,6 @@ "cR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/computer/arcade, @@ -1513,8 +1438,6 @@ dir = 4 }, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/bar{ @@ -1555,7 +1478,6 @@ /area/ruin/space/has_grav/deepstorage) "da" = ( /obj/structure/cable/yellow{ - d2 = 2; icon_state = "0-2" }, /obj/machinery/door/firedoor, @@ -1625,9 +1547,7 @@ "dh" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, /obj/structure/cable/yellow{ - icon_state = "1-4"; - d1 = 1; - d2 = 4 + icon_state = "1-4" }, /obj/machinery/computer/arcade, /turf/open/floor/plasteel/floorgrime{ @@ -1639,8 +1559,6 @@ dir = 4 }, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/chair/stool, @@ -1654,13 +1572,9 @@ dir = 4 }, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel/floorgrime{ @@ -1672,8 +1586,6 @@ dir = 10 }, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -1682,13 +1594,9 @@ /area/ruin/space/has_grav/deepstorage) "dl" = ( /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel/floorgrime{ @@ -1697,8 +1605,6 @@ /area/ruin/space/has_grav/deepstorage) "dm" = ( /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -1708,13 +1614,9 @@ "dn" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -1749,13 +1651,9 @@ "dr" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel/floorgrime{ @@ -1764,12 +1662,9 @@ /area/ruin/space/has_grav/deepstorage) "ds" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable/yellow{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/door/firedoor, @@ -1791,14 +1686,11 @@ /area/ruin/space/has_grav/deepstorage/armory) "dv" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50; +/obj/item/stack/sheet/metal/fifty{ pixel_x = 2; pixel_y = 2 }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, /obj/machinery/firealarm{ @@ -1880,8 +1772,6 @@ "dC" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/light{ @@ -1904,8 +1794,6 @@ dir = 4 }, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/floorgrime{ @@ -1926,8 +1814,6 @@ }, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/floorgrime{ @@ -1969,8 +1855,6 @@ "dL" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/floorgrime{ @@ -2033,8 +1917,6 @@ dir = 6 }, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel/floorgrime{ @@ -2046,8 +1928,6 @@ dir = 4 }, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/firedoor, @@ -2061,8 +1941,6 @@ "dT" = ( /obj/machinery/atmospherics/pipe/manifold/supplymain/hidden, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -2095,9 +1973,7 @@ "dW" = ( /obj/machinery/atmospherics/pipe/manifold/supplymain/hidden, /obj/structure/cable/yellow{ - icon_state = "1-4"; - d1 = 1; - d2 = 4 + icon_state = "1-4" }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel/floorgrime{ @@ -2109,8 +1985,6 @@ dir = 4 }, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -2122,13 +1996,9 @@ dir = 1 }, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -2141,8 +2011,6 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -2152,8 +2020,6 @@ "ea" = ( /obj/machinery/atmospherics/pipe/manifold/supplymain/hidden, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -2165,8 +2031,6 @@ dir = 4 }, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/firedoor, @@ -2180,18 +2044,12 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel/floorgrime{ @@ -2201,8 +2059,6 @@ "ed" = ( /obj/machinery/atmospherics/pipe/manifold4w/supplymain/hidden, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -2218,8 +2074,6 @@ dir = 4 }, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/black{ @@ -2231,8 +2085,6 @@ dir = 10 }, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/black{ @@ -2241,8 +2093,6 @@ /area/ruin/space/has_grav/deepstorage/armory) "eg" = ( /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/black{ @@ -2255,7 +2105,6 @@ pixel_y = 5 }, /obj/structure/cable/yellow{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/power/apc/highcap/five_k{ @@ -2304,8 +2153,6 @@ "em" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/floorgrime{ @@ -2352,8 +2199,6 @@ }, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/floorgrime{ @@ -2369,13 +2214,9 @@ "et" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/machinery/light{ @@ -2387,12 +2228,9 @@ /area/ruin/space/has_grav/deepstorage) "eu" = ( /obj/structure/cable/yellow{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/cable/yellow{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/door/firedoor, @@ -2479,8 +2317,6 @@ dir = 4 }, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/floorgrime{ @@ -2574,14 +2410,10 @@ }, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable/yellow{ - icon_state = "1-4"; - d1 = 1; - d2 = 4 + icon_state = "1-4" }, /turf/open/floor/plasteel/floorgrime{ baseturf = /turf/open/floor/plating/asteroid/airless @@ -2593,8 +2425,6 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/firealarm{ @@ -2609,7 +2439,6 @@ dir = 10 }, /obj/structure/cable/yellow{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/power/apc{ @@ -2683,8 +2512,6 @@ "eQ" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/light{ @@ -2714,12 +2541,9 @@ id = "bunkershutter" }, /obj/structure/cable/yellow{ - d2 = 4; icon_state = "0-4" }, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/machinery/door/firedoor, @@ -2733,8 +2557,6 @@ dir = 8 }, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -2743,8 +2565,6 @@ /area/ruin/space/has_grav/deepstorage/airlock) "eV" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -2779,8 +2599,6 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/floorgrime{ @@ -2832,8 +2650,6 @@ "fe" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/extinguisher_cabinet{ @@ -2892,8 +2708,6 @@ "fl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/floorgrime{ @@ -3006,12 +2820,9 @@ "fx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable/yellow{ - d2 = 2; icon_state = "0-2" }, /obj/machinery/power/apc{ @@ -3124,6 +2935,7 @@ /area/ruin/space/has_grav/deepstorage/power) "fJ" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 8; frequency = 1441; input_tag = "o2_in_bunker"; name = "Oxygen Supply Control"; @@ -3246,8 +3058,6 @@ /area/ruin/space/has_grav/deepstorage) "fW" = ( /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ @@ -3259,8 +3069,6 @@ /area/ruin/space/has_grav/deepstorage/power) "fX" = ( /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ @@ -3278,8 +3086,6 @@ dir = 4 }, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ @@ -3294,8 +3100,6 @@ dir = 4 }, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -3374,14 +3178,10 @@ /area/ruin/space/has_grav/deepstorage/dorm) "gh" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable/yellow{ - icon_state = "1-4"; - d1 = 1; - d2 = 4 + icon_state = "1-4" }, /obj/machinery/light/small{ dir = 8 @@ -3398,7 +3198,6 @@ dir = 4 }, /obj/structure/cable/yellow{ - d2 = 4; icon_state = "0-4" }, /turf/open/floor/plating{ @@ -3408,8 +3207,6 @@ "gj" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -3470,9 +3267,7 @@ /area/ruin/space/has_grav/deepstorage/power) "gq" = ( /obj/structure/cable/yellow{ - icon_state = "1-4"; - d1 = 1; - d2 = 4 + icon_state = "1-4" }, /turf/open/floor/plating{ baseturf = /turf/open/floor/plating/asteroid/airless @@ -3481,7 +3276,6 @@ "gr" = ( /obj/machinery/power/smes/engineering, /obj/structure/cable/yellow{ - d2 = 8; icon_state = "0-8" }, /obj/structure/sign/electricshock{ @@ -3496,8 +3290,6 @@ dir = 4 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -3507,13 +3299,9 @@ "gt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/floorgrime{ @@ -3584,8 +3372,6 @@ dir = 8 }, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/floorgrime{ @@ -3602,6 +3388,7 @@ /area/ruin/space/has_grav/deepstorage/power) "gC" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 8; frequency = 1441; input_tag = "n2_in_bunker"; name = "Nitrogen Supply Control"; @@ -3663,8 +3450,6 @@ dir = 8 }, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plating{ @@ -3673,13 +3458,9 @@ /area/ruin/space/has_grav/deepstorage/power) "gK" = ( /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating{ @@ -3692,8 +3473,6 @@ req_access_txt = "200" }, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating{ @@ -3703,8 +3482,6 @@ "gM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -3750,8 +3527,6 @@ "gR" = ( /obj/structure/grille, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating{ @@ -3761,13 +3536,9 @@ "gS" = ( /obj/structure/grille, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/machinery/door/firedoor, @@ -3823,8 +3594,6 @@ "gX" = ( /obj/machinery/power/rtg/advanced, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable/yellow, @@ -3924,8 +3693,6 @@ dir = 4 }, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/turf_decal/stripes/corner{ @@ -3940,8 +3707,6 @@ dir = 4 }, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/firealarm{ @@ -3962,8 +3727,6 @@ "hl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/firealarm{ @@ -4002,7 +3765,6 @@ "hp" = ( /obj/machinery/power/smes/engineering, /obj/structure/cable/yellow{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plating{ diff --git a/_maps/RandomRuins/SpaceRuins/listeningstation.dmm b/_maps/RandomRuins/SpaceRuins/listeningstation.dmm index ca01177965..8a0bb1663d 100644 --- a/_maps/RandomRuins/SpaceRuins/listeningstation.dmm +++ b/_maps/RandomRuins/SpaceRuins/listeningstation.dmm @@ -55,7 +55,9 @@ /turf/open/floor/plating/asteroid/airless, /area/ruin/unpowered/no_grav) "m" = ( -/obj/machinery/computer/message_monitor, +/obj/machinery/computer/message_monitor{ + dir = 4 + }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/powered/listeningstation) "n" = ( @@ -101,8 +103,7 @@ /area/ruin/space/has_grav/powered/listeningstation) "s" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/closed/mineral, /area/ruin/unpowered/no_grav) @@ -180,8 +181,7 @@ /area/ruin/space/has_grav/powered/listeningstation) "F" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/closed/mineral, /area/ruin/unpowered/no_grav) diff --git a/_maps/RandomRuins/SpaceRuins/mechtransport.dmm b/_maps/RandomRuins/SpaceRuins/mechtransport.dmm index c4a7c18c98..fc0a38f829 100644 --- a/_maps/RandomRuins/SpaceRuins/mechtransport.dmm +++ b/_maps/RandomRuins/SpaceRuins/mechtransport.dmm @@ -38,7 +38,9 @@ /turf/open/floor/mineral/titanium/blue, /area/ruin/space/has_grav/powered/mechtransport) "j" = ( -/obj/machinery/computer/shuttle, +/obj/machinery/computer/shuttle{ + dir = 8 + }, /turf/open/floor/mineral/titanium/blue, /area/ruin/space/has_grav/powered/mechtransport) "k" = ( @@ -146,7 +148,9 @@ /turf/template_noop, /area/template_noop) "J" = ( -/obj/machinery/computer/mecha, +/obj/machinery/computer/mecha{ + dir = 8 + }, /turf/open/floor/mineral/titanium/blue, /area/ruin/space/has_grav/powered/mechtransport) "K" = ( diff --git a/_maps/RandomRuins/SpaceRuins/oldAIsat.dmm b/_maps/RandomRuins/SpaceRuins/oldAIsat.dmm index dab408a8b1..069f27eb3e 100644 --- a/_maps/RandomRuins/SpaceRuins/oldAIsat.dmm +++ b/_maps/RandomRuins/SpaceRuins/oldAIsat.dmm @@ -50,8 +50,7 @@ pixel_y = 26 }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plating/airless, /area/tcommsat/chamber) @@ -60,8 +59,6 @@ dir = 1 }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plating/airless, @@ -107,8 +104,6 @@ /area/template_noop) "au" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating/airless, diff --git a/_maps/RandomRuins/SpaceRuins/oldstation.dmm b/_maps/RandomRuins/SpaceRuins/oldstation.dmm index ecbbb20daa..136184628d 100644 --- a/_maps/RandomRuins/SpaceRuins/oldstation.dmm +++ b/_maps/RandomRuins/SpaceRuins/oldstation.dmm @@ -15,8 +15,7 @@ "ae" = ( /obj/structure/closet/crate, /obj/item/stack/sheet/plasteel/twenty, -/obj/item/stack/sheet/glass{ - amount = 50; +/obj/item/stack/sheet/glass/fifty{ pixel_x = 3; pixel_y = 3 }, @@ -235,8 +234,7 @@ start_charge = 0 }, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation/comm) @@ -281,8 +279,6 @@ "aU" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -436,7 +432,7 @@ /area/ruin/space/has_grav/ancientstation/hivebot) "bq" = ( /turf/open/floor/plasteel/airless/floorgrime, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/betanorth) "br" = ( /turf/closed/wall/rust, /area/template_noop) @@ -475,8 +471,6 @@ "bx" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/door/airlock/maintenance_hatch, @@ -561,8 +555,6 @@ /area/ruin/space/has_grav/ancientstation) "bP" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/effect/decal/cleanable/dirt, @@ -574,8 +566,6 @@ "bQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel/floorgrime, @@ -714,8 +704,6 @@ /area/ruin/space/has_grav/ancientstation/powered) "cl" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -819,8 +807,6 @@ icon_state = "plant-25" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/effect/decal/cleanable/dirt, @@ -830,8 +816,6 @@ /area/ruin/space/has_grav/ancientstation/deltacorridor) "cA" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, @@ -842,8 +826,6 @@ /obj/machinery/door/firedoor, /obj/machinery/door/airlock/science, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, @@ -851,8 +833,6 @@ /area/ruin/space/has_grav/ancientstation/deltacorridor) "cC" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, @@ -861,8 +841,6 @@ /area/ruin/space/has_grav/ancientstation/deltacorridor) "cD" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, @@ -870,8 +848,6 @@ /area/ruin/space/has_grav/ancientstation/deltacorridor) "cE" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/effect/decal/cleanable/dirt, @@ -912,7 +888,7 @@ dir = 4 }, /turf/open/floor/plating/airless, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/betanorth) "cL" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ @@ -935,8 +911,6 @@ /area/ruin/space/has_grav/ancientstation) "cO" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -1002,8 +976,6 @@ /area/ruin/space/has_grav/ancientstation/deltacorridor) "cY" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -1085,11 +1057,11 @@ /turf/open/floor/plasteel/airless/white/side{ dir = 5 }, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/betanorth) "dj" = ( /obj/structure/sign/poster/official/nanomichi_ad, /turf/closed/wall/rust, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/betanorth) "dk" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ @@ -1102,8 +1074,6 @@ /area/ruin/space/has_grav/ancientstation/engi) "dm" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -1192,8 +1162,6 @@ /area/ruin/space/has_grav/ancientstation/sec) "dw" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -1252,7 +1220,7 @@ /turf/open/floor/plasteel/airless/white/side{ dir = 4 }, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/betanorth) "dE" = ( /obj/effect/spawner/structure/window/hollow/reinforced, /turf/open/floor/plating, @@ -1281,13 +1249,9 @@ "dK" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/template_noop, @@ -1295,7 +1259,6 @@ "dL" = ( /obj/machinery/power/solar, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plating/airless{ @@ -1351,8 +1314,7 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/table, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/machinery/power/apc{ dir = 8; @@ -1388,8 +1350,6 @@ /area/ruin/space/has_grav/ancientstation/sec) "dW" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -1456,7 +1416,7 @@ "eg" = ( /obj/machinery/portable_atmospherics/canister, /turf/open/floor/plating/airless, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/betanorth) "eh" = ( /turf/open/floor/plasteel/airless{ icon_state = "damaged2" @@ -1465,8 +1425,6 @@ "ei" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/template_noop, @@ -1552,8 +1510,6 @@ /area/ruin/space/has_grav/ancientstation/hydroponics) "et" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -1587,8 +1543,6 @@ /area/ruin/space/has_grav/ancientstation/sec) "ey" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -1624,11 +1578,8 @@ "eE" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50; +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty{ pixel_x = 3; pixel_y = 3 }, @@ -1644,17 +1595,16 @@ "eG" = ( /obj/item/circuitboard/machine/sleeper, /turf/open/floor/plasteel/airless/floorgrime, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/betanorth) "eH" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/airless/white/side{ dir = 4 }, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/betanorth) "eI" = ( /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/machinery/power/solar, /turf/open/floor/plating/airless{ @@ -1664,7 +1614,6 @@ /area/template_noop) "eJ" = ( /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plating/airless{ @@ -1710,8 +1659,6 @@ /area/ruin/space/has_grav/ancientstation/engi) "eO" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -1753,8 +1700,6 @@ /area/ruin/space/has_grav/ancientstation/hydroponics) "eU" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -1776,8 +1721,6 @@ "eW" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -1806,7 +1749,7 @@ /obj/item/solar_assembly, /obj/item/electronics/tracker, /turf/open/floor/plating/airless, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/betanorth) "fb" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end{ dir = 1 @@ -1825,8 +1768,7 @@ }, /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -1836,8 +1778,7 @@ charge = 0 }, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/floorgrime, @@ -1852,8 +1793,6 @@ "fg" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -1943,8 +1882,6 @@ /area/ruin/space/has_grav/ancientstation/sec) "ft" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -1992,7 +1929,7 @@ "fA" = ( /obj/effect/spawner/structure/window/hollow/reinforced, /turf/open/floor/plating/airless, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/betanorth) "fB" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end{ dir = 8 @@ -2012,8 +1949,6 @@ "fE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -2065,8 +2000,6 @@ /area/ruin/space/has_grav/ancientstation/sec) "fL" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -2102,8 +2035,7 @@ "fQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/machinery/power/apc{ dir = 1; @@ -2115,8 +2047,6 @@ /area/ruin/space/has_grav/ancientstation/deltacorridor) "fR" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -2164,35 +2094,31 @@ dir = 6 }, /turf/open/floor/plasteel/airless/floorgrime, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/betanorth) "fY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/airless/floorgrime, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/betanorth) "fZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless/floorgrime, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/betanorth) "ga" = ( /obj/machinery/atmospherics/pipe/simple/supply/visible{ dir = 4 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating/airless, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/betanorth) "gb" = ( /obj/structure/lattice/catwalk, /obj/item/stack/cable_coil{ @@ -2206,16 +2132,12 @@ "gc" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/supply/visible{ dir = 4 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/template_noop, @@ -2223,8 +2145,6 @@ "gd" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/visible{ @@ -2235,19 +2155,12 @@ "ge" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4"; - tag = "" + icon_state = "1-4" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/visible{ @@ -2258,13 +2171,9 @@ "gf" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/supply/visible{ @@ -2281,8 +2190,6 @@ }, /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/visible{ @@ -2293,8 +2200,6 @@ "gh" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/visible{ @@ -2305,14 +2210,10 @@ "gi" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/simple/supply/visible{ @@ -2323,13 +2224,9 @@ "gj" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/effect/decal/cleanable/dirt, @@ -2340,15 +2237,10 @@ /area/ruin/space/has_grav/ancientstation/engi) "gk" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4"; - tag = "" + icon_state = "1-4" }, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -2368,19 +2260,13 @@ /area/ruin/space/has_grav/ancientstation/engi) "gm" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, @@ -2389,12 +2275,10 @@ "gn" = ( /obj/effect/spawner/structure/window/hollow/reinforced, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -2406,18 +2290,12 @@ /area/ruin/space/has_grav/ancientstation/powered) "go" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, @@ -2428,8 +2306,6 @@ /area/ruin/space/has_grav/ancientstation) "gp" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, @@ -2438,8 +2314,6 @@ /area/ruin/space/has_grav/ancientstation) "gq" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/airlock/maintenance_hatch, @@ -2451,8 +2325,6 @@ /area/ruin/space/has_grav/ancientstation) "gr" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, @@ -2470,12 +2342,9 @@ start_charge = 0 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/atmospherics/pipe/simple/supply/visible{ @@ -2485,8 +2354,6 @@ /area/ruin/space/has_grav/ancientstation/hydroponics) "gt" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, @@ -2498,8 +2365,6 @@ /area/ruin/space/has_grav/ancientstation) "gu" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, @@ -2514,20 +2379,15 @@ start_charge = 0 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plating, /area/ruin/space/has_grav/ancientstation/kitchen) "gw" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, @@ -2540,8 +2400,6 @@ /area/ruin/space/has_grav/ancientstation) "gx" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/airlock/maintenance_hatch, @@ -2550,8 +2408,6 @@ /area/ruin/space/has_grav/ancientstation) "gy" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -2562,8 +2418,6 @@ /area/ruin/space/has_grav/ancientstation) "gz" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -2575,12 +2429,10 @@ "gA" = ( /obj/effect/spawner/structure/window/hollow/reinforced, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -2592,14 +2444,10 @@ /area/ruin/space/has_grav/ancientstation/sec) "gB" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -2610,8 +2458,6 @@ "gC" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -2622,8 +2468,6 @@ "gD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -2636,12 +2480,10 @@ "gE" = ( /obj/effect/spawner/structure/window/hollow/reinforced, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/machinery/atmospherics/pipe/simple/supply/visible{ dir = 4 @@ -2650,8 +2492,6 @@ /area/ruin/space/has_grav/ancientstation/sec) "gF" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/visible{ @@ -2662,8 +2502,6 @@ "gG" = ( /obj/effect/spawner/structure/window/hollow/reinforced, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/visible{ @@ -2674,8 +2512,6 @@ "gH" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/visible{ @@ -2686,13 +2522,9 @@ "gI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/machinery/atmospherics/pipe/simple/supply/visible{ @@ -2703,8 +2535,6 @@ "gJ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/airlock/maintenance_hatch, @@ -2715,18 +2545,12 @@ /area/ruin/space/has_grav/ancientstation/deltacorridor) "gK" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, @@ -2744,7 +2568,6 @@ start_charge = 0 }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -2754,14 +2577,11 @@ /area/ruin/space/has_grav/ancientstation/rnd) "gM" = ( /obj/structure/table, -/obj/item/stack/sheet/glass{ - amount = 50; +/obj/item/stack/sheet/glass/fifty{ pixel_x = 3; pixel_y = 3 }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/ancientstation/rnd) @@ -2819,11 +2639,11 @@ "gT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating/airless, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/betanorth) "gU" = ( /obj/item/stack/cable_coil, /turf/open/floor/plasteel/airless/floorgrime, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/betanorth) "gV" = ( /obj/effect/spawner/structure/window/hollow/reinforced/directional{ dir = 5 @@ -2833,16 +2653,12 @@ "gW" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/ancientstation/engi) "gX" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -2917,7 +2733,7 @@ "hj" = ( /obj/item/solar_assembly, /turf/open/floor/plating/airless, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/betanorth) "hk" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end, /turf/open/floor/plating, @@ -2925,8 +2741,6 @@ "hl" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/yellow/corner{ @@ -2952,8 +2766,6 @@ /area/ruin/space/has_grav/ancientstation/engi) "ho" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -2966,8 +2778,6 @@ "hq" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -3052,8 +2862,6 @@ "hC" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -3138,16 +2946,13 @@ /area/ruin/space/has_grav/ancientstation/deltacorridor) "hL" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating/airless, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/betanorth) "hM" = ( /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plating/airless{ tag = "icon-floor"; @@ -3157,8 +2962,6 @@ "hN" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/template_noop, @@ -3166,8 +2969,6 @@ "hO" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/light/small{ @@ -3189,8 +2990,6 @@ /area/ruin/space/has_grav/ancientstation/engi) "hQ" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -3284,16 +3083,12 @@ "ib" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4"; - tag = "" + icon_state = "1-4" }, /turf/template_noop, /area/template_noop) "ic" = ( /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plasteel/airless, @@ -3330,8 +3125,6 @@ /area/ruin/space/has_grav/ancientstation/engi) "ig" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -3341,8 +3134,6 @@ /area/ruin/space/has_grav/ancientstation/engi) "ih" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -3557,8 +3348,6 @@ /area/ruin/space/has_grav/ancientstation/sec) "iC" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -3729,7 +3518,7 @@ "iT" = ( /obj/structure/closet/crate, /turf/open/floor/plating/airless, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/atmo) "iU" = ( /obj/machinery/power/terminal{ dir = 4 @@ -3744,9 +3533,7 @@ name = "backup power storage unit" }, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -3821,12 +3608,10 @@ /area/ruin/space/has_grav/ancientstation/deltacorridor) "jh" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating/airless, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/atmo) "ji" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ @@ -3994,10 +3779,7 @@ /area/ruin/space/has_grav/ancientstation/engi) "jE" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4"; - tag = "" + icon_state = "1-4" }, /obj/effect/decal/cleanable/dirt, /obj/item/twohanded/required/kirbyplants{ @@ -4007,8 +3789,6 @@ /area/ruin/space/has_grav/ancientstation) "jF" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/effect/decal/cleanable/dirt, @@ -4035,18 +3815,13 @@ icon_state = "plant-25" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4"; - tag = "" + icon_state = "1-4" }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/ancientstation/deltacorridor) "jK" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, @@ -4056,8 +3831,6 @@ "jL" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, @@ -4065,8 +3838,6 @@ /area/ruin/space/has_grav/ancientstation/deltacorridor) "jM" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/effect/decal/cleanable/dirt, @@ -4083,8 +3854,6 @@ /area/ruin/space/has_grav/ancientstation/atmo) "jP" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating/airless, @@ -4128,8 +3897,6 @@ req_access_txt = "200" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/white/side, @@ -4205,16 +3972,13 @@ start_charge = 0 }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/ancientstation/proto) "kh" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel/white, @@ -4264,7 +4028,7 @@ dir = 1 }, /turf/open/floor/plating/airless, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/atmo) "kp" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -4367,7 +4131,7 @@ dir = 4 }, /turf/open/floor/plating/airless, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/atmo) "kC" = ( /obj/effect/decal/cleanable/dirt, /obj/item/solar_assembly, @@ -4392,6 +4156,7 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/computer{ desc = "A computer long since rendered non-functional due to lack of maintenance. Spitting out error messages."; + dir = 8; name = "Broken Computer" }, /turf/open/floor/plasteel/floorgrime, @@ -4581,6 +4346,7 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/computer{ desc = "A computer long since rendered non-functional due to lack of maintenance. Spitting out error messages."; + dir = 1; name = "Broken Computer" }, /turf/open/floor/plasteel/white, @@ -4606,7 +4372,7 @@ "lf" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end, /turf/open/floor/plating/airless, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/atmo) "lg" = ( /obj/item/solar_assembly, /obj/item/solar_assembly, @@ -4695,7 +4461,7 @@ /turf/open/floor/plasteel/airless/white/side{ dir = 4 }, -/area/template_noop) +/area/ruin/space/has_grav/ancientstation/betanorth) "lw" = ( /obj/item/stock_parts/matter_bin, /turf/open/floor/plating/airless, @@ -4904,6 +4670,130 @@ icon_state = "floor" }, /area/template_noop) +"me" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mf" = ( +/obj/structure/girder, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mg" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mh" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mi" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mj" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mk" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"ml" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mm" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mn" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mo" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mp" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mq" = ( +/obj/structure/girder, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mr" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"ms" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mt" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mu" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mv" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mw" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mx" = ( +/obj/structure/girder, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"my" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mz" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mA" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mB" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mC" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mD" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mE" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mF" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mG" = ( +/obj/structure/girder, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/ancientstation/betanorth) +"mH" = ( +/turf/closed/wall/rust, +/area/ruin/space/has_grav/ancientstation/atmo) +"mI" = ( +/turf/closed/wall/rust, +/area/ruin/space/has_grav/ancientstation/atmo) +"mJ" = ( +/turf/closed/wall/rust, +/area/ruin/space/has_grav/ancientstation/atmo) +"mK" = ( +/turf/closed/wall/rust, +/area/ruin/space/has_grav/ancientstation/atmo) +"mL" = ( +/turf/closed/wall/rust, +/area/ruin/space/has_grav/ancientstation/atmo) +"mM" = ( +/turf/closed/wall/rust, +/area/ruin/space/has_grav/ancientstation/atmo) +"mN" = ( +/turf/closed/wall/rust, +/area/ruin/space/has_grav/ancientstation/atmo) +"mO" = ( +/turf/closed/wall/rust, +/area/ruin/space/has_grav/ancientstation/atmo) +"mP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/computer{ + desc = "A computer long since rendered non-functional due to lack of maintenance. Spitting out error messages."; + dir = 1; + name = "Broken Computer" + }, +/turf/open/floor/plasteel/floorgrime, +/area/ruin/space/has_grav/ancientstation/sec) (1,1,1) = {" aa @@ -4918,15 +4808,15 @@ aa aa aa aa -bf -bf +me +me aA -bf -bf +me +me aa aA -bf -bf +me +me aa aa aa @@ -4936,9 +4826,9 @@ aa aa aa aa -bf +jO aA -bf +jO jO jO km @@ -4969,17 +4859,17 @@ aa aa aa aa -bf +me bq -br +bJ bH bH cK -bf +me bq bq eG -bf +me aA aA aA @@ -4989,8 +4879,8 @@ aA aA aA iT -bq -bq +km +km jP jY km @@ -4999,7 +4889,7 @@ jO kW km lk -br +mH aa aa aa @@ -5021,12 +4911,12 @@ aa aa aa aa -bg -br -br +mf +bJ +bJ bI bI -br +bJ di dD bq @@ -5040,18 +4930,18 @@ aa aa aa aa -br -bf -bq -br -br +mH +jO +km +mH +mH kn kA kL kX le -br -br +mH +mH aa aa aa @@ -5073,19 +4963,19 @@ aa aa aa aA -bf -bf -br +me +me +bJ bI bI -br +bJ dj -dE +bK ef -dE -br -bg -bf +bK +bJ +mf +me aa aA aa @@ -5094,15 +4984,15 @@ aa aa aa jh -bf +jO jQ -br +mH ko kB kB kB lf -br +mH aa aa aa @@ -5126,7 +5016,7 @@ aa aa aa aA -bf +me bw bI bI @@ -5139,15 +5029,15 @@ bq bq fX gT -bf +me aa aa aa aa aA -bq -bf -bf +km +jO +jO aa aa aa @@ -5179,7 +5069,7 @@ aa ac ac ac -br +bJ bI bI bI @@ -5191,16 +5081,16 @@ bq bq fY bq -bf +me hL aA aA aA aA -bq -bq -bf -bf +km +km +jO +jO aa aA aa @@ -5231,20 +5121,20 @@ ac az bh ac -br +bJ bJ ce bJ -br -br -br -br -br +bJ +bJ +bJ +bJ +bJ fA fY fA -br -bg +bJ +mf aa aA aa @@ -5283,14 +5173,14 @@ aa ac az ac -br +bJ bI bI cL -br -bf +bJ +me eg -bf +me bq bq fY @@ -5335,19 +5225,19 @@ aa aA ac aa -br +bJ bI cf bI -br -bf +bJ +me aA -bf +me fa -bf +me fZ gU -bf +me aA aA bf @@ -5387,19 +5277,19 @@ aa aa aa aa -br +bJ bK cg bK -br +bJ aA aA aa -bf -bf +me +me ga -bf -bf +me +me aa aA bf @@ -5443,8 +5333,8 @@ aa aa bd cM -br -bg +bJ +mf aa aa aa @@ -7372,7 +7262,7 @@ dU ev eu fr -fN +mP gC fN fr diff --git a/_maps/RandomRuins/SpaceRuins/oldteleporter.dmm b/_maps/RandomRuins/SpaceRuins/oldteleporter.dmm index 4c7526de80..5a4bd2492e 100644 --- a/_maps/RandomRuins/SpaceRuins/oldteleporter.dmm +++ b/_maps/RandomRuins/SpaceRuins/oldteleporter.dmm @@ -29,7 +29,9 @@ }, /area/ruin/space/oldteleporter) "h" = ( -/obj/machinery/computer/teleporter, +/obj/machinery/computer/teleporter{ + dir = 1 + }, /turf/open/floor/plasteel/airless, /area/ruin/space/oldteleporter) "i" = ( diff --git a/_maps/RandomRuins/SpaceRuins/onehalf.dmm b/_maps/RandomRuins/SpaceRuins/onehalf.dmm index a4beb6859c..f9e61815c4 100644 --- a/_maps/RandomRuins/SpaceRuins/onehalf.dmm +++ b/_maps/RandomRuins/SpaceRuins/onehalf.dmm @@ -4,8 +4,6 @@ /area/template_noop) "ab" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/lattice/catwalk, @@ -13,8 +11,6 @@ /area/template_noop) "ac" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/lattice/catwalk, @@ -22,8 +18,6 @@ /area/template_noop) "ad" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/lattice/catwalk, @@ -40,8 +34,6 @@ /area/template_noop) "af" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/lattice/catwalk, @@ -56,8 +48,6 @@ /area/ruin/space/has_grav/onehalf/dorms_med) "ai" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/lattice/catwalk, @@ -98,8 +88,6 @@ "aq" = ( /obj/machinery/door/airlock/external, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -189,8 +177,6 @@ /area/ruin/space/has_grav/onehalf/dorms_med) "aD" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/light/small{ @@ -233,15 +219,12 @@ /area/ruin/space/has_grav/onehalf/dorms_med) "aL" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/onehalf/dorms_med) "aM" = ( /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/structure/closet/crate/medical, @@ -302,8 +285,6 @@ /area/template_noop) "aT" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/airless{ @@ -318,8 +299,6 @@ "aV" = ( /obj/machinery/door/airlock/glass_medical, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/white, @@ -330,13 +309,9 @@ /area/ruin/space/has_grav/onehalf/dorms_med) "aX" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/turf_decal/stripes/line{ @@ -346,7 +321,6 @@ /area/ruin/space/has_grav/onehalf/drone_bay) "aY" = ( /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/power/apc{ @@ -452,7 +426,6 @@ /area/ruin/space/has_grav/onehalf/hallway) "bg" = ( /obj/structure/disposalpipe/broken{ - icon_state = "pipe-b"; dir = 4 }, /obj/item/stack/cable_coil/cut{ @@ -470,13 +443,9 @@ dir = 4 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel/airless{ @@ -488,8 +457,6 @@ dir = 4 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless{ @@ -501,25 +468,18 @@ dir = 4 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless, /area/ruin/space/has_grav/onehalf/hallway) "bk" = ( /obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; dir = 4 }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless{ @@ -531,25 +491,18 @@ dir = 4 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/airless, /area/ruin/space/has_grav/onehalf/hallway) "bm" = ( /obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; dir = 4 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless, @@ -560,8 +513,6 @@ }, /obj/machinery/door/airlock/glass, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, @@ -571,8 +522,6 @@ dir = 4 }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel, @@ -609,8 +558,7 @@ }, /area/ruin/space/has_grav/onehalf/drone_bay) "bt" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-y"; +/obj/structure/disposalpipe/junction/yjunction{ dir = 1 }, /turf/open/floor/plasteel{ @@ -626,7 +574,6 @@ /area/ruin/space/has_grav/onehalf/drone_bay) "bv" = ( /obj/structure/disposalpipe/broken{ - icon_state = "pipe-b"; dir = 4 }, /turf/open/floor/plating/airless{ @@ -692,8 +639,7 @@ /area/ruin/space/has_grav/onehalf/drone_bay) "bD" = ( /obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j1" + dir = 8 }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/onehalf/drone_bay) @@ -706,8 +652,7 @@ /area/ruin/space/has_grav/onehalf/drone_bay) "bF" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/onehalf/drone_bay) @@ -843,8 +788,7 @@ /area/ruin/space/has_grav/onehalf/bridge) "cf" = ( /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/machinery/power/apc{ dir = 1; @@ -855,8 +799,6 @@ /area/ruin/space/has_grav/onehalf/bridge) "cg" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/table/reinforced, @@ -868,7 +810,6 @@ /area/ruin/space/has_grav/onehalf/bridge) "ch" = ( /obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; dir = 1 }, /obj/item/shard, @@ -880,11 +821,9 @@ "ci" = ( /obj/structure/lattice, /obj/structure/disposalpipe/broken{ - icon_state = "pipe-b"; dir = 4 }, /obj/structure/disposalpipe/broken{ - icon_state = "pipe-b"; dir = 8 }, /obj/item/stack/rods, @@ -913,8 +852,7 @@ /area/ruin/space/has_grav/onehalf/bridge) "cl" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/table/reinforced, /obj/item/paper_bin{ @@ -939,13 +877,9 @@ /area/ruin/space/has_grav/onehalf/bridge) "cp" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/table/reinforced, @@ -955,16 +889,12 @@ "cq" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/door/poddoor/preopen{ @@ -1021,9 +951,7 @@ /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /obj/machinery/door/poddoor/preopen{ id = "bridge_onehalf"; @@ -1041,8 +969,6 @@ "cC" = ( /obj/structure/lattice, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/space, @@ -1050,11 +976,9 @@ "cD" = ( /obj/structure/lattice, /obj/structure/disposalpipe/broken{ - icon_state = "pipe-b"; dir = 8 }, /obj/structure/disposalpipe/broken{ - icon_state = "pipe-b"; dir = 1 }, /turf/template_noop, @@ -1129,8 +1053,6 @@ "cO" = ( /obj/structure/lattice, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/space, @@ -1169,8 +1091,7 @@ "cV" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/structure/cable, /obj/machinery/door/poddoor/preopen{ @@ -1181,13 +1102,9 @@ /area/ruin/space/has_grav/onehalf/bridge) "cW" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/lattice/catwalk, @@ -1195,8 +1112,6 @@ /area/template_noop) "cX" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/airless{ @@ -1227,8 +1142,6 @@ "dc" = ( /obj/structure/grille/broken, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating/airless{ @@ -1246,13 +1159,10 @@ "de" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/machinery/door/poddoor/preopen{ id = "bridge_onehalf"; @@ -1263,11 +1173,9 @@ "df" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/door/poddoor/preopen{ @@ -1279,12 +1187,9 @@ "dg" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/door/poddoor/preopen{ @@ -1300,8 +1205,6 @@ /area/template_noop) "di" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/item/shard{ @@ -1312,13 +1215,9 @@ /area/template_noop) "dj" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/item/stack/rods, @@ -1327,13 +1226,9 @@ /area/template_noop) "dk" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/lattice/catwalk, diff --git a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm index f577cbbf37..2df2e0bc8c 100644 --- a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm +++ b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm @@ -13,7 +13,6 @@ "ad" = ( /obj/machinery/power/solar, /obj/structure/cable/yellow{ - d2 = 2; icon_state = "0-2" }, /turf/open/floor/plating/airless, @@ -21,46 +20,33 @@ "ae" = ( /obj/machinery/power/solar, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable/yellow{ - d2 = 2; icon_state = "0-2" }, /turf/open/floor/plating/airless, /area/ruin/unpowered/no_grav) "af" = ( /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plating/airless, /area/ruin/unpowered/no_grav) "ag" = ( /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating/airless, /area/ruin/unpowered/no_grav) "ah" = ( /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plating/airless, @@ -68,15 +54,12 @@ "ai" = ( /obj/machinery/power/tracker, /obj/structure/cable/yellow{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plating/airless, /area/ruin/unpowered/no_grav) "aj" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating/airless, @@ -85,16 +68,12 @@ /obj/machinery/power/solar, /obj/structure/cable/yellow, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating/airless, /area/ruin/unpowered/no_grav) "al" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plating/airless, @@ -661,8 +640,7 @@ pixel_y = -24 }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/wood, /area/ruin/space/has_grav/hotel/guestroom{ @@ -670,8 +648,6 @@ }) "bO" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -724,8 +700,7 @@ pixel_y = -24 }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/wood, /area/ruin/space/has_grav/hotel/guestroom{ @@ -733,8 +708,6 @@ }) "bU" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -787,8 +760,7 @@ pixel_y = -24 }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/wood, /area/ruin/space/has_grav/hotel/guestroom{ @@ -796,8 +768,6 @@ }) "ca" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -850,8 +820,7 @@ pixel_y = -24 }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/wood, /area/ruin/space/has_grav/hotel/guestroom{ @@ -859,8 +828,6 @@ }) "cg" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -903,8 +870,6 @@ name = "Guest Room A3" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -924,8 +889,6 @@ name = "Guest Room A4" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -945,8 +908,6 @@ name = "Guest Room A5" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -966,8 +927,6 @@ name = "Guest Room A6" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -1014,8 +973,6 @@ /area/ruin/space/has_grav/hotel) "cy" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -1099,8 +1056,6 @@ /area/ruin/space/has_grav/hotel) "cI" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -1110,8 +1065,6 @@ /area/ruin/space/has_grav/hotel) "cJ" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -1125,8 +1078,6 @@ req_access_txt = "201" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -1136,8 +1087,6 @@ /area/ruin/space/has_grav/hotel) "cL" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -1147,18 +1096,12 @@ /area/ruin/space/has_grav/hotel) "cM" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, @@ -1166,8 +1109,6 @@ /area/ruin/space/has_grav/hotel) "cN" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -1178,8 +1119,6 @@ /area/ruin/space/has_grav/hotel) "cO" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -1189,8 +1128,6 @@ /area/ruin/space/has_grav/hotel) "cP" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -1200,8 +1137,6 @@ /area/ruin/space/has_grav/hotel) "cQ" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -1213,8 +1148,6 @@ /area/ruin/space/has_grav/hotel) "cS" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -1271,8 +1204,6 @@ name = "Guest Room A2" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -1297,8 +1228,6 @@ name = "Guest Room A1" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -1335,8 +1264,6 @@ name = "Hotel Staff Storage" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/door/firedoor, @@ -1381,8 +1308,7 @@ pixel_y = 25 }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/wood, /area/ruin/space/has_grav/hotel/guestroom{ @@ -1390,8 +1316,6 @@ }) "do" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -1462,8 +1386,7 @@ pixel_y = 25 }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/wood, /area/ruin/space/has_grav/hotel/guestroom{ @@ -1471,8 +1394,6 @@ }) "dw" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -1513,8 +1434,6 @@ /area/ruin/space/has_grav/hotel/workroom) "dB" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -1643,8 +1562,6 @@ /area/ruin/space/has_grav/hotel/workroom) "dW" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -1652,8 +1569,6 @@ /area/ruin/space/has_grav/hotel/workroom) "dX" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -1663,8 +1578,6 @@ /area/ruin/space/has_grav/hotel/workroom) "dY" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -1674,8 +1587,6 @@ /area/ruin/space/has_grav/hotel/workroom) "dZ" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -1799,8 +1710,6 @@ /area/ruin/space/has_grav/hotel/workroom) "eq" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -1914,13 +1823,9 @@ /area/ruin/space/has_grav/hotel) "eI" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -1928,16 +1833,12 @@ /area/ruin/space/has_grav/hotel) "eJ" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, /area/ruin/space/has_grav/hotel) "eK" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plating, @@ -2043,8 +1944,6 @@ "fd" = ( /obj/effect/decal/cleanable/cobweb, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -2054,8 +1953,6 @@ /area/ruin/space/has_grav/hotel) "fe" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -2411,8 +2308,6 @@ "gj" = ( /obj/effect/decal/cleanable/oil, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -2707,8 +2602,6 @@ /area/ruin/space/has_grav/hotel) "hf" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -2872,8 +2765,7 @@ pixel_y = -24 }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /mob/living/simple_animal/bot/medbot{ name = "Accidents Happen" @@ -2972,8 +2864,6 @@ /area/ruin/space/has_grav/hotel/dock) "hP" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -2983,13 +2873,9 @@ /area/ruin/space/has_grav/hotel) "hQ" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -2999,8 +2885,6 @@ /area/ruin/space/has_grav/hotel) "hR" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, @@ -3011,8 +2895,6 @@ icon_state = "cobweb2" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -3093,8 +2975,6 @@ req_access_txt = "200,201" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -3135,8 +3015,6 @@ /area/ruin/space/has_grav/hotel) "ik" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -3147,8 +3025,6 @@ "il" = ( /obj/machinery/door/airlock/glass, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/firedoor, @@ -3159,8 +3035,6 @@ /area/ruin/space/has_grav/hotel/dock) "im" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -3182,16 +3056,12 @@ /area/ruin/space/has_grav/hotel/dock) "ip" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plating/airless, /area/ruin/unpowered/no_grav) "iq" = ( /obj/structure/cable/yellow{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plating/airless, @@ -3208,13 +3078,9 @@ /area/ruin/space/has_grav/hotel/power) "it" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -3224,8 +3090,6 @@ /area/ruin/space/has_grav/hotel/power) "iu" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/sign/fire{ @@ -3240,8 +3104,6 @@ /area/ruin/space/has_grav/hotel/power) "iv" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/airalarm{ @@ -3258,7 +3120,6 @@ pixel_y = 25 }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plasteel/yellow/side{ @@ -3307,8 +3168,6 @@ /area/ruin/space/has_grav/hotel) "iE" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -3318,8 +3177,6 @@ /area/ruin/space/has_grav/hotel) "iF" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/carpet, @@ -3341,8 +3198,6 @@ /area/ruin/space/has_grav/hotel/power) "iI" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -3371,8 +3226,6 @@ /area/ruin/space/has_grav/hotel) "iN" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, @@ -3384,8 +3237,6 @@ /area/ruin/space/has_grav/hotel) "iP" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/wood, @@ -3423,12 +3274,9 @@ pixel_y = -24 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -3438,8 +3286,6 @@ /area/ruin/space/has_grav/hotel/security) "iV" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, @@ -3447,8 +3293,6 @@ /area/ruin/space/has_grav/hotel) "iW" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -3459,13 +3303,9 @@ /area/ruin/space/has_grav/hotel) "iX" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -3475,8 +3315,6 @@ /area/ruin/space/has_grav/hotel) "iY" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/airalarm{ @@ -3495,12 +3333,9 @@ pixel_y = -24 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -3510,8 +3345,6 @@ /area/ruin/space/has_grav/hotel/pool) "ja" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -3521,8 +3354,6 @@ /area/ruin/space/has_grav/hotel) "jb" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -3532,8 +3363,6 @@ /area/ruin/space/has_grav/hotel) "jc" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -3583,8 +3412,6 @@ /area/ruin/space/has_grav/hotel/power) "jj" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -3706,8 +3533,6 @@ /obj/item/stock_parts/cell/high, /obj/item/stock_parts/cell/high, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel/yellow/side{ @@ -3716,8 +3541,6 @@ /area/ruin/space/has_grav/hotel/power) "jB" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel, @@ -3859,8 +3682,6 @@ /area/ruin/space/has_grav/hotel/power) "kc" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ @@ -3873,28 +3694,22 @@ "kd" = ( /obj/machinery/power/terminal, /obj/structure/cable/yellow{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/hotel/power) "ke" = ( /obj/machinery/power/terminal, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable/yellow{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/hotel/power) "kf" = ( /obj/structure/cable/yellow{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/machinery/atmospherics/components/binary/valve{ @@ -3955,8 +3770,6 @@ "kq" = ( /obj/machinery/suit_storage_unit/standard_unit, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel/yellow/side{ @@ -3966,12 +3779,9 @@ "kr" = ( /obj/machinery/power/smes/engineering, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/structure/sign/electricshock{ @@ -3982,37 +3792,31 @@ "ks" = ( /obj/machinery/power/smes/engineering, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plasteel/yellow/side, /area/ruin/space/has_grav/hotel/power) "kt" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/yellow/side, /area/ruin/space/has_grav/hotel/power) "ku" = ( -/obj/machinery/power/solar_control, +/obj/machinery/power/solar_control{ + dir = 1 + }, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable/yellow{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plasteel/yellow/side, /area/ruin/space/has_grav/hotel/power) "kv" = ( /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/sign/vacuum{ @@ -4022,8 +3826,6 @@ /area/ruin/space/has_grav/hotel/power) "kw" = ( /obj/structure/cable/yellow{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/yellow/side{ @@ -4105,8 +3907,6 @@ "kJ" = ( /obj/machinery/door/airlock/glass_external, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -4218,8 +4018,6 @@ dir = 4 }, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -4398,8 +4196,6 @@ /area/ruin/unpowered/no_grav) "lD" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -4409,8 +4205,6 @@ /area/ruin/unpowered/no_grav) "lE" = ( /obj/structure/cable/yellow{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -4458,13 +4252,9 @@ /area/ruin/space/has_grav/hotel/pool) "lJ" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plating/airless, @@ -4530,38 +4320,28 @@ "lV" = ( /obj/machinery/power/solar, /obj/structure/cable/yellow{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plating/airless, /area/ruin/unpowered/no_grav) "lW" = ( /obj/machinery/power/solar, /obj/structure/cable/yellow{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating/airless, /area/ruin/unpowered/no_grav) "lX" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plating/airless, @@ -4569,12 +4349,9 @@ "lY" = ( /obj/machinery/power/solar, /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable/yellow{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plating/airless, @@ -4582,7 +4359,6 @@ "lZ" = ( /obj/machinery/power/solar, /obj/structure/cable/yellow{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plating/airless, @@ -4720,8 +4496,6 @@ /area/ruin/space/has_grav/hotel/custodial) "mw" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -4735,8 +4509,6 @@ req_access_txt = "200,201" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -4746,8 +4518,6 @@ /area/ruin/space/has_grav/hotel/custodial) "my" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, @@ -4847,8 +4617,6 @@ /area/ruin/unpowered/no_grav) "mP" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/black, @@ -4859,56 +4627,42 @@ req_access_txt = "200" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/black, /area/ruin/space/has_grav/hotel/workroom) "mR" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/carpet, /area/ruin/space/has_grav/hotel) "mS" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/carpet, /area/ruin/space/has_grav/hotel) "mT" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/carpet, /area/ruin/space/has_grav/hotel) "mU" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/carpet, /area/ruin/space/has_grav/hotel) "mV" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/carpet, @@ -7269,7 +7023,7 @@ hW ih ih fi -iX +hQ hf cQ cQ diff --git a/_maps/RandomRuins/SpaceRuins/whiteshipruin_box.dmm b/_maps/RandomRuins/SpaceRuins/whiteshipruin_box.dmm index 4644cf808a..6ab76976fb 100644 --- a/_maps/RandomRuins/SpaceRuins/whiteshipruin_box.dmm +++ b/_maps/RandomRuins/SpaceRuins/whiteshipruin_box.dmm @@ -52,6 +52,7 @@ /area/ruin/space/has_grav/whiteship/box) "ak" = ( /obj/machinery/computer/pod{ + dir = 8; id = "oldship_ruin_gun" }, /turf/open/floor/mineral/titanium, @@ -211,7 +212,9 @@ /turf/open/floor/mineral/titanium, /area/ruin/space/has_grav/whiteship/box) "aM" = ( -/obj/machinery/computer/shuttle/white_ship/ruin, +/obj/machinery/computer/shuttle/white_ship/ruin{ + dir = 8 + }, /turf/open/floor/mineral/titanium, /area/ruin/space/has_grav/whiteship/box) "aN" = ( diff --git a/_maps/RandomZLevels/Academy.dmm b/_maps/RandomZLevels/Academy.dmm index 9227ab0fd9..cb9e6c5ec8 100644 --- a/_maps/RandomZLevels/Academy.dmm +++ b/_maps/RandomZLevels/Academy.dmm @@ -42,9 +42,7 @@ /area/awaymission/academy/headmaster) "aj" = ( /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /obj/machinery/power/apc{ dir = 1; @@ -62,16 +60,12 @@ /area/awaymission/academy/headmaster) "al" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/carpet, /area/awaymission/academy/headmaster) "am" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/light/small, @@ -79,24 +73,18 @@ /area/awaymission/academy/headmaster) "an" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/carpet, /area/awaymission/academy/headmaster) "ao" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/carpet, /area/awaymission/academy/headmaster) "ap" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/carpet, @@ -116,8 +104,6 @@ /area/awaymission/academy/headmaster) "at" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/door/airlock/wood{ @@ -127,21 +113,15 @@ /area/awaymission/academy/headmaster) "au" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/carpet, /area/awaymission/academy/headmaster) "av" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/carpet, @@ -164,8 +144,6 @@ /area/awaymission/academy/headmaster) "az" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/item/stack/sheet/animalhide/monkey, @@ -173,7 +151,6 @@ /area/awaymission/academy/headmaster) "aA" = ( /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/light/small{ @@ -209,8 +186,6 @@ /area/space) "aH" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/light{ @@ -268,8 +243,6 @@ locked = 1 }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/carpet, @@ -283,8 +256,6 @@ /area/awaymission/academy/headmaster) "aU" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/wood, @@ -314,8 +285,6 @@ "ba" = ( /obj/structure/table/wood, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/item/pen/red, @@ -354,8 +323,6 @@ "bh" = ( /obj/structure/table/wood, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/item/dice/d20, @@ -376,8 +343,6 @@ dir = 1 }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/carpet, @@ -408,8 +373,6 @@ "bq" = ( /obj/machinery/door/airlock/gold, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/carpet, @@ -530,16 +493,12 @@ /area/awaymission/academy/headmaster) "bN" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel/black, /area/awaymission/academy/headmaster) "bO" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/vault{ @@ -548,8 +507,6 @@ /area/awaymission/academy/headmaster) "bP" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/black, @@ -557,8 +514,6 @@ "bQ" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/vault{ @@ -567,12 +522,9 @@ /area/awaymission/academy/headmaster) "bR" = ( /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, @@ -588,9 +540,7 @@ "bU" = ( /obj/machinery/autolathe, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plasteel, /area/awaymission/academy/classrooms) @@ -630,8 +580,6 @@ /area/awaymission/academy/headmaster) "ce" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/vault{ @@ -640,9 +588,7 @@ /area/awaymission/academy/headmaster) "cf" = ( /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -662,8 +608,6 @@ "ci" = ( /obj/structure/table, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/floorgrime, @@ -683,8 +627,6 @@ /area/awaymission/academy/headmaster) "cm" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/black, @@ -705,8 +647,6 @@ "cq" = ( /obj/structure/table, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/item/pen/red, @@ -744,8 +684,6 @@ dir = 4 }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -757,8 +695,6 @@ "cz" = ( /obj/structure/table, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/item/stack/cable_coil/random, @@ -784,21 +720,15 @@ /area/awaymission/academy/headmaster) "cE" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/carpet, /area/awaymission/academy/headmaster) "cF" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/airlock/plasma, @@ -806,8 +736,6 @@ /area/awaymission/academy/headmaster) "cG" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel/black, @@ -838,8 +766,6 @@ /area/awaymission/academy/headmaster) "cM" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -904,32 +830,24 @@ /area/awaymission/academy/headmaster) "cX" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel, /area/awaymission/academy/classrooms) "cY" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, /area/awaymission/academy/classrooms) "cZ" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/floorgrime, /area/awaymission/academy/classrooms) "da" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel, @@ -1002,9 +920,7 @@ "do" = ( /obj/machinery/mech_bay_recharge_port, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plating, /area/awaymission/academy/classrooms) @@ -1012,11 +928,11 @@ /turf/open/floor/mech_bay_recharge_floor, /area/awaymission/academy/classrooms) "dq" = ( -/obj/machinery/computer/mech_bay_power_console, +/obj/machinery/computer/mech_bay_power_console{ + dir = 1 + }, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/circuit/green, /area/awaymission/academy/classrooms) @@ -1061,8 +977,6 @@ /area/awaymission/academy/headmaster) "dz" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/reagent_dispensers/fueltank, @@ -1070,18 +984,12 @@ /area/awaymission/academy/classrooms) "dA" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/reagent_dispensers/fueltank, @@ -1089,13 +997,9 @@ /area/awaymission/academy/classrooms) "dB" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -1154,16 +1058,12 @@ /area/awaymission/academy/classrooms) "dN" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel, /area/awaymission/academy/classrooms) "dO" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/green/side{ @@ -1173,24 +1073,18 @@ "dP" = ( /obj/machinery/door/airlock/freezer, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/white, /area/awaymission/academy/classrooms) "dQ" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/white, /area/awaymission/academy/classrooms) "dR" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/white, @@ -1206,8 +1100,6 @@ "dU" = ( /obj/structure/mineral_door/iron, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -1230,8 +1122,6 @@ /area/awaymission/academy/classrooms) "dZ" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/white, @@ -1259,8 +1149,6 @@ /area/awaymission/academy/classrooms) "ef" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/yellow/side{ @@ -1292,8 +1180,7 @@ /area/awaymission/academy/classrooms) "ek" = ( /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/machinery/power/apc{ dir = 1; @@ -1310,8 +1197,6 @@ /area/awaymission/academy/classrooms) "em" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/carpet, @@ -1366,8 +1251,6 @@ /area/awaymission/academy/classrooms) "ew" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/grimy, @@ -1379,8 +1262,6 @@ "ey" = ( /obj/machinery/door/airlock/freezer, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/white, @@ -1438,8 +1319,6 @@ /area/awaymission/academy/classrooms) "eI" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/barber{ @@ -1474,8 +1353,6 @@ /area/awaymission/academy/classrooms) "eO" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/chapel{ @@ -1525,8 +1402,6 @@ /area/awaymission/academy/classrooms) "eX" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/chapel{ @@ -1567,37 +1442,27 @@ /area/awaymission/academy/classrooms) "fd" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/carpet, /area/awaymission/academy/classrooms) "fe" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/carpet, /area/awaymission/academy/classrooms) "ff" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/carpet, /area/awaymission/academy/classrooms) "fg" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/grimy, @@ -1605,16 +1470,12 @@ "fh" = ( /obj/structure/mineral_door/wood, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/bar, /area/awaymission/academy/classrooms) "fi" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/escape{ @@ -1624,8 +1485,6 @@ "fj" = ( /obj/structure/table, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/escape{ @@ -1635,8 +1494,6 @@ "fk" = ( /obj/structure/table/reinforced, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/barber{ @@ -1645,8 +1502,6 @@ /area/awaymission/academy/classrooms) "fl" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/barber{ @@ -1655,8 +1510,6 @@ /area/awaymission/academy/classrooms) "fm" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel/barber{ @@ -1736,13 +1589,9 @@ /area/awaymission/academy/classrooms) "fx" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel/yellow/side{ @@ -1751,8 +1600,6 @@ /area/awaymission/academy/classrooms) "fy" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/noticeboard{ @@ -1763,34 +1610,24 @@ /area/awaymission/academy/classrooms) "fz" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/grimy, /area/awaymission/academy/classrooms) "fA" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel/grimy, /area/awaymission/academy/classrooms) "fB" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/carpet, @@ -1806,8 +1643,6 @@ /area/awaymission/academy/academyaft) "fE" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/carpet, @@ -1817,13 +1652,10 @@ /area/awaymission/academy/academyaft) "fG" = ( /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -1831,8 +1663,6 @@ "fH" = ( /obj/machinery/shieldwallgen, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/turf_decal/stripes/line{ @@ -1842,8 +1672,6 @@ /area/awaymission/academy/classrooms) "fI" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/white/side{ @@ -1852,8 +1680,6 @@ /area/awaymission/academy/classrooms) "fJ" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel/white/side{ @@ -1885,9 +1711,7 @@ /area/awaymission/academy/classrooms) "fQ" = ( /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plasteel/vault, /area/awaymission/academy/classrooms) @@ -1937,9 +1761,7 @@ "fZ" = ( /obj/structure/cable, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -1976,29 +1798,22 @@ /area/awaymission/academy/academycellar) "gg" = ( /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/awaymission/academy/classrooms) "gh" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/grimy, /area/awaymission/academy/academyaft) "gi" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/carpet, @@ -2010,8 +1825,6 @@ /area/awaymission/academy/classrooms) "gk" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/recharger, @@ -2054,8 +1867,6 @@ dir = 8 }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -2071,9 +1882,7 @@ /area/awaymission/academy/classrooms) "gs" = ( /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -2081,8 +1890,6 @@ /area/awaymission/academy/classrooms) "gt" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/vault{ @@ -2152,8 +1959,7 @@ /area/awaymission/academy/classrooms) "gE" = ( /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -2161,16 +1967,12 @@ /area/awaymission/academy/classrooms) "gF" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/carpet, /area/awaymission/academy/academyaft) "gG" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/carpet, @@ -2240,13 +2042,9 @@ /area/awaymission/academy/classrooms) "gS" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/carpet, @@ -2256,16 +2054,12 @@ locked = 1 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/carpet, /area/awaymission/academy/classrooms) "gU" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/vault{ @@ -2274,8 +2068,6 @@ /area/awaymission/academy/classrooms) "gV" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel/vault{ @@ -2300,8 +2092,7 @@ "gY" = ( /obj/structure/cable, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -2309,7 +2100,6 @@ "gZ" = ( /obj/machinery/shieldwallgen, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/effect/turf_decal/stripes/line{ @@ -2334,8 +2124,6 @@ "hd" = ( /obj/structure/mineral_door/wood, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/carpet, @@ -2349,53 +2137,40 @@ /area/awaymission/academy/academyaft) "hg" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plating, /area/awaymission/academy/academyaft) "hh" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, /area/awaymission/academy/academyaft) "hi" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/hydrofloor, /area/awaymission/academy/academyaft) "hj" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/hydrofloor, /area/awaymission/academy/academyaft) "hk" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/hydrofloor, /area/awaymission/academy/academyaft) "hl" = ( /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/machinery/power/apc{ dir = 1; @@ -2410,9 +2185,7 @@ "hm" = ( /obj/structure/grille, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plating, /area/awaymission/academy/academyaft) @@ -2446,39 +2219,30 @@ /area/awaymission/academy/academyaft) "ht" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel, /area/awaymission/academy/academyaft) "hu" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/hydrofloor, /area/awaymission/academy/academyaft) "hv" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, /area/awaymission/academy/academyaft) "hw" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, /area/awaymission/academy/academyaft) "hx" = ( /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plating, @@ -2487,8 +2251,7 @@ /obj/machinery/power/smes/magical, /obj/structure/cable, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plating, /area/awaymission/academy/academyaft) @@ -2497,49 +2260,36 @@ dir = 8 }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plating, /area/awaymission/academy/academyaft) "hA" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/hydrofloor, /area/awaymission/academy/academyaft) "hB" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel/hydrofloor, /area/awaymission/academy/academyaft) "hC" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel/hydrofloor, /area/awaymission/academy/academyaft) "hD" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/airlock/maintenance_hatch, @@ -2547,26 +2297,18 @@ /area/awaymission/academy/academyaft) "hE" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plating, /area/awaymission/academy/academyaft) "hF" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/green/side{ @@ -2575,16 +2317,12 @@ /area/awaymission/academy/academyaft) "hG" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, /area/awaymission/academy/academyaft) "hH" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/green/side{ @@ -2593,34 +2331,24 @@ /area/awaymission/academy/academyaft) "hI" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/carpet, /area/awaymission/academy/academyaft) "hJ" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/carpet, /area/awaymission/academy/academyaft) "hK" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/item/caution, @@ -2634,8 +2362,6 @@ /area/awaymission/academy/classrooms) "hM" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel/hydrofloor, @@ -2646,16 +2372,12 @@ /area/awaymission/academy/academyaft) "hO" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, /area/awaymission/academy/academyaft) "hP" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/hydrofloor, @@ -2749,13 +2471,9 @@ /area/awaymission/academy/academyaft) "if" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel, @@ -2783,8 +2501,6 @@ /area/awaymission/academy/academyaft) "ik" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel, @@ -2981,8 +2697,6 @@ /area/awaymission/academy/academyaft) "iO" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/wood, @@ -3013,8 +2727,6 @@ dir = 1 }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel/red/side{ @@ -3023,35 +2735,25 @@ /area/awaymission/academy/academyaft) "iT" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/awaymission/academy/academyaft) "iU" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/carpet, /area/awaymission/academy/academyaft) "iV" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable, @@ -3063,8 +2765,6 @@ dir = 1 }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/airless/white{ @@ -3096,21 +2796,16 @@ /area/awaymission/academy/academyaft) "jb" = ( /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/awaymission/academy/academyaft) "jc" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/red/side{ @@ -3119,9 +2814,7 @@ /area/awaymission/academy/academyaft) "jd" = ( /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -3130,22 +2823,16 @@ "je" = ( /obj/structure/cable, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/awaymission/academy/academyaft) "jf" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel/airless/white{ @@ -3154,8 +2841,6 @@ /area/awaymission/academy/academyaft) "jg" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/airless{ @@ -3165,7 +2850,6 @@ /area/awaymission/academy/academyaft) "jh" = ( /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, @@ -3178,8 +2862,6 @@ /area/awaymission/academy/academyaft) "jj" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/red/side{ @@ -3188,8 +2870,6 @@ /area/awaymission/academy/academyaft) "jk" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/light{ @@ -3209,8 +2889,6 @@ /area/awaymission/academy/academyaft) "jn" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/airless/white{ @@ -3229,13 +2907,9 @@ /area/awaymission/academy/academyaft) "jp" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/item/weldingtool, @@ -3253,8 +2927,6 @@ /area/awaymission/academy/academyaft) "js" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel/airless/white{ @@ -3264,7 +2936,6 @@ "jt" = ( /obj/structure/grille, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/item/shard, @@ -3333,8 +3004,6 @@ /area/awaymission/academy/academyaft) "jF" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/window/reinforced{ @@ -3356,16 +3025,12 @@ /area/awaymission/academy/academyaft) "jI" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/carpet, /area/awaymission/academy/academyaft) "jJ" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/window/reinforced{ @@ -3408,8 +3073,6 @@ "jQ" = ( /obj/machinery/door/airlock/hatch, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/carpet, @@ -3429,8 +3092,6 @@ /area/awaymission/academy/academygate) "jU" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/carpet, @@ -3451,8 +3112,6 @@ /area/awaymission/academy/academygate) "jZ" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/door/window, @@ -3464,29 +3123,21 @@ /area/awaymission/academy/academygate) "kb" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/carpet, /area/awaymission/academy/academygate) "kc" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/carpet, /area/awaymission/academy/academygate) "kd" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/carpet, @@ -3500,8 +3151,6 @@ /area/awaymission/academy/academygate) "kg" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/carpet, @@ -3516,8 +3165,7 @@ req_access = "" }, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/carpet, /area/awaymission/academy/academygate) @@ -3527,24 +3175,18 @@ /area/awaymission/academy/academygate) "kj" = ( /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plating, /area/awaymission/academy/academygate) "kk" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plating, /area/awaymission/academy/academygate) "kl" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/carpet, @@ -3554,8 +3196,6 @@ dir = 9 }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plating, @@ -3565,8 +3205,6 @@ dir = 1 }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plating, @@ -3676,8 +3314,6 @@ /area/awaymission/academy/academyaft) "kH" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel/red/side{ @@ -3698,8 +3334,6 @@ "kK" = ( /obj/structure/table, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/item/book/manual/ripley_build_and_repair, @@ -3711,18 +3345,12 @@ /area/awaymission/academy/classrooms) "kM" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/trap/chill, @@ -3845,20 +3473,15 @@ /area/awaymission/academy/headmaster) "ln" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/vault, /area/awaymission/academy/academyengine) "lo" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/vault, @@ -3869,7 +3492,6 @@ pixel_y = 32 }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/vault, @@ -3948,16 +3570,12 @@ /area/awaymission/academy/academyengine) "lG" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plating, /area/awaymission/academy/academyengine) "lH" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plating, @@ -3978,9 +3596,7 @@ }, /obj/structure/cable, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plating, /area/awaymission/academy/academyengine) @@ -4001,16 +3617,12 @@ /area/awaymission/academy/academyengine) "lO" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plating, /area/awaymission/academy/academyengine) "lP" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plating, @@ -4385,6 +3997,34 @@ /mob/living/simple_animal/hostile/bear, /turf/open/floor/plating/asteroid/snow, /area/awaymission/academy/academycellar) +"nn" = ( +/obj/structure/frame/computer{ + anchored = 1; + dir = 4 + }, +/turf/open/floor/carpet, +/area/awaymission/academy/headmaster) +"no" = ( +/obj/structure/frame/computer{ + anchored = 1; + dir = 8 + }, +/turf/open/floor/carpet, +/area/awaymission/academy/headmaster) +"np" = ( +/obj/structure/frame/computer{ + anchored = 1; + dir = 4 + }, +/turf/open/floor/carpet, +/area/awaymission/academy/headmaster) +"nq" = ( +/obj/structure/frame/computer{ + anchored = 1; + dir = 8 + }, +/turf/open/floor/carpet, +/area/awaymission/academy/headmaster) (1,1,1) = {" aa @@ -11734,7 +11374,7 @@ bE fM dc dc -gw +db dc dc dc @@ -11871,7 +11511,7 @@ ds dc fD ho -hG +hv hS fD il @@ -12001,7 +11641,7 @@ dc dc fD ho -hG +hv hT fD il @@ -12014,9 +11654,9 @@ kG il fD iR -hG +hv ji -hG +hv ju hc hc @@ -12131,7 +11771,7 @@ dc dc fD hp -hG +hv hU fD im @@ -12261,7 +11901,7 @@ dc dc fD ho -hG +hv hV fD il @@ -12391,7 +12031,7 @@ dc dc fD ho -hG +hv hW fD in @@ -12471,9 +12111,9 @@ ab ab ak ar -ae +nn aC -ae +np aM aN ab @@ -12624,7 +12264,7 @@ br br br br -cS +bI br br aF @@ -13459,7 +13099,7 @@ jV jV jY kd -kg +jU kk kf kf @@ -13821,7 +13461,7 @@ gU gj fD ho -hG +hv hY fD il @@ -13901,9 +13541,9 @@ ab ab aq aw -ae +no aI -ae +nq ak af ab @@ -13951,7 +13591,7 @@ gV gj fD ho -hG +hv hZ fD il @@ -14081,7 +13721,7 @@ gJ gO fD hp -hG +hv ia fD im @@ -14211,7 +13851,7 @@ gJ gO fD ho -hG +hv ib fD il @@ -14341,7 +13981,7 @@ gW gO fD ho -hG +hv ic fD il @@ -15250,7 +14890,7 @@ aa aa aa hc -hu +hj hs hs hs @@ -15510,7 +15150,7 @@ aa aa aa hc -hw +hh hf hf hf diff --git a/_maps/RandomZLevels/Cabin.dmm b/_maps/RandomZLevels/Cabin.dmm index b4869790a8..dd40e3c024 100644 --- a/_maps/RandomZLevels/Cabin.dmm +++ b/_maps/RandomZLevels/Cabin.dmm @@ -108,15 +108,13 @@ name = "cabin APC" }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plating, /area/awaymission/cabin) "aw" = ( /obj/machinery/power/smes/magical, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plating, @@ -131,7 +129,6 @@ name = "geothermal generator" }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plating, @@ -179,15 +176,12 @@ dir = 1 }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plating, /area/awaymission/cabin) "aF" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, diff --git a/_maps/RandomZLevels/centcomAway.dmm b/_maps/RandomZLevels/centcomAway.dmm index e652a73e95..eb8fd30f79 100644 --- a/_maps/RandomZLevels/centcomAway.dmm +++ b/_maps/RandomZLevels/centcomAway.dmm @@ -626,8 +626,7 @@ /area/awaymission/centcomAway/cafe) "cq" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/grimy, /area/awaymission/centcomAway/cafe) @@ -751,8 +750,7 @@ /area/awaymission/centcomAway/hangar) "cS" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/grimy, /area/awaymission/centcomAway/cafe) @@ -764,7 +762,9 @@ }, /area/awaymission/centcomAway/general) "cU" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 4 + }, /turf/open/floor/mineral/titanium/yellow, /area/awaymission/centcomAway/hangar) "cV" = ( @@ -1350,7 +1350,9 @@ /turf/open/floor/mineral/titanium/blue, /area/awaymission/centcomAway/hangar) "fb" = ( -/obj/structure/frame/computer, +/obj/structure/frame/computer{ + dir = 1 + }, /turf/open/floor/mineral/titanium/blue, /area/awaymission/centcomAway/hangar) "fc" = ( @@ -1554,15 +1556,12 @@ /obj/machinery/power/smes, /obj/structure/cable, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plating, /area/awaymission/centcomAway/general) "fN" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, @@ -1571,7 +1570,6 @@ /obj/machinery/power/smes, /obj/structure/cable, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plating, @@ -1852,7 +1850,9 @@ /turf/open/floor/plating, /area/awaymission/centcomAway/general) "gN" = ( -/obj/machinery/computer/robotics, +/obj/machinery/computer/robotics{ + dir = 4 + }, /turf/open/floor/plasteel{ icon_state = "floor" }, @@ -1874,7 +1874,9 @@ }, /area/awaymission/centcomAway/general) "gQ" = ( -/obj/machinery/computer/med_data, +/obj/machinery/computer/med_data{ + dir = 8 + }, /turf/open/floor/plasteel{ icon_state = "floor" }, @@ -1914,7 +1916,9 @@ /turf/open/floor/plating, /area/awaymission/centcomAway/general) "gY" = ( -/obj/machinery/computer/card, +/obj/machinery/computer/card{ + dir = 4 + }, /turf/open/floor/plasteel{ icon_state = "floor" }, @@ -1926,7 +1930,9 @@ }, /area/awaymission/centcomAway/general) "ha" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 8 + }, /turf/open/floor/plasteel{ icon_state = "floor" }, @@ -1984,19 +1990,25 @@ }, /area/awaymission/centcomAway/general) "hl" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 1 + }, /turf/open/floor/plasteel{ icon_state = "floor" }, /area/awaymission/centcomAway/general) "hm" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 1 + }, /turf/open/floor/plasteel{ icon_state = "floor" }, /area/awaymission/centcomAway/general) "hn" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 1 + }, /turf/open/floor/plasteel{ icon_state = "floor" }, @@ -2165,9 +2177,7 @@ /area/awaymission/centcomAway/hangar) "hP" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, /turf/open/floor/plating, /area/awaymission/centcomAway/hangar) "hQ" = ( @@ -2249,8 +2259,7 @@ "ih" = ( /obj/machinery/mech_bay_recharge_port, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plating, /area/awaymission/centcomAway/hangar) @@ -2588,11 +2597,15 @@ /turf/open/floor/plasteel/black, /area/awaymission/centcomAway/general) "jo" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 1 + }, /turf/open/floor/plasteel/black, /area/awaymission/centcomAway/general) "jp" = ( -/obj/machinery/computer/card, +/obj/machinery/computer/card{ + dir = 1 + }, /turf/open/floor/plasteel/black, /area/awaymission/centcomAway/general) "jq" = ( @@ -2615,12 +2628,8 @@ /area/awaymission/centcomAway/hangar) "jt" = ( /obj/structure/table, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/metal/fifty, /turf/open/floor/plasteel/vault, /area/awaymission/centcomAway/hangar) "ju" = ( @@ -2959,7 +2968,9 @@ /turf/open/floor/plasteel/black, /area/awaymission/centcomAway/general) "kt" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 8 + }, /turf/open/floor/plasteel/vault{ dir = 1 }, @@ -2991,7 +3002,9 @@ }, /area/awaymission/centcomAway/general) "ky" = ( -/obj/machinery/computer/card, +/obj/machinery/computer/card{ + dir = 8 + }, /turf/open/floor/plasteel/vault{ dir = 1 }, @@ -3545,8 +3558,7 @@ /area/awaymission/centcomAway/thunderdome) "ml" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/vault{ dir = 8 @@ -3568,7 +3580,9 @@ }, /area/awaymission/centcomAway/thunderdome) "mo" = ( -/obj/structure/frame/computer, +/obj/structure/frame/computer{ + dir = 1 + }, /turf/open/floor/plasteel/redyellow{ dir = 5 }, @@ -3644,8 +3658,7 @@ /area/awaymission/centcomAway/maint) "my" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/vault{ dir = 8 @@ -10523,12 +10536,12 @@ hG hG aV aa -iC +fw ev gW gW ev -iC +fw aa aV aV @@ -11189,7 +11202,7 @@ jW fv eD ff -iC +fw aa aa aa @@ -11314,9 +11327,9 @@ hW eu hI eD -iC +fw jD -iC +fw eD ff eu @@ -11543,7 +11556,7 @@ aG ak dq aG -dS +ad ed eu eD @@ -11673,7 +11686,7 @@ aG ak aH aG -dT +af ee eu cs @@ -12193,7 +12206,7 @@ ai aI aI ai -dS +ad eg eu bN @@ -12323,7 +12336,7 @@ ai aJ aJ ai -dU +ae ee eu cd @@ -12367,7 +12380,7 @@ eV kF kG eu -kM +gM gX jK eu @@ -12453,7 +12466,7 @@ ai dC aJ ai -dT +af eh eu cs @@ -12462,7 +12475,7 @@ dw fw eF ff -ge +fw gs eD gN @@ -12489,7 +12502,7 @@ eV eu mO eu -kk +eV eu ku kz @@ -12739,7 +12752,7 @@ eD eD eD fY -fx +fw eD eD eD @@ -12750,7 +12763,7 @@ eD eD eD ff -fx +fw kw kw kw @@ -12844,7 +12857,7 @@ ai ai ai ai -ei +aK gW gW eV @@ -12852,7 +12865,7 @@ eD eD eD ff -gg +fv gv gG eD @@ -12890,7 +12903,7 @@ hz gW gW gW -kM +gM jK kS lc @@ -12982,7 +12995,7 @@ dJ eD eD ff -ge +fw gw eD eD @@ -13248,7 +13261,7 @@ eD gQ ha lM -fx +fw hI eD eu @@ -13407,7 +13420,7 @@ eV gc fP eu -kM +gM gX jK eu @@ -13499,7 +13512,7 @@ eu eJ eJ eJ -fx +fw fi fY gi @@ -14041,7 +14054,7 @@ aa aa eu jG -iC +fw eD eD eD @@ -14173,11 +14186,11 @@ eu eu eu jP -jT +fu jU eu jU -kb +fu jP gf jP @@ -14309,7 +14322,7 @@ aa aa fv fr -gg +fv fr fv aa @@ -14431,17 +14444,17 @@ aa aa aa aa -iC +fw jP -iC +fw aa aa aa -iC +fw jP -km +fw jP -iC +fw aa aa aa diff --git a/_maps/RandomZLevels/challenge.dmm b/_maps/RandomZLevels/challenge.dmm index f22805b750..ec4df0307e 100644 --- a/_maps/RandomZLevels/challenge.dmm +++ b/_maps/RandomZLevels/challenge.dmm @@ -968,9 +968,7 @@ "cZ" = ( /obj/machinery/gateway, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plasteel/vault{ dir = 8 @@ -990,8 +988,6 @@ /area/awaymission/challenge/end) "dc" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/black, @@ -1061,13 +1057,9 @@ /area/awaymission/challenge/end) "dm" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /mob/living/simple_animal/hostile/syndicate{ @@ -1077,8 +1069,6 @@ /area/awaymission/challenge/end) "dn" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/black, diff --git a/_maps/RandomZLevels/moonoutpost19.dmm b/_maps/RandomZLevels/moonoutpost19.dmm index 2b3dcfef6d..f326799698 100644 --- a/_maps/RandomZLevels/moonoutpost19.dmm +++ b/_maps/RandomZLevels/moonoutpost19.dmm @@ -404,8 +404,7 @@ "aX" = ( /obj/machinery/gateway, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plasteel/vault{ dir = 8; @@ -472,8 +471,6 @@ /area/awaymission/moonoutpost19/syndicate) "bg" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/black{ @@ -601,8 +598,6 @@ req_access_txt = "150" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/turf_decal/stripes/line{ @@ -701,8 +696,6 @@ /area/awaymission/moonoutpost19/syndicate) "bC" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/floorgrime{ @@ -808,8 +801,6 @@ /area/awaymission/moonoutpost19/syndicate) "bQ" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/door/airlock/highsecurity{ @@ -824,8 +815,6 @@ /area/awaymission/moonoutpost19/syndicate) "bR" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/table, @@ -844,12 +833,10 @@ /area/awaymission/moonoutpost19/syndicate) "bS" = ( /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/machinery/computer/monitor, /obj/effect/turf_decal/stripes/line{ @@ -868,7 +855,6 @@ outputting = 1 }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plating{ @@ -1005,8 +991,6 @@ /area/awaymission/moonoutpost19/syndicate) "cf" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -1049,8 +1033,6 @@ /area/awaymission/moonoutpost19/syndicate) "ci" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/table, @@ -1080,8 +1062,7 @@ dir = 1 }, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -1170,13 +1151,9 @@ /area/awaymission/moonoutpost19/syndicate) "ct" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel{ @@ -1186,8 +1163,6 @@ /area/awaymission/moonoutpost19/syndicate) "cu" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -1199,8 +1174,6 @@ /area/awaymission/moonoutpost19/syndicate) "cv" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/red/side{ @@ -1212,8 +1185,6 @@ /area/awaymission/moonoutpost19/syndicate) "cw" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/airlock/engineering{ @@ -1226,8 +1197,6 @@ /area/awaymission/moonoutpost19/syndicate) "cx" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plating{ @@ -1236,8 +1205,6 @@ /area/awaymission/moonoutpost19/syndicate) "cy" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plating{ @@ -1246,18 +1213,12 @@ /area/awaymission/moonoutpost19/syndicate) "cz" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/effect/decal/cleanable/dirt, @@ -1267,8 +1228,6 @@ /area/awaymission/moonoutpost19/syndicate) "cA" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plating{ @@ -2174,8 +2133,6 @@ /area/awaymission/moonoutpost19/research) "ei" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/general/visible{ @@ -2186,8 +2143,6 @@ /area/awaymission/moonoutpost19/research) "ej" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/alien/weeds, @@ -2200,7 +2155,6 @@ /area/awaymission/moonoutpost19/research) "ek" = ( /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/shieldwallgen{ @@ -2208,8 +2162,7 @@ req_access = null }, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plating{ heat_capacity = 1e+006 @@ -2312,8 +2265,6 @@ /area/awaymission/moonoutpost19/research) "ex" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/manifold{ @@ -2340,8 +2291,7 @@ /area/awaymission/moonoutpost19/research) "ez" = ( /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/machinery/door/poddoor/preopen{ desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; @@ -2438,8 +2388,6 @@ /area/awaymission/moonoutpost19/research) "eN" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/general/visible, @@ -2495,8 +2443,7 @@ name = "P.A.C.M.A.N.-type portable generator" }, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plating{ heat_capacity = 1e+006 @@ -2508,8 +2455,7 @@ name = "S.U.P.E.R.P.A.C.M.A.N.-type portable generator" }, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plating{ broken = 1; @@ -2534,8 +2480,7 @@ dir = 4 }, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/machinery/airalarm{ frequency = 1439; @@ -2549,8 +2494,7 @@ /area/awaymission/moonoutpost19/research) "eW" = ( /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/machinery/power/smes{ charge = 1.5e+006; @@ -2565,8 +2509,6 @@ /area/awaymission/moonoutpost19/research) "eX" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plating{ @@ -2575,8 +2517,6 @@ /area/awaymission/moonoutpost19/research) "eY" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/item/newspaper, @@ -2586,8 +2526,6 @@ /area/awaymission/moonoutpost19/research) "eZ" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating{ @@ -2598,8 +2536,6 @@ /area/awaymission/moonoutpost19/research) "fa" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/blood/tracks{ @@ -2613,8 +2549,6 @@ /area/awaymission/moonoutpost19/research) "fb" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating{ @@ -2623,8 +2557,6 @@ /area/awaymission/moonoutpost19/research) "fc" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/airlock/maintenance{ @@ -2642,8 +2574,6 @@ /area/awaymission/moonoutpost19/research) "fd" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/blood/tracks{ @@ -2661,8 +2591,6 @@ pixel_x = 32 }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/alien/weeds, @@ -2741,8 +2669,6 @@ /area/awaymission/moonoutpost19/research) "fl" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/general/visible, @@ -2762,8 +2688,7 @@ "fn" = ( /obj/structure/cable, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/machinery/door/poddoor/preopen{ desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; @@ -2793,8 +2718,6 @@ /area/awaymission/moonoutpost19/research) "fq" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plating{ @@ -2803,13 +2726,9 @@ /area/awaymission/moonoutpost19/research) "fr" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, @@ -2820,8 +2739,6 @@ /area/awaymission/moonoutpost19/research) "fs" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plating{ @@ -2830,8 +2747,6 @@ /area/awaymission/moonoutpost19/research) "ft" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating{ @@ -2842,8 +2757,6 @@ /area/awaymission/moonoutpost19/research) "fu" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating{ @@ -2866,13 +2779,9 @@ /area/awaymission/moonoutpost19/research) "fw" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/alien/weeds, @@ -2883,8 +2792,6 @@ /area/awaymission/moonoutpost19/research) "fx" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/firedoor, @@ -2903,8 +2810,6 @@ /area/awaymission/moonoutpost19/research) "fy" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -2914,8 +2819,6 @@ /area/awaymission/moonoutpost19/research) "fz" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel{ @@ -2924,8 +2827,6 @@ /area/awaymission/moonoutpost19/research) "fA" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/firedoor, @@ -2938,8 +2839,6 @@ /area/awaymission/moonoutpost19/research) "fB" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/alien/weeds/node, @@ -2947,8 +2846,6 @@ /area/awaymission/moonoutpost19/research) "fC" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/machinery/atmospherics/pipe/simple/general/visible{ @@ -2995,8 +2892,6 @@ icon_state = "medium" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/engine, @@ -3091,13 +2986,9 @@ /area/awaymission/moonoutpost19/research) "fP" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating{ @@ -3110,8 +3001,6 @@ req_one_access_txt = "0" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating{ @@ -3120,13 +3009,9 @@ /area/awaymission/moonoutpost19/research) "fR" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/effect/decal/cleanable/oil, @@ -3199,8 +3084,6 @@ pixel_x = 32 }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/alien/weeds, @@ -3242,8 +3125,7 @@ /area/awaymission/moonoutpost19/research) "gb" = ( /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/structure/grille, /obj/machinery/door/poddoor/preopen{ @@ -3297,8 +3179,6 @@ "gh" = ( /obj/effect/decal/cleanable/oil, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating{ @@ -3341,8 +3221,6 @@ /area/awaymission/moonoutpost19/research) "gm" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/firealarm{ @@ -3427,8 +3305,7 @@ /area/awaymission/moonoutpost19/research) "gt" = ( /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/structure/disposalpipe/segment{ desc = "An underfloor disposal pipe. This one has been applied with an acid-proof coating."; @@ -3459,8 +3336,7 @@ "gv" = ( /obj/structure/disposalpipe/segment{ desc = "An underfloor disposal pipe. This one has been applied with an acid-proof coating."; - dir = 2; - icon_state = "pipe-c"; + dir = 10; name = "Acid-Proof disposal pipe" }, /obj/structure/alien/weeds, @@ -3500,7 +3376,9 @@ }, /area/awaymission/moonoutpost19/research) "gA" = ( -/obj/machinery/computer/monitor, +/obj/machinery/computer/monitor{ + dir = 1 + }, /obj/structure/cable, /turf/open/floor/plating{ heat_capacity = 1e+006 @@ -3633,8 +3511,7 @@ name = "Acid-Proof containment chamber blast door" }, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating{ @@ -3651,8 +3528,6 @@ /area/awaymission/moonoutpost19/research) "gN" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/item/stack/rods, @@ -3674,6 +3549,7 @@ }, /obj/machinery/computer/security{ desc = "Used to access the various cameras on the outpost."; + dir = 4; network = list("MO19R","MO19") }, /turf/open/floor/plasteel/red/side{ @@ -3731,7 +3607,9 @@ }, /area/awaymission/moonoutpost19/research) "gU" = ( -/obj/machinery/computer/operating, +/obj/machinery/computer/operating{ + dir = 8 + }, /obj/structure/alien/weeds, /turf/open/floor/plasteel/white/side{ dir = 1; @@ -3824,8 +3702,6 @@ /area/awaymission/moonoutpost19/research) "hd" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/effect/decal/cleanable/cobweb, @@ -3835,8 +3711,6 @@ /area/awaymission/moonoutpost19/research) "he" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, @@ -3846,8 +3720,6 @@ /area/awaymission/moonoutpost19/research) "hf" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/effect/decal/cleanable/dirt, @@ -3941,8 +3813,6 @@ /area/awaymission/moonoutpost19/research) "hp" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/oil, @@ -4278,8 +4148,6 @@ /area/awaymission/moonoutpost19/arrivals) "hW" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating{ @@ -4635,8 +4503,6 @@ /area/awaymission/moonoutpost19/arrivals) "iE" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -4971,8 +4837,6 @@ /area/awaymission/moonoutpost19/arrivals) "jp" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/oil, @@ -5117,8 +4981,7 @@ /area/awaymission/moonoutpost19/arrivals) "jH" = ( /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/machinery/power/apc/highcap/fifteen_k{ dir = 1; @@ -5224,8 +5087,6 @@ /area/awaymission/moonoutpost19/arrivals) "jS" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plating{ @@ -5236,8 +5097,6 @@ /area/awaymission/moonoutpost19/research) "jT" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/light/small{ @@ -5250,8 +5109,6 @@ /area/awaymission/moonoutpost19/arrivals) "jU" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel{ @@ -5260,8 +5117,6 @@ /area/awaymission/moonoutpost19/arrivals) "jV" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -5271,8 +5126,6 @@ /area/awaymission/moonoutpost19/arrivals) "jW" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, @@ -5282,8 +5135,6 @@ /area/awaymission/moonoutpost19/arrivals) "jX" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/item/cigbutt, @@ -5297,8 +5148,6 @@ dir = 1 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/airalarm{ @@ -5314,8 +5163,6 @@ /area/awaymission/moonoutpost19/arrivals) "jZ" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/purple/corner{ @@ -5325,8 +5172,6 @@ /area/awaymission/moonoutpost19/arrivals) "ka" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, @@ -5337,8 +5182,6 @@ /area/awaymission/moonoutpost19/arrivals) "kb" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/firedoor{ @@ -5352,8 +5195,6 @@ /area/awaymission/moonoutpost19/arrivals) "kc" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel{ @@ -5367,8 +5208,6 @@ /area/awaymission/moonoutpost19/arrivals) "kd" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel{ @@ -5382,8 +5221,6 @@ /area/awaymission/moonoutpost19/arrivals) "ke" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, @@ -5399,8 +5236,6 @@ dir = 1 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -5412,8 +5247,6 @@ /area/awaymission/moonoutpost19/arrivals) "kg" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel{ @@ -5427,8 +5260,6 @@ /area/awaymission/moonoutpost19/arrivals) "kh" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating{ @@ -5441,8 +5272,6 @@ /area/awaymission/moonoutpost19/arrivals) "ki" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel{ @@ -5456,8 +5285,6 @@ /area/awaymission/moonoutpost19/arrivals) "kj" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, @@ -5474,8 +5301,6 @@ "kk" = ( /obj/machinery/light/small, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/floorgrime{ @@ -5485,8 +5310,6 @@ /area/awaymission/moonoutpost19/arrivals) "kl" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/effect/decal/cleanable/dirt, @@ -6548,7 +6371,9 @@ /turf/open/floor/plasteel/black, /area/awaymission/moonoutpost19/arrivals) "mG" = ( -/obj/machinery/computer/shuttle, +/obj/machinery/computer/shuttle{ + dir = 4 + }, /turf/open/floor/mineral/titanium/blue, /area/awaymission/moonoutpost19/arrivals) "mH" = ( diff --git a/_maps/RandomZLevels/research.dmm b/_maps/RandomZLevels/research.dmm index 9a85544ca9..460dc9a88f 100644 --- a/_maps/RandomZLevels/research.dmm +++ b/_maps/RandomZLevels/research.dmm @@ -178,6 +178,7 @@ /area/awaymission/research/interior/engineering) "aJ" = ( /obj/machinery/computer/pod{ + dir = 1; id = "spacebattlepod2"; name = "Hull Door Control" }, @@ -270,8 +271,6 @@ /area/space) "aY" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/light/small{ @@ -362,13 +361,10 @@ /area/awaymission/research/interior/gateway) "bm" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /obj/machinery/power/apc/highcap/ten_k{ auto_name = 1; @@ -486,8 +482,6 @@ /area/awaymission/research/interior/gateway) "bD" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -664,32 +658,24 @@ pixel_x = 24 }, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plasteel/black, /area/awaymission/research/interior/gateway) "cc" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plating, /area/awaymission/research/interior/maint) "cd" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, /area/awaymission/research/interior/maint) "ce" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plating, @@ -740,8 +726,6 @@ dir = 4 }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/window/reinforced, @@ -749,16 +733,12 @@ /area/awaymission/research/interior/gateway) "cm" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plating, /area/awaymission/research/interior/maint) "cn" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/light/small, @@ -766,8 +746,6 @@ /area/awaymission/research/interior/maint) "co" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -813,16 +791,12 @@ /area/awaymission/research/interior/gateway) "cu" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel/black, /area/awaymission/research/interior/gateway) "cv" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/table, @@ -830,8 +804,6 @@ /area/awaymission/research/interior/gateway) "cw" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plating, @@ -848,8 +820,6 @@ /area/awaymission/research/interior/maint) "cz" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /mob/living/simple_animal/hostile/syndicate/ranged, @@ -880,16 +850,12 @@ /area/awaymission/research/interior/gateway) "cE" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/black, /area/awaymission/research/interior/gateway) "cF" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/table, @@ -931,8 +897,6 @@ /area/awaymission/research/interior/genetics) "cL" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /mob/living/simple_animal/hostile/syndicate/ranged, @@ -968,8 +932,6 @@ /area/awaymission/research/interior/secure) "cR" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/door/airlock/highsecurity{ @@ -981,8 +943,6 @@ /area/awaymission/research/interior/gateway) "cS" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/power/apc/highcap/five_k{ @@ -991,9 +951,7 @@ pixel_x = 24 }, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plating, /area/awaymission/research/interior/genetics) @@ -1021,8 +979,6 @@ /area/awaymission/research/interior/genetics) "cY" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/item/ammo_casing/c9mm, @@ -1087,8 +1043,6 @@ /area/awaymission/research/interior/secure) "dg" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -1110,8 +1064,6 @@ /area/awaymission/research/interior/genetics) "dk" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/blood/drip, @@ -1182,8 +1134,6 @@ /area/awaymission/research/interior/genetics) "dw" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/effect/decal/cleanable/blood/drip, @@ -1191,8 +1141,6 @@ /area/awaymission/research/interior/maint) "dx" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/item/ammo_casing/c9mm, @@ -1200,8 +1148,6 @@ /area/awaymission/research/interior/maint) "dy" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/machinery/light/small{ @@ -1337,8 +1283,6 @@ /area/awaymission/research/interior/genetics) "dR" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/item/ammo_casing/c45, @@ -1346,13 +1290,9 @@ /area/awaymission/research/interior/maint) "dS" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plating, @@ -1401,8 +1341,6 @@ /area/awaymission/research/interior) "dZ" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/light/small{ @@ -1440,8 +1378,6 @@ /area/awaymission/research/interior/maint) "eg" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/blood/drip, @@ -1514,8 +1450,6 @@ req_access_txt = "12" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -1602,16 +1536,12 @@ req_access_txt = "12" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, /area/awaymission/research/interior/maint) "eI" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/whitepurple/side{ @@ -1663,8 +1593,7 @@ "eR" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plating, /area/awaymission/research/interior/security) @@ -1720,8 +1649,6 @@ }, /obj/structure/cable, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/whitepurple, @@ -1787,8 +1714,6 @@ /area/awaymission/research/interior/cryo) "fj" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/whitepurple/side{ @@ -1825,24 +1750,18 @@ /area/awaymission/research/interior/security) "fr" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel/whitered/side, /area/awaymission/research/interior/security) "fs" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/whitered/side, /area/awaymission/research/interior/security) "ft" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/machinery/light{ @@ -1873,8 +1792,6 @@ /area/awaymission/research/interior/secure) "fx" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/machinery/light/small{ @@ -1889,7 +1806,6 @@ pixel_x = 24 }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plasteel/black, @@ -1915,8 +1831,6 @@ /area/awaymission/research/interior) "fC" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/whitepurple, @@ -1975,8 +1889,6 @@ /area/awaymission/research/interior) "fN" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/whitepurple/side{ @@ -2027,8 +1939,6 @@ /area/awaymission/research/interior/security) "fX" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/whitered, @@ -2039,8 +1949,6 @@ /area/awaymission/research/interior/security) "fZ" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/chair{ @@ -2072,20 +1980,15 @@ dir = 1 }, /obj/structure/cable{ - d2 = 4; icon_state = "0-4" }, /turf/open/floor/plasteel/black, /area/awaymission/research/interior/secure) "ge" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel/black, @@ -2093,12 +1996,9 @@ "gf" = ( /obj/machinery/power/terminal, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d2 = 4; icon_state = "0-4" }, /turf/open/floor/plasteel/black, @@ -2110,32 +2010,24 @@ req_access_txt = "36" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/black, /area/awaymission/research/interior/secure) "gh" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/black, /area/awaymission/research/interior/secure) "gi" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/black, /area/awaymission/research/interior/secure) "gj" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /mob/living/simple_animal/hostile/nanotrasen/ranged/smg, @@ -2143,8 +2035,6 @@ /area/awaymission/research/interior/secure) "gk" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/barricade/security, @@ -2152,8 +2042,6 @@ /area/awaymission/research/interior/secure) "gl" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/airlock/highsecurity{ @@ -2166,8 +2054,6 @@ "gm" = ( /obj/structure/barricade/security, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/black, @@ -2178,30 +2064,22 @@ req_access_txt = "9,63" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, /area/awaymission/research/interior/secure) "go" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, /area/awaymission/research/interior) "gp" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/light/small, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plating, @@ -2212,34 +2090,24 @@ req_access_txt = "9" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, /area/awaymission/research/interior) "gr" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/whitepurple, /area/awaymission/research/interior) "gs" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel/whitepurple, @@ -2300,8 +2168,6 @@ dir = 8 }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/whitepurple, @@ -2337,39 +2203,27 @@ /area/awaymission/research/interior/security) "gJ" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel/whitered, /area/awaymission/research/interior/security) "gK" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/whitered, /area/awaymission/research/interior/security) "gL" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/chair{ @@ -2379,8 +2233,6 @@ /area/awaymission/research/interior/security) "gM" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/table, @@ -2388,8 +2240,6 @@ /area/awaymission/research/interior/security) "gN" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/table, @@ -2399,8 +2249,6 @@ /area/awaymission/research/interior/security) "gO" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/chair{ @@ -2410,8 +2258,6 @@ /area/awaymission/research/interior/security) "gP" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/whitered/side{ @@ -2453,8 +2299,6 @@ /area/awaymission/research/interior) "gW" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/whitepurple, @@ -2524,8 +2368,6 @@ /area/awaymission/research/interior/security) "hi" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/whitered/side{ @@ -2557,8 +2399,6 @@ /area/awaymission/research/interior/security) "ho" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel/whitered/side{ @@ -2567,8 +2407,6 @@ /area/awaymission/research/interior/security) "hp" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel/whitered/side{ @@ -2583,8 +2421,6 @@ /area/awaymission/research/interior/security) "hr" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/light{ @@ -2615,29 +2451,21 @@ /area/awaymission/research/interior/cryo) "hw" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, /area/awaymission/research/interior/maint) "hx" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, /area/awaymission/research/interior/maint) "hy" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/effect/decal/cleanable/blood/drip, @@ -2664,8 +2492,6 @@ /area/awaymission/research/interior) "hD" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/light/small{ @@ -2693,8 +2519,6 @@ /area/awaymission/research/interior/security) "hH" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/vending/security, @@ -2773,8 +2597,6 @@ /area/awaymission/research/interior) "hR" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/table, @@ -2873,8 +2695,6 @@ /area/awaymission/research/interior/maint) "ie" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/machinery/light/small{ @@ -2888,8 +2708,6 @@ /area/awaymission/research/interior) "ig" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/machinery/light/small{ @@ -2925,8 +2743,6 @@ /area/awaymission/research/interior/security) "ik" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/light/small{ @@ -2984,21 +2800,15 @@ /area/awaymission/research/interior/bathroom) "iq" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, /area/awaymission/research/interior/maint) "ir" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/whitegreen/side{ @@ -3007,16 +2817,12 @@ /area/awaymission/research/interior) "is" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/whitegreen, /area/awaymission/research/interior) "it" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/whitegreen/side{ @@ -3025,13 +2831,9 @@ /area/awaymission/research/interior) "iu" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -3042,8 +2844,6 @@ req_access_txt = "63" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -3055,13 +2855,9 @@ pixel_x = 24 }, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plating, @@ -3116,18 +2912,17 @@ pixel_y = 24 }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, /area/awaymission/research/interior/security) "iG" = ( -/obj/machinery/computer/scan_consolenew, +/obj/machinery/computer/scan_consolenew{ + dir = 1 + }, /obj/machinery/light, /turf/open/floor/plasteel/darkpurple, /area/awaymission/research/interior/genetics) @@ -3205,8 +3000,6 @@ /area/awaymission/research/interior/maint) "iT" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/airlock/maintenance_hatch{ @@ -3216,15 +3009,12 @@ /area/awaymission/research/interior/maint) "iU" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel, /area/awaymission/research/interior/maint) "iV" = ( /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plating, @@ -3651,14 +3441,10 @@ pixel_x = 24 }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plating, /area/awaymission/research/interior/dorm) @@ -3760,8 +3546,6 @@ /area/awaymission/research/interior/dorm) "kG" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/airlock/maintenance_hatch{ @@ -3771,8 +3555,6 @@ /area/awaymission/research/interior/maint) "kH" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/whitegreen/side{ @@ -3781,16 +3563,12 @@ /area/awaymission/research/interior) "kI" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/whitegreen, /area/awaymission/research/interior) "kJ" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/whitegreen/side{ @@ -3799,8 +3577,6 @@ /area/awaymission/research/interior) "kK" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, @@ -3824,8 +3600,6 @@ /area/awaymission/research/interior/medbay) "kP" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/light/small{ @@ -4211,15 +3985,12 @@ dir = 1 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plating, /area/awaymission/research/interior/maint) "lW" = ( /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/power/apc{ @@ -4242,8 +4013,6 @@ /area/awaymission/research/interior/dorm) "lZ" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/power/apc{ @@ -4252,7 +4021,6 @@ pixel_y = -24 }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plating, @@ -29644,7 +29412,7 @@ cQ dc eU dc -gi +gh dc dc dc @@ -30415,7 +30183,7 @@ cQ dc eW fz -gi +gh fz eW dc @@ -30929,7 +30697,7 @@ cQ dc dc fA -gi +gh fA dc dc @@ -31186,7 +30954,7 @@ cQ dc dc dc -gi +gh dc dc dc @@ -36060,10 +35828,10 @@ ad ad aH cm -co +bD cS -co -co +bD +bD cw ea ev @@ -36075,10 +35843,10 @@ fc fE ea ce -co -co +bD +bD iw -co +bD cc aH ad @@ -36336,7 +36104,7 @@ cx cx cx cx -hw +cd aH aH ad @@ -36851,24 +36619,24 @@ dh ix cx cx -hw +cd id cm -co -co -co -co +bD +bD +bD +bD kp -co -kP -co -co -co -co -co -co -co -co +bD +aY +bD +bD +bD +bD +bD +bD +bD +bD cc aH ae @@ -37108,9 +36876,9 @@ dt cK cK cy -hw +cd id -hw +cd iX iX iX @@ -37126,7 +36894,7 @@ iX iX iX iX -hw +cd aH ae ae @@ -37367,7 +37135,7 @@ cJ cx hD id -hw +cd iX jj jC @@ -37383,7 +37151,7 @@ lO jC jj iX -hw +cd aH ae ae @@ -37622,9 +37390,9 @@ cK iy iG cx -hw +cd id -hw +cd iX jk jD @@ -37640,7 +37408,7 @@ jk jD jk iX -hw +cd aH ae ae @@ -37879,9 +37647,9 @@ in cK iH cx -hw +cd id -hw +cd iX jl jk @@ -37897,7 +37665,7 @@ lP jk jl iX -hw +cd aH ae ae @@ -38136,9 +37904,9 @@ cK dP iI cx -hw +cd id -hw +cd iX iX iX @@ -38154,7 +37922,7 @@ iX iX iX iX -hw +cd aH ae ae @@ -38393,9 +38161,9 @@ ib iz cx cx -hw +cd id -hw +cd iX jj jC @@ -38411,7 +38179,7 @@ lQ jC jj iX -hw +cd ma mb mu @@ -38645,14 +38413,14 @@ fc fE ea dh -ic +dv dh cT cx cm cw id -hw +cd iX jk jD @@ -38668,7 +38436,7 @@ jk jD jk iX -hw +cd ma mg mv @@ -38906,10 +38674,10 @@ cx cx cx cx -hw +cd id id -hw +cd iX jl jk @@ -38925,7 +38693,7 @@ lR jk jl iX -hw +cd ma mb mu @@ -39144,10 +38912,10 @@ ad ad aH cz -co -co -co -co +bD +bD +bD +bD cc ea ev @@ -39166,7 +38934,7 @@ bD cw id aO -hw +cd iX iX iX @@ -39182,7 +38950,7 @@ iX iX iX iX -hw +cd mb mh mw @@ -39191,7 +38959,7 @@ mC mI mw mw -mR +mC mI mT mb @@ -39415,7 +39183,7 @@ gU fi fF ea -hw +cd id id id @@ -39423,7 +39191,7 @@ id id id aO -hw +cd iX jj jC @@ -39439,7 +39207,7 @@ lS jC jj iX -hw +cd mb mi mn @@ -39672,7 +39440,7 @@ fK cp ea ea -hw +cd id io io @@ -39680,7 +39448,7 @@ iJ iA iM aO -hw +cd iX jk jD @@ -39696,7 +39464,7 @@ jk jD jk iX -hw +cd mb mj mn @@ -39937,7 +39705,7 @@ iK iA iM aO -hw +cd iX jl jk @@ -39953,7 +39721,7 @@ lT jk jl iX -hw +cd mb mj mn @@ -40184,7 +39952,7 @@ fL gz gV cp -hw +cd eF hX id @@ -40210,7 +39978,7 @@ iX iX iX iX -hw +cd mb mk mn @@ -40441,7 +40209,7 @@ fM cp fM cp -hw +cd ee ee id @@ -40698,7 +40466,7 @@ fL gA gV cp -hw +cd aO hY id @@ -40724,7 +40492,7 @@ jF jF lz iX -hw +cd mb mi mn @@ -41215,7 +40983,7 @@ cp eH cp cp -hw +cd id iC iM @@ -41467,12 +41235,12 @@ eI fj fN gC -gW +fC fj hy hL cp -hw +cd id id id @@ -41712,8 +41480,8 @@ bo bG ar ce -co -co +bD +bD cL cY dk @@ -41743,15 +41511,15 @@ jF kc iX cm -co -co -co -co -co -co -co -co -co +bD +bD +bD +bD +bD +bD +bD +bD +bD cw mb ml @@ -41999,7 +41767,7 @@ jq jH kd iD -kG +iT iD iD iD @@ -42256,7 +42024,7 @@ hl hl hl hO -kH +ir hZ hZ hZ @@ -42513,7 +42281,7 @@ hl hl hl hl -kI +is hl hl hl @@ -42770,7 +42538,7 @@ jr jI hl kv -kJ +it ia iE ia @@ -43027,7 +42795,7 @@ js jJ ke cp -kG +iT iD iD iD @@ -43273,11 +43041,11 @@ hM cp ig iu -co -co -co -co -co +bD +bD +bD +bD +bD cc cp jt @@ -43528,7 +43296,7 @@ eO eO hQ cp -hw +cd aH aH aH @@ -43785,7 +43553,7 @@ cp cp cp cp -hw +cd aH ad ad @@ -43795,7 +43563,7 @@ aH cd cp js -jL +jJ ke cp cd @@ -44810,7 +44578,7 @@ fT gH hc cp -hw +cd aH ad ad @@ -45067,7 +44835,7 @@ fT gE hc cp -hw +cd aH aH aH @@ -45083,7 +44851,7 @@ jh jN kg iW -kK +cd aH aH aH @@ -45586,7 +45354,7 @@ do do do do -hw +cd aH ad aH @@ -45603,7 +45371,7 @@ iW iW iW iW -kK +cd aH ad ad @@ -45843,7 +45611,7 @@ dH dH dD do -hw +cd aH ad aH @@ -45860,7 +45628,7 @@ ld lq lC iW -kK +cd aH ad ad @@ -46100,7 +45868,7 @@ dH dH ih do -hw +cd aH ad aH @@ -46117,7 +45885,7 @@ jw jw lD iW -kK +cd aH ad ad @@ -46357,7 +46125,7 @@ eo dT dF do -hw +cd aH ad aH @@ -46374,7 +46142,7 @@ jw lr kg iW -kK +cd aH ad ad @@ -46614,7 +46382,7 @@ do do do do -hw +cd aH ad aH @@ -46631,7 +46399,7 @@ le ls lE iW -kK +cd aH ad ad @@ -46871,7 +46639,7 @@ dH dH dD do -hw +cd aH ad aH @@ -46888,7 +46656,7 @@ jR jR jR iW -kK +cd aH ad ad @@ -47128,7 +46896,7 @@ dH dH ih do -hw +cd aH ad aH @@ -47385,7 +47153,7 @@ eo dT dF do -hw +cd aH ad aH @@ -47402,7 +47170,7 @@ lg lt kh aP -kK +cd aH ad ad @@ -47642,7 +47410,7 @@ do do do do -hw +cd aH ad aH @@ -48156,7 +47924,7 @@ fW fW hn do -hw +cd aH ad aH diff --git a/_maps/RandomZLevels/snowdin.dmm b/_maps/RandomZLevels/snowdin.dmm index e77a80ec67..f8070b272f 100644 --- a/_maps/RandomZLevels/snowdin.dmm +++ b/_maps/RandomZLevels/snowdin.dmm @@ -219,9 +219,7 @@ /area/awaymission/snowdin/base) "aE" = ( /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating{ @@ -256,8 +254,6 @@ /area/awaymission/snowdin/base) "aJ" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel{ @@ -497,9 +493,7 @@ "bp" = ( /obj/machinery/gateway, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel{ @@ -556,9 +550,7 @@ dir = 8 }, /obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plasteel{ baseturf = /turf/open/floor/plating/asteroid/snow; @@ -585,8 +577,6 @@ "bx" = ( /obj/effect/landmark/awaystart, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel{ @@ -596,8 +586,6 @@ /area/awaymission/snowdin/base) "by" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/landmark/awaystart, @@ -676,12 +664,9 @@ dir = 8 }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel{ @@ -691,8 +676,6 @@ /area/awaymission/snowdin/base) "bI" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/landmark/awaystart, @@ -703,14 +686,10 @@ /area/awaymission/snowdin/base) "bJ" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/landmark/awaystart, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel{ @@ -728,8 +707,6 @@ /area/awaymission/snowdin/base) "bL" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/effect/landmark/awaystart, diff --git a/_maps/RandomZLevels/spacebattle.dmm b/_maps/RandomZLevels/spacebattle.dmm index 4339d91cfa..77c0206bb4 100644 --- a/_maps/RandomZLevels/spacebattle.dmm +++ b/_maps/RandomZLevels/spacebattle.dmm @@ -184,7 +184,9 @@ /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate3) "aK" = ( -/obj/machinery/computer/shuttle, +/obj/machinery/computer/shuttle{ + dir = 1 + }, /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate2) "aL" = ( @@ -327,6 +329,7 @@ /area/awaymission/spacebattle/syndicate3) "bj" = ( /obj/machinery/computer/pod{ + dir = 1; id = "spacebattlepod3"; name = "Hull Door Control" }, @@ -388,7 +391,9 @@ /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate1) "bu" = ( -/obj/machinery/computer/shuttle, +/obj/machinery/computer/shuttle{ + dir = 1 + }, /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate3) "bv" = ( @@ -436,7 +441,9 @@ }, /area/awaymission/spacebattle/syndicate1) "bC" = ( -/obj/machinery/computer/shuttle, +/obj/machinery/computer/shuttle{ + dir = 1 + }, /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate1) "bD" = ( @@ -564,7 +571,9 @@ /turf/open/floor/engine, /area/awaymission/spacebattle/cruiser) "bZ" = ( -/obj/machinery/computer/telecomms/monitor, +/obj/machinery/computer/telecomms/monitor{ + dir = 4 + }, /turf/open/floor/plasteel, /area/awaymission/spacebattle/cruiser) "ca" = ( @@ -574,6 +583,7 @@ /area/awaymission/spacebattle/cruiser) "cb" = ( /obj/machinery/computer/pod{ + dir = 1; id = "spacebattlepod"; name = "Hull Door Control" }, @@ -861,6 +871,7 @@ /area/awaymission/spacebattle/syndicate3) "dc" = ( /obj/machinery/computer/pod{ + dir = 1; id = "spacebattlepod2"; name = "Hull Door Control" }, @@ -1357,7 +1368,9 @@ /turf/open/floor/plasteel, /area/awaymission/spacebattle/cruiser) "eP" = ( -/obj/machinery/computer/med_data, +/obj/machinery/computer/med_data{ + dir = 8 + }, /turf/open/floor/plasteel/blue, /area/awaymission/spacebattle/cruiser) "eQ" = ( @@ -1412,7 +1425,9 @@ /turf/open/floor/plasteel, /area/awaymission/spacebattle/cruiser) "eZ" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 8 + }, /turf/open/floor/plasteel/blue, /area/awaymission/spacebattle/cruiser) "fa" = ( @@ -1548,7 +1563,9 @@ /turf/open/floor/plasteel, /area/awaymission/spacebattle/cruiser) "fv" = ( -/obj/machinery/computer/shuttle, +/obj/machinery/computer/shuttle{ + dir = 8 + }, /turf/open/floor/plasteel/blue, /area/awaymission/spacebattle/cruiser) "fw" = ( @@ -1670,7 +1687,9 @@ }, /area/awaymission/spacebattle/cruiser) "fP" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 8 + }, /turf/open/floor/plasteel/blue, /area/awaymission/spacebattle/cruiser) "fQ" = ( @@ -1944,7 +1963,9 @@ /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/cruiser) "gK" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 8 + }, /turf/open/floor/plasteel/blue, /area/awaymission/spacebattle/cruiser) "gL" = ( @@ -1957,7 +1978,9 @@ /turf/open/floor/wood, /area/awaymission/spacebattle/cruiser) "gN" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 8 + }, /turf/open/floor/plasteel/blue, /area/awaymission/spacebattle/cruiser) "gO" = ( @@ -2269,7 +2292,9 @@ /turf/open/floor/plasteel, /area/awaymission/spacebattle/cruiser) "hS" = ( -/obj/machinery/computer/shuttle, +/obj/machinery/computer/shuttle{ + dir = 4 + }, /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate7) "hT" = ( @@ -2961,7 +2986,9 @@ /turf/open/floor/plating, /area/awaymission/spacebattle/cruiser) "kn" = ( -/obj/machinery/computer/mech_bay_power_console, +/obj/machinery/computer/mech_bay_power_console{ + dir = 8 + }, /turf/open/floor/plating, /area/awaymission/spacebattle/cruiser) "ko" = ( diff --git a/_maps/RandomZLevels/undergroundoutpost45.dmm b/_maps/RandomZLevels/undergroundoutpost45.dmm index fedc7c820e..fb9eba26b1 100644 --- a/_maps/RandomZLevels/undergroundoutpost45.dmm +++ b/_maps/RandomZLevels/undergroundoutpost45.dmm @@ -1547,8 +1547,7 @@ /area/awaymission/undergroundoutpost45/central) "dC" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/reagent_dispensers/watertank, /obj/effect/decal/cleanable/dirt, @@ -1608,9 +1607,8 @@ }, /area/awaymission/undergroundoutpost45/central) "dH" = ( -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 4 }, /turf/open/floor/plasteel/green/side{ dir = 1; @@ -1646,8 +1644,7 @@ /area/awaymission/undergroundoutpost45/central) "dK" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/sink{ @@ -1767,8 +1764,7 @@ /area/awaymission/undergroundoutpost45/central) "dW" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel{ heat_capacity = 1e+006 @@ -1806,8 +1802,7 @@ /area/awaymission/undergroundoutpost45/central) "ea" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel{ heat_capacity = 1e+006 @@ -1831,8 +1826,6 @@ "ed" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/door/airlock/command{ @@ -2268,6 +2261,7 @@ /area/awaymission/undergroundoutpost45/central) "eY" = ( /obj/machinery/computer/security{ + dir = 1; network = list("UO45") }, /turf/open/floor/plasteel/red/side{ @@ -2343,8 +2337,7 @@ start_charge = 100 }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plasteel/green/side{ dir = 2; @@ -2353,8 +2346,6 @@ /area/awaymission/undergroundoutpost45/central) "fh" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/extinguisher_cabinet{ @@ -2367,8 +2358,6 @@ /area/awaymission/undergroundoutpost45/central) "fi" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, @@ -2379,8 +2368,6 @@ /area/awaymission/undergroundoutpost45/central) "fj" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/green/side{ @@ -2391,8 +2378,6 @@ "fk" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/green/side{ @@ -2402,8 +2387,6 @@ /area/awaymission/undergroundoutpost45/central) "fl" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel/green/side{ @@ -2484,8 +2467,7 @@ /area/awaymission/undergroundoutpost45/central) "fv" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/vault{ dir = 8; @@ -2497,8 +2479,6 @@ dir = 4 }, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel/black{ @@ -2507,8 +2487,6 @@ /area/awaymission/undergroundoutpost45/central) "fx" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -2524,8 +2502,6 @@ /area/awaymission/undergroundoutpost45/central) "fy" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -2537,13 +2513,10 @@ /area/awaymission/undergroundoutpost45/central) "fz" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/decal/cleanable/dirt, @@ -2624,8 +2597,7 @@ /area/awaymission/undergroundoutpost45/central) "fH" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel{ heat_capacity = 1e+006 @@ -2633,8 +2605,7 @@ /area/awaymission/undergroundoutpost45/central) "fI" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/contraband/eat{ @@ -2683,8 +2654,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "fP" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -2802,8 +2771,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "gb" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -2867,8 +2834,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "gj" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -2921,13 +2886,10 @@ /area/awaymission/undergroundoutpost45/central) "gp" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating{ broken = 1; @@ -2937,13 +2899,10 @@ /area/awaymission/undergroundoutpost45/central) "gq" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating{ @@ -3056,8 +3015,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "gH" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -3126,8 +3083,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "gQ" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -3574,8 +3529,7 @@ "hN" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/bar{ heat_capacity = 1e+006 @@ -3604,8 +3558,7 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "hQ" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/cafeteria{ dir = 5; @@ -3666,8 +3619,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "hW" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -3697,8 +3648,7 @@ "hZ" = ( /obj/machinery/gateway, /obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 + icon_state = "0-2" }, /turf/open/floor/plasteel/vault{ dir = 8; @@ -3758,6 +3708,7 @@ /area/awaymission/undergroundoutpost45/gateway) "ig" = ( /obj/machinery/computer/rdconsole/core{ + dir = 4; id = 3; req_access = null }, @@ -3871,8 +3822,6 @@ /area/awaymission/undergroundoutpost45/gateway) "iu" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/door/window{ @@ -3938,8 +3887,7 @@ /area/awaymission/undergroundoutpost45/research) "iz" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -4035,8 +3983,7 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "iJ" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/cafeteria{ dir = 5; @@ -4046,8 +3993,7 @@ "iK" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/cafeteria{ dir = 5; @@ -4066,8 +4012,6 @@ /area/awaymission/undergroundoutpost45/research) "iM" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -4102,8 +4046,6 @@ /area/awaymission/undergroundoutpost45/gateway) "iP" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel{ @@ -4308,8 +4250,6 @@ /area/awaymission/undergroundoutpost45/gateway) "ji" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -4497,8 +4437,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "jD" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -4659,8 +4597,7 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "jV" = ( /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/machinery/power/apc/highcap/fifteen_k{ dir = 1; @@ -4676,8 +4613,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "jW" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/light/small{ @@ -4693,17 +4628,12 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "jX" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 2 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -4716,8 +4646,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "jY" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -4736,8 +4664,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "jZ" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -4752,8 +4678,6 @@ /area/awaymission/undergroundoutpost45/central) "ka" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -4769,8 +4693,6 @@ /area/awaymission/undergroundoutpost45/central) "kb" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -4787,13 +4709,10 @@ /area/awaymission/undergroundoutpost45/central) "kc" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -4872,8 +4791,6 @@ "kl" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -4966,8 +4883,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "ku" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -5396,8 +5311,7 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "lj" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -5438,8 +5352,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "lm" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/junction, @@ -5473,8 +5385,6 @@ /area/awaymission/undergroundoutpost45/gateway) "lp" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel{ @@ -5483,8 +5393,6 @@ /area/awaymission/undergroundoutpost45/gateway) "lq" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -5496,13 +5404,9 @@ /area/awaymission/undergroundoutpost45/gateway) "lr" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/machinery/airalarm{ @@ -5525,8 +5429,6 @@ /area/awaymission/undergroundoutpost45/gateway) "ls" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -5538,8 +5440,6 @@ /area/awaymission/undergroundoutpost45/gateway) "lt" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -5568,8 +5468,6 @@ /area/awaymission/undergroundoutpost45/research) "lv" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, @@ -5579,8 +5477,6 @@ /area/awaymission/undergroundoutpost45/gateway) "lw" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -5593,8 +5489,6 @@ "lx" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -5610,8 +5504,6 @@ /area/awaymission/undergroundoutpost45/gateway) "ly" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -5624,8 +5516,6 @@ /area/awaymission/undergroundoutpost45/gateway) "lz" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, @@ -5636,8 +5526,6 @@ /area/awaymission/undergroundoutpost45/gateway) "lA" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/firealarm{ @@ -5659,8 +5547,6 @@ /area/awaymission/undergroundoutpost45/gateway) "lB" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -5676,8 +5562,6 @@ /area/awaymission/undergroundoutpost45/gateway) "lC" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -5692,8 +5576,6 @@ "lD" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -5710,8 +5592,6 @@ /area/awaymission/undergroundoutpost45/gateway) "lE" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -5725,18 +5605,13 @@ /area/awaymission/undergroundoutpost45/research) "lF" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 @@ -5749,14 +5624,11 @@ /area/awaymission/undergroundoutpost45/research) "lG" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/light, /obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j1" + dir = 8 }, /obj/machinery/firealarm{ dir = 1; @@ -5770,7 +5642,6 @@ /area/awaymission/undergroundoutpost45/research) "lH" = ( /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/power/apc/highcap/fifteen_k{ @@ -5807,8 +5678,7 @@ /area/awaymission/undergroundoutpost45/research) "lJ" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 @@ -5936,8 +5806,6 @@ "lW" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -6048,8 +5916,6 @@ /area/awaymission/undergroundoutpost45/research) "mg" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -6249,8 +6115,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "my" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -6261,15 +6125,9 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "mz" = ( /obj/structure/closet/crate, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/rods/fifty, /turf/open/floor/plating{ heat_capacity = 1e+006 }, @@ -6305,10 +6163,7 @@ /obj/structure/extinguisher_cabinet{ pixel_y = -28 }, -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/tank/jetpack/carbondioxide, /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -6328,10 +6183,7 @@ start_charge = 100 }, /obj/machinery/light/small, -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/clothing/shoes/magboots, /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -6345,10 +6197,7 @@ dir = 1; pixel_y = -24 }, -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/clothing/shoes/magboots, /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -6392,8 +6241,6 @@ /area/awaymission/undergroundoutpost45/research) "mK" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -6408,13 +6255,9 @@ /area/awaymission/undergroundoutpost45/research) "mL" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel{ @@ -6423,8 +6266,7 @@ /area/awaymission/undergroundoutpost45/engineering) "mM" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/cafeteria{ dir = 5; @@ -6433,8 +6275,7 @@ /area/awaymission/undergroundoutpost45/research) "mN" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/cafeteria{ @@ -6635,8 +6476,6 @@ /area/awaymission/undergroundoutpost45/engineering) "nj" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -6685,6 +6524,7 @@ /area/awaymission/undergroundoutpost45/research) "no" = ( /obj/machinery/computer/security{ + dir = 4; network = list("UO45") }, /turf/open/floor/plasteel/red/side{ @@ -6725,13 +6565,10 @@ /area/awaymission/undergroundoutpost45/research) "ns" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -6742,8 +6579,6 @@ /area/awaymission/undergroundoutpost45/research) "nt" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -6760,8 +6595,6 @@ /area/awaymission/undergroundoutpost45/research) "nu" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -6776,8 +6609,6 @@ /area/awaymission/undergroundoutpost45/research) "nv" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -6796,8 +6627,6 @@ /area/awaymission/undergroundoutpost45/research) "nw" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -6813,13 +6642,10 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "nx" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/decal/cleanable/dirt, @@ -6913,8 +6739,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "nI" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -6927,8 +6751,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "nJ" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/effect/turf_decal/stripes/corner{ @@ -6940,18 +6762,12 @@ /area/awaymission/undergroundoutpost45/engineering) "nK" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/turf_decal/stripes/line{ @@ -6963,8 +6779,6 @@ /area/awaymission/undergroundoutpost45/engineering) "nL" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/effect/turf_decal/stripes/corner{ @@ -6980,8 +6794,6 @@ /area/awaymission/undergroundoutpost45/research) "nN" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -7147,13 +6959,10 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "oa" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/neutral/corner{ @@ -7163,8 +6972,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "ob" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -7181,8 +6988,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "oc" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -7199,8 +7004,6 @@ "od" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -7216,8 +7019,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "oe" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -7236,8 +7037,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "of" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -7253,8 +7052,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "og" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/light/small{ @@ -7274,8 +7071,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "oh" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/airalarm{ @@ -7298,8 +7093,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "oi" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -7313,8 +7106,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "oj" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -7331,8 +7122,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "ok" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -7351,8 +7140,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "ol" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -7368,8 +7155,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "om" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -7386,8 +7171,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "on" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -7402,13 +7185,10 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "oo" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, -/obj/structure/disposalpipe/junction{ - dir = 2; - icon_state = "pipe-y" +/obj/structure/disposalpipe/junction/yjunction{ + dir = 2 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -7421,8 +7201,6 @@ "op" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -7440,8 +7218,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "oq" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -7456,17 +7232,12 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "or" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-y"; +/obj/structure/disposalpipe/junction/yjunction{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -7477,8 +7248,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "os" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/turf_decal/stripes/line{ @@ -7516,8 +7285,6 @@ /area/awaymission/undergroundoutpost45/engineering) "ov" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/turf_decal/stripes/line{ @@ -7529,8 +7296,6 @@ /area/awaymission/undergroundoutpost45/engineering) "ow" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -7591,7 +7356,9 @@ }, /area/awaymission/undergroundoutpost45/research) "oB" = ( -/obj/machinery/computer/aifixer, +/obj/machinery/computer/aifixer{ + dir = 8 + }, /turf/open/floor/plasteel/cafeteria{ dir = 5; heat_capacity = 1e+006 @@ -7757,8 +7524,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "oT" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/airalarm{ @@ -7782,8 +7547,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "oU" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/light/small{ @@ -7806,8 +7569,7 @@ name = "P.A.C.M.A.N.-type portable generator" }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plating{ heat_capacity = 1e+006 @@ -7823,12 +7585,10 @@ }, /obj/item/wrench, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plating{ heat_capacity = 1e+006 @@ -7843,7 +7603,6 @@ name = "P.A.C.M.A.N.-type portable generator" }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plating{ @@ -7852,8 +7611,6 @@ /area/awaymission/undergroundoutpost45/engineering) "oY" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/light/small{ @@ -7879,13 +7636,10 @@ /area/awaymission/undergroundoutpost45/engineering) "pb" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating{ @@ -7894,13 +7648,10 @@ /area/awaymission/undergroundoutpost45/research) "pc" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/decal/cleanable/dirt, @@ -7927,8 +7678,7 @@ /area/awaymission/undergroundoutpost45/research) "pe" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/cafeteria{ @@ -7986,8 +7736,6 @@ /area/awaymission/undergroundoutpost45/engineering) "pk" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -8130,8 +7878,6 @@ /area/awaymission/undergroundoutpost45/engineering) "pz" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ @@ -8147,8 +7893,6 @@ /area/awaymission/undergroundoutpost45/engineering) "pA" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ @@ -8163,13 +7907,9 @@ /area/awaymission/undergroundoutpost45/engineering) "pB" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ @@ -8184,8 +7924,6 @@ /area/awaymission/undergroundoutpost45/engineering) "pC" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/effect/turf_decal/stripes/line{ @@ -8197,8 +7935,6 @@ /area/awaymission/undergroundoutpost45/engineering) "pD" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/effect/turf_decal/stripes/corner{ @@ -8234,8 +7970,6 @@ /area/awaymission/undergroundoutpost45/engineering) "pG" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -8423,8 +8157,6 @@ /area/awaymission/undergroundoutpost45/engineering) "qc" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, @@ -8461,8 +8193,6 @@ /area/awaymission/undergroundoutpost45/engineering) "qf" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -8710,8 +8440,7 @@ /area/awaymission/undergroundoutpost45/engineering) "qE" = ( /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/machinery/computer/monitor{ name = "primary power monitoring console" @@ -8726,13 +8455,9 @@ /area/awaymission/undergroundoutpost45/engineering) "qF" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/effect/decal/cleanable/dirt, @@ -8743,8 +8468,6 @@ /area/awaymission/undergroundoutpost45/engineering) "qG" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ @@ -8756,8 +8479,6 @@ /area/awaymission/undergroundoutpost45/engineering) "qH" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, @@ -8865,8 +8586,6 @@ /area/awaymission/undergroundoutpost45/engineering) "qO" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -8970,8 +8689,6 @@ /area/awaymission/undergroundoutpost45/research) "qX" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -9049,8 +8766,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "rf" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/light/small{ @@ -9169,8 +8884,7 @@ /area/awaymission/undergroundoutpost45/engineering) "rp" = ( /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/machinery/power/apc/highcap/fifteen_k{ dir = 8; @@ -9286,8 +9000,6 @@ /area/awaymission/undergroundoutpost45/engineering) "ry" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -9327,7 +9039,9 @@ }, /area/awaymission/undergroundoutpost45/research) "rC" = ( -/obj/machinery/computer/rdservercontrol, +/obj/machinery/computer/rdservercontrol{ + dir = 1 + }, /turf/open/floor/plasteel/black{ heat_capacity = 1e+006 }, @@ -9345,8 +9059,7 @@ /area/awaymission/undergroundoutpost45/research) "rE" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -9373,8 +9086,7 @@ /area/awaymission/undergroundoutpost45/research) "rG" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -9411,8 +9123,6 @@ /area/awaymission/undergroundoutpost45/research) "rK" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -9455,18 +9165,13 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "rO" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -9484,8 +9189,6 @@ dir = 4 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/firedoor, @@ -9495,8 +9198,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "rQ" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -9512,8 +9213,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "rR" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -9529,8 +9228,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "rS" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -9547,8 +9244,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "rT" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/airalarm{ @@ -9570,8 +9265,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "rU" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -9588,8 +9281,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "rV" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -9606,8 +9297,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "rW" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -9624,8 +9313,6 @@ "rX" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -9645,8 +9332,6 @@ /area/awaymission/undergroundoutpost45/engineering) "rY" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -9661,8 +9346,6 @@ /area/awaymission/undergroundoutpost45/engineering) "rZ" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -9675,13 +9358,10 @@ /area/awaymission/undergroundoutpost45/engineering) "sa" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -9999,8 +9679,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "sD" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ @@ -10103,8 +9781,6 @@ /area/awaymission/undergroundoutpost45/engineering) "sN" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -10209,8 +9885,6 @@ /area/awaymission/undergroundoutpost45/engineering) "sV" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ @@ -10271,6 +9945,7 @@ /area/awaymission/undergroundoutpost45/engineering) "tc" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 8; frequency = 1441; input_tag = "UO45_mix_in"; name = "Gas Mix Tank Control"; @@ -10315,13 +9990,10 @@ /area/awaymission/undergroundoutpost45/engineering) "tg" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating{ @@ -10330,8 +10002,6 @@ /area/awaymission/undergroundoutpost45/research) "th" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -10346,8 +10016,6 @@ /area/awaymission/undergroundoutpost45/research) "ti" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -10364,13 +10032,10 @@ /area/awaymission/undergroundoutpost45/research) "tj" = ( /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -10432,8 +10097,6 @@ /area/awaymission/undergroundoutpost45/research) "tr" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -10463,8 +10126,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "tu" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/light/small{ @@ -10504,8 +10165,6 @@ /area/awaymission/undergroundoutpost45/engineering) "tx" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -10528,6 +10187,7 @@ /area/awaymission/undergroundoutpost45/engineering) "tz" = ( /obj/machinery/computer/security{ + dir = 1; network = list("UO45") }, /obj/machinery/button/door{ @@ -10575,8 +10235,6 @@ /area/awaymission/undergroundoutpost45/engineering) "tD" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ @@ -10683,13 +10341,10 @@ /area/awaymission/undergroundoutpost45/research) "tO" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -10701,8 +10356,6 @@ /area/awaymission/undergroundoutpost45/research) "tP" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -10717,13 +10370,10 @@ /area/awaymission/undergroundoutpost45/research) "tQ" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -10737,8 +10387,6 @@ /area/awaymission/undergroundoutpost45/research) "tR" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -10752,8 +10400,6 @@ /area/awaymission/undergroundoutpost45/research) "tS" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -10770,8 +10416,6 @@ /area/awaymission/undergroundoutpost45/research) "tT" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -10789,8 +10433,6 @@ /area/awaymission/undergroundoutpost45/research) "tU" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -10806,13 +10448,10 @@ /area/awaymission/undergroundoutpost45/research) "tV" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 @@ -10855,8 +10494,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "ua" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -10889,8 +10526,6 @@ "ue" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -10932,8 +10567,6 @@ /area/awaymission/undergroundoutpost45/engineering) "uj" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/components/binary/pump{ @@ -10988,6 +10621,7 @@ dir = 4 }, /obj/machinery/computer/atmos_control/tank{ + dir = 1; frequency = 1441; input_tag = "UO45_n2_in"; name = "Nitrogen Supply Control"; @@ -11029,6 +10663,7 @@ }, /obj/machinery/atmospherics/pipe/simple/cyan/visible, /obj/machinery/computer/atmos_control/tank{ + dir = 1; frequency = 1441; input_tag = "UO45_o2_in"; name = "Oxygen Supply Control"; @@ -11119,6 +10754,7 @@ "uA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/computer/atmos_control{ + dir = 4; frequency = 1441; name = "Tank Monitor"; sensors = list("UO45_n2_sensor" = "Nitrogen", "UO45_o2_sensor" = "Oxygen", "UO45_mix_sensor" = "Gas Mix Tank") @@ -11136,8 +10772,6 @@ /area/awaymission/undergroundoutpost45/engineering) "uC" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -11173,8 +10807,6 @@ /area/awaymission/undergroundoutpost45/engineering) "uG" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, @@ -11313,6 +10945,7 @@ "uU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/computer/atmos_control{ + dir = 4; frequency = 1441; level = 3; name = "Distribution and Waste Monitor"; @@ -11337,8 +10970,6 @@ /area/awaymission/undergroundoutpost45/engineering) "uW" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -11405,8 +11036,6 @@ "vb" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/door/poddoor/preopen{ @@ -11551,8 +11180,7 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "vp" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plating{ heat_capacity = 1e+006 @@ -11567,8 +11195,6 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "vr" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -11579,7 +11205,9 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "vs" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/computer/atmos_alert, +/obj/machinery/computer/atmos_alert{ + dir = 4 + }, /turf/open/floor/plasteel/caution{ dir = 8; heat_capacity = 1e+006 @@ -11587,13 +11215,10 @@ /area/awaymission/undergroundoutpost45/engineering) "vt" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel{ @@ -11602,8 +11227,6 @@ /area/awaymission/undergroundoutpost45/engineering) "vu" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ @@ -11618,18 +11241,13 @@ /area/awaymission/undergroundoutpost45/engineering) "vv" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 @@ -11640,8 +11258,6 @@ /area/awaymission/undergroundoutpost45/engineering) "vw" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -11653,8 +11269,6 @@ /area/awaymission/undergroundoutpost45/engineering) "vx" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -11667,8 +11281,6 @@ /area/awaymission/undergroundoutpost45/engineering) "vy" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel/yellow/side{ @@ -11678,8 +11290,6 @@ /area/awaymission/undergroundoutpost45/engineering) "vz" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/door/airlock/engineering{ @@ -11692,8 +11302,6 @@ /area/awaymission/undergroundoutpost45/engineering) "vA" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel{ @@ -11702,8 +11310,6 @@ /area/awaymission/undergroundoutpost45/engineering) "vB" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/plasteel{ @@ -11790,8 +11396,6 @@ "vO" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -11807,7 +11411,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, -/obj/machinery/computer/station_alert, +/obj/machinery/computer/station_alert{ + dir = 4 + }, /turf/open/floor/plasteel/caution{ dir = 10; heat_capacity = 1e+006 @@ -11846,8 +11452,6 @@ /area/awaymission/undergroundoutpost45/engineering) "vT" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -12031,8 +11635,6 @@ /area/awaymission/undergroundoutpost45/mining) "wi" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ @@ -12057,8 +11659,7 @@ /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plating{ heat_capacity = 1e+006 @@ -12067,11 +11668,9 @@ "wl" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plating{ @@ -12080,14 +11679,10 @@ /area/awaymission/undergroundoutpost45/engineering) "wm" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/machinery/door/airlock/glass_command{ @@ -12166,8 +11761,6 @@ /area/awaymission/undergroundoutpost45/mining) "wv" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -12221,13 +11814,10 @@ /area/awaymission/undergroundoutpost45/engineering) "wA" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral{ @@ -12259,8 +11849,6 @@ /area/awaymission/undergroundoutpost45/mining) "wD" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/effect/decal/cleanable/dirt, @@ -12270,8 +11858,6 @@ /area/awaymission/undergroundoutpost45/mining) "wE" = ( /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -12281,14 +11867,10 @@ /area/awaymission/undergroundoutpost45/mining) "wF" = ( /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/floorgrime{ @@ -12319,8 +11901,6 @@ /area/awaymission/undergroundoutpost45/engineering) "wJ" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -12386,8 +11966,6 @@ /area/awaymission/undergroundoutpost45/mining) "wP" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -12400,8 +11978,6 @@ "wQ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/floorgrime{ @@ -12444,8 +12020,6 @@ /area/awaymission/undergroundoutpost45/engineering) "wU" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/light/small{ @@ -12504,8 +12078,6 @@ }, /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/brown{ @@ -12538,8 +12110,6 @@ /area/awaymission/undergroundoutpost45/engineering) "xd" = ( /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/open/floor/plasteel/neutral{ @@ -12555,8 +12125,6 @@ pixel_y = -28 }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /obj/effect/decal/cleanable/dirt, @@ -12592,8 +12160,6 @@ }, /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel{ @@ -12601,7 +12167,9 @@ }, /area/awaymission/undergroundoutpost45/mining) "xi" = ( -/obj/machinery/computer/station_alert, +/obj/machinery/computer/station_alert{ + dir = 1 + }, /turf/open/floor/plasteel/neutral{ dir = 2; heat_capacity = 1e+006 @@ -12609,7 +12177,9 @@ /area/awaymission/undergroundoutpost45/engineering) "xj" = ( /obj/machinery/light/small, -/obj/machinery/computer/atmos_alert, +/obj/machinery/computer/atmos_alert{ + dir = 1 + }, /obj/machinery/button/door{ desc = "A remote control-switch for the engineering security doors."; id = "UO45_Engineering"; @@ -12633,6 +12203,7 @@ /area/awaymission/undergroundoutpost45/engineering) "xk" = ( /obj/machinery/computer/monitor{ + dir = 1; name = "primary power monitoring console" }, /obj/structure/cable, @@ -12689,8 +12260,6 @@ req_access = null }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel/floorgrime{ @@ -12730,8 +12299,6 @@ "xt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel{ @@ -12792,8 +12359,6 @@ dir = 8 }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /turf/open/floor/plasteel{ @@ -12874,8 +12439,6 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/open/floor/plasteel{ @@ -12891,8 +12454,6 @@ req_access_txt = "201" }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel{ @@ -12905,8 +12466,6 @@ }, /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /turf/open/floor/plasteel{ @@ -12918,8 +12477,6 @@ dir = 8 }, /obj/structure/cable{ - d1 = 2; - d2 = 8; icon_state = "2-8" }, /turf/open/floor/plasteel{ @@ -12972,10 +12529,11 @@ }, /area/awaymission/undergroundoutpost45/mining) "xQ" = ( -/obj/machinery/computer/mech_bay_power_console, +/obj/machinery/computer/mech_bay_power_console{ + dir = 1 + }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + icon_state = "0-4" }, /turf/open/floor/plasteel{ heat_capacity = 1e+006 @@ -12983,13 +12541,9 @@ /area/awaymission/undergroundoutpost45/mining) "xR" = ( /obj/structure/cable{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable{ - d1 = 1; - d2 = 8; icon_state = "1-8" }, /turf/open/floor/mech_bay_recharge_floor, @@ -13000,7 +12554,6 @@ dir = 8 }, /obj/structure/cable{ - d2 = 8; icon_state = "0-8" }, /turf/open/floor/plating, diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 988afb163f..946ee27820 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -888,6 +888,7 @@ /area/security/main) "acr" = ( /obj/structure/chair/comfy/black, +/obj/effect/landmark/start/head_of_security, /turf/open/floor/carpet, /area/crew_quarters/heads/hos) "acs" = ( @@ -2141,16 +2142,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/structure/rack, -/obj/item/clothing/mask/gas/sechailer{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/clothing/mask/gas/sechailer, -/obj/item/clothing/mask/gas/sechailer{ - pixel_x = 3; - pixel_y = -3 - }, +/obj/structure/closet/secure_closet/warden, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) "aeX" = ( @@ -2254,8 +2246,7 @@ /area/security/main) "afi" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/effect/landmark/start/security_officer, /turf/open/floor/plasteel/red/side{ @@ -2273,8 +2264,7 @@ /area/security/main) "afk" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/effect/landmark/start/security_officer, /turf/open/floor/plasteel/red/side{ @@ -2283,8 +2273,7 @@ /area/security/main) "afl" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -2293,8 +2282,7 @@ /area/security/main) "afm" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/red/side{ dir = 5 @@ -2570,7 +2558,6 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/effect/landmark/start/head_of_security, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, /area/security/main) @@ -2617,9 +2604,7 @@ /area/engine/atmos) "agf" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 1 - }, +/obj/item/stack/sheet/metal, /obj/item/storage/box/bodybags, /obj/item/pen, /obj/machinery/firealarm{ @@ -2707,7 +2692,16 @@ /turf/open/floor/plasteel/showroomfloor, /area/security/warden) "agp" = ( -/obj/machinery/computer/prisoner, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc{ + areastring = "/area/security/warden"; + dir = 1; + name = "Brig Control APC"; + pixel_x = 0; + pixel_y = 24 + }, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) "agq" = ( @@ -2737,7 +2731,6 @@ /turf/open/floor/plasteel, /area/ai_monitored/security/armory) "agr" = ( -/obj/machinery/computer/secure_data, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) @@ -2949,6 +2942,9 @@ /obj/structure/cable{ icon_state = "2-8" }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) "agU" = ( @@ -2998,8 +2994,7 @@ /area/security/main) "ahc" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel, /area/security/main) @@ -3011,9 +3006,8 @@ /turf/open/floor/plasteel, /area/security/main) "ahe" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 4; - icon_state = "pipe-j2s"; sortType = 8 }, /turf/open/floor/plasteel, @@ -3050,9 +3044,8 @@ /turf/open/floor/plasteel, /area/security/main) "ahi" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 4; - icon_state = "pipe-j2s"; sortType = 7 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ @@ -3081,8 +3074,7 @@ /area/security/main) "ahk" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating, /area/maintenance/fore/secondary) @@ -3181,21 +3173,12 @@ }, /area/security/brig) "ahv" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Brig Control APC"; - areastring = "/area/security/warden"; - pixel_x = -24 - }, -/obj/structure/cable{ - icon_state = "0-4" +/obj/machinery/computer/prisoner{ + dir = 4 }, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) "ahx" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/structure/cable{ icon_state = "2-4" }, @@ -3215,15 +3198,14 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 }, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) "ahA" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable{ icon_state = "4-8" @@ -3313,8 +3295,7 @@ /turf/open/floor/plasteel, /area/security/main) "ahH" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-y"; +/obj/structure/disposalpipe/junction/yjunction{ dir = 1 }, /obj/structure/cable{ @@ -3379,8 +3360,7 @@ icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable{ icon_state = "4-8" @@ -3415,10 +3395,12 @@ /turf/open/floor/plasteel/white, /area/security/brig) "ahQ" = ( -/obj/structure/closet/secure_closet/warden, /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/computer/security{ + dir = 4 + }, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) "ahR" = ( @@ -3441,7 +3423,6 @@ /turf/open/floor/plasteel/showroomfloor, /area/security/warden) "ahS" = ( -/obj/structure/table, /obj/structure/cable{ icon_state = "1-8" }, @@ -3481,21 +3462,15 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, -/obj/machinery/computer/crew, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) "ahY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 5 - }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/red/side, /area/security/brig) "ahZ" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/firealarm{ dir = 1; @@ -3534,8 +3509,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -3549,14 +3523,12 @@ }, /area/security/brig) "aie" = ( -/obj/structure/table, -/obj/item/folder/red, -/obj/item/pen, -/obj/item/hand_labeler, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/item/book/manual/wiki/security_space_law, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) "aif" = ( @@ -3635,9 +3607,7 @@ /area/security/brig) "aio" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, /obj/item/stack/sheet/rglass{ amount = 50 }, @@ -3656,7 +3626,9 @@ dir = 1; network = list("SS13") }, -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 1 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -3682,7 +3654,9 @@ name = "Station Intercom (General)"; pixel_y = -29 }, -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 1 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -3705,8 +3679,7 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -3815,42 +3788,35 @@ /turf/open/floor/plating, /area/security/warden) "aiJ" = ( -/obj/structure/table/reinforced, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/door/window/brigdoor{ - dir = 1; - name = "Armory Desk"; - req_access_txt = "3" - }, -/obj/machinery/door/window/southleft{ - name = "Reception Desk"; - req_access_txt = "63" - }, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen{ - pixel_x = 4; - pixel_y = 4 +/obj/machinery/computer/crew{ + dir = 1 }, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) "aiK" = ( -/obj/structure/cable{ - icon_state = "0-8" +/obj/structure/chair/office/dark, +/obj/effect/landmark/start/warden, +/obj/machinery/button/door{ + id = "Prison Gate"; + name = "Prison Wing Lockdown"; + pixel_x = -27; + pixel_y = 8; + req_access_txt = "2" + }, +/obj/machinery/button/door{ + id = "seclobby"; + name = "Security Lobby Lockdown"; + pixel_x = -27; + pixel_y = -2; + req_access_txt = "2" }, /obj/structure/cable{ - icon_state = "0-4" + icon_state = "1-2" }, -/obj/structure/cable, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/showroomfloor, /area/security/warden) "aiL" = ( /obj/structure/cable{ @@ -3900,6 +3866,10 @@ /area/security/brig) "aiR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/firealarm{ + dir = 2; + pixel_y = 24 + }, /turf/open/floor/plasteel/red/side{ dir = 1 }, @@ -3970,18 +3940,15 @@ /obj/structure/sign/goldenplaque{ pixel_y = 32 }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/red/side{ dir = 1 }, /area/security/brig) "aje" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/machinery/firealarm{ - dir = 2; - pixel_y = 24 - }, +/obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/red/side{ - dir = 1 + dir = 9 }, /area/security/brig) "ajf" = ( @@ -3998,6 +3965,7 @@ icon_state = "1-8" }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel, /area/security/brig) "ajh" = ( @@ -4229,11 +4197,12 @@ /turf/open/floor/plasteel, /area/security/brig) "ajJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/red/side{ + dir = 8 + }, /area/security/brig) "ajK" = ( /obj/structure/cable{ @@ -4520,6 +4489,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, /turf/open/floor/plasteel/red/side, /area/security/brig) "akq" = ( @@ -4538,8 +4510,12 @@ /turf/open/floor/plasteel/red/corner, /area/security/brig) "akr" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel/red/side, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/red/side{ + dir = 10 + }, /area/security/brig) "aks" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, @@ -4554,6 +4530,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, /turf/open/floor/plasteel/red/side{ dir = 9 }, @@ -4619,7 +4598,9 @@ /turf/open/floor/plating, /area/maintenance/solars/port/fore) "akC" = ( -/obj/machinery/computer/shuttle/labor, +/obj/machinery/computer/shuttle/labor{ + dir = 4 + }, /obj/structure/reagent_dispensers/peppertank{ pixel_x = -31 }, @@ -4805,34 +4786,30 @@ }, /area/security/brig) "akX" = ( -/obj/machinery/door/airlock/glass_security{ - cyclelinkeddir = 2; - id_tag = "innerbrig"; - name = "Brig"; - req_access_txt = "63" +/obj/structure/cable{ + icon_state = "0-4" }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "0-8" }, -/turf/open/floor/plasteel/red/side{ - dir = 9 - }, -/area/security/brig) -"akY" = ( -/obj/machinery/door/firedoor, +/obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ id = "seclobby"; name = "security shutters" }, -/obj/machinery/door/airlock/glass_security{ - cyclelinkeddir = 2; - id_tag = "innerbrig"; - name = "Brig"; - req_access_txt = "63" - }, +/turf/open/floor/plating, +/area/security/brig) +"akY" = ( +/obj/machinery/door/firedoor, /obj/structure/cable{ icon_state = "1-8" }, +/obj/machinery/door/airlock/glass_security{ + cyclelinkeddir = 1; + id_tag = "outerbrig"; + name = "Brig"; + req_access_txt = "63" + }, /turf/open/floor/plasteel/red/side{ dir = 5 }, @@ -5230,7 +5207,9 @@ /turf/open/floor/plasteel, /area/security/processing) "amc" = ( -/obj/machinery/computer/shuttle/labor, +/obj/machinery/computer/shuttle/labor{ + dir = 4 + }, /obj/effect/turf_decal/stripes/line{ dir = 8 }, @@ -5568,6 +5547,15 @@ /obj/structure/cable{ icon_state = "1-4" }, +/obj/machinery/button/door{ + desc = "A remote control switch for the medbay foyer."; + id = "lobbyairlock"; + name = "Security Lobby Doors Control"; + normaldoorcontrol = 1; + pixel_x = -26; + pixel_y = -2; + req_access_txt = "63" + }, /turf/open/floor/plasteel/black, /area/security/brig) "amU" = ( @@ -5957,7 +5945,9 @@ /obj/machinery/light{ dir = 1 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/red/corner{ + dir = 1 + }, /area/hallway/primary/fore) "anR" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, @@ -5980,13 +5970,13 @@ /area/hallway/primary/fore) "anU" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ - name = "Courtroom" - }, /obj/machinery/door/poddoor/shutters/preopen{ id = "seclobby"; name = "security shutters" }, +/obj/machinery/door/airlock/glass{ + name = "Courtroom" + }, /turf/open/floor/plasteel/black, /area/security/courtroom) "anV" = ( @@ -6019,8 +6009,7 @@ /area/security/courtroom) "anZ" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/meter, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -6219,6 +6208,7 @@ codes_txt = "patrol;next_patrol=EVA"; location = "Security" }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel, /area/hallway/primary/fore) "aoz" = ( @@ -6241,7 +6231,6 @@ dir = 1; pixel_y = -24 }, -/obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/red/side{ dir = 10 }, @@ -6303,8 +6292,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/light/small{ dir = 4 @@ -6514,8 +6502,7 @@ /area/maintenance/fore/secondary) "app" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/reagent_dispensers/fueltank, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -6685,9 +6672,11 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 1; frequency = 1441; - id = "waste_out" + id = "waste_out"; + volume_rate = 200 }, -/turf/open/floor/plating/airless, +/obj/structure/lattice/catwalk, +/turf/open/space, /area/engine/atmos) "apJ" = ( /turf/closed/wall, @@ -6778,10 +6767,7 @@ /turf/open/floor/carpet, /area/crew_quarters/dorms) "aqb" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/storage/briefcase, /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/wood, @@ -6810,8 +6796,7 @@ /area/maintenance/fore/secondary) "aqf" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 @@ -6822,9 +6807,8 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 4 }, /turf/open/floor/plating, /area/maintenance/fore/secondary) @@ -6840,8 +6824,7 @@ /area/maintenance/fore/secondary) "aqi" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -6877,8 +6860,7 @@ /area/maintenance/fore/secondary) "aql" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable{ icon_state = "2-8" @@ -6929,9 +6911,7 @@ /turf/open/floor/wood, /area/crew_quarters/dorms) "aqp" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/item/clothing/suit/fire/firefighter, /obj/item/tank/internals/oxygen, /obj/item/clothing/mask/gas, @@ -7241,8 +7221,7 @@ /turf/open/floor/wood, /area/crew_quarters/dorms) "arl" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 2 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -7904,9 +7883,7 @@ /obj/item/stack/sheet/plasteel{ amount = 10 }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /turf/open/floor/plasteel/yellow/side{ dir = 4 }, @@ -8097,9 +8074,7 @@ /turf/open/floor/plating, /area/maintenance/starboard/fore) "atC" = ( -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /obj/structure/rack, /obj/item/stack/cable_coil{ pixel_x = -3; @@ -8202,9 +8177,7 @@ /turf/open/floor/plating, /area/maintenance/port/fore) "atU" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance{ lootcount = 2; name = "2maintenance loot spawner" @@ -8859,7 +8832,9 @@ /turf/open/floor/plasteel, /area/crew_quarters/fitness) "avD" = ( -/obj/machinery/computer/holodeck, +/obj/machinery/computer/holodeck{ + dir = 4 + }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) "avE" = ( @@ -8968,7 +8943,9 @@ c_tag = "Auxillary Base Construction"; dir = 8 }, -/obj/machinery/computer/camera_advanced/base_construction, +/obj/machinery/computer/camera_advanced/base_construction{ + dir = 8 + }, /turf/open/floor/plasteel/yellow/side{ dir = 4 }, @@ -9087,8 +9064,7 @@ /area/maintenance/fore) "awf" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 @@ -9187,8 +9163,7 @@ /area/maintenance/fore/secondary) "awn" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, @@ -9500,9 +9475,7 @@ }, /area/hallway/secondary/entry) "axc" = ( -/obj/structure/rack{ - dir = 4 - }, +/obj/structure/rack, /obj/item/electronics/airlock, /obj/item/electronics/airlock, /obj/item/electronics/airlock, @@ -9652,12 +9625,14 @@ /area/maintenance/fore) "axu" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable{ icon_state = "2-4" }, +/obj/structure/cable{ + icon_state = "2-8" + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -9693,8 +9668,7 @@ /area/maintenance/fore) "axx" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable{ icon_state = "4-8" @@ -10137,10 +10111,7 @@ /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) "ayN" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/machinery/light{ dir = 1 }, @@ -10327,8 +10298,7 @@ /area/maintenance/port/fore) "azj" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/item/device/radio/intercom{ name = "Station Intercom (General)"; @@ -10340,8 +10310,7 @@ /area/crew_quarters/fitness) "azk" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) @@ -10708,9 +10677,9 @@ icon_state = "1-4" }, /obj/machinery/power/apc{ - areastring = "/area/security/checkpoint/customs"; + areastring = "/area/security/checkpoint/auxiliary"; dir = 2; - name = "Customs APC"; + name = "Security Checkpoint APC"; pixel_x = 1; pixel_y = -24 }, @@ -10723,8 +10692,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -10786,8 +10754,7 @@ icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 @@ -10864,6 +10831,7 @@ /area/maintenance/department/electrical) "aAz" = ( /obj/machinery/computer/monitor{ + dir = 1; name = "backup power monitoring console" }, /obj/structure/cable{ @@ -11041,10 +11009,7 @@ /turf/open/floor/plating, /area/maintenance/port/fore) "aAW" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/tank/jetpack/carbondioxide, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -11144,10 +11109,7 @@ /turf/open/floor/plating, /area/maintenance/fore) "aBj" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/machinery/light{ dir = 8 }, @@ -11194,10 +11156,7 @@ /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) "aBp" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/clothing/shoes/magboots, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -11208,10 +11167,7 @@ /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) "aBq" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/clothing/shoes/magboots, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -11339,15 +11295,15 @@ /area/hallway/secondary/entry) "aBI" = ( /turf/closed/wall, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aBJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aBK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aBL" = ( /obj/machinery/door/airlock/maintenance{ name = "Tool Storage Maintenance"; @@ -11614,7 +11570,7 @@ /turf/open/floor/plasteel/white/side{ dir = 4 }, -/area/space) +/area/crew_quarters/theatre) "aCr" = ( /turf/closed/wall, /area/crew_quarters/theatre) @@ -11624,7 +11580,7 @@ /turf/open/floor/plasteel/red/side{ dir = 1 }, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aCt" = ( /obj/structure/cable{ icon_state = "1-2" @@ -11767,7 +11723,7 @@ /turf/open/floor/plasteel/red/side{ dir = 9 }, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aCM" = ( /obj/structure/reagent_dispensers/fueltank, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -11812,15 +11768,9 @@ /area/shuttle/arrival) "aCT" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, /turf/open/floor/plasteel/yellow/side{ dir = 4 }, @@ -11852,12 +11802,12 @@ /turf/open/floor/plasteel/red/side{ dir = 1 }, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aCZ" = ( /turf/open/floor/plasteel/red/side{ dir = 5 }, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aDa" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 @@ -11890,7 +11840,7 @@ /turf/open/floor/plasteel/red/side{ dir = 1 }, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aDd" = ( /obj/structure/cable{ icon_state = "1-2" @@ -11912,7 +11862,7 @@ /turf/open/floor/plasteel/red/side{ dir = 1 }, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aDg" = ( /obj/machinery/biogenerator, /turf/open/floor/plasteel, @@ -12039,9 +11989,7 @@ /turf/open/floor/plasteel/black, /area/gateway) "aDz" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance{ lootcount = 2; name = "2maintenance loot spawner" @@ -12200,7 +12148,7 @@ /turf/open/floor/plasteel/white/side{ dir = 4 }, -/area/space) +/area/crew_quarters/theatre) "aDS" = ( /obj/machinery/door/airlock{ name = "Unisex Showers"; @@ -12277,8 +12225,7 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 @@ -12300,8 +12247,7 @@ /area/maintenance/starboard/fore) "aEc" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -12487,9 +12433,8 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 2; - icon_state = "pipe-j1s"; sortType = 18 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ @@ -12508,8 +12453,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -12537,7 +12481,7 @@ dir = 5 }, /turf/open/floor/plasteel, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aEF" = ( /obj/structure/table/glass, /obj/item/reagent_containers/food/snacks/grown/wheat, @@ -12556,31 +12500,31 @@ /turf/open/floor/plasteel/red/side{ dir = 8 }, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aEH" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /turf/open/floor/plasteel, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aEI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aEJ" = ( /turf/open/floor/plasteel/red/side{ dir = 4 }, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aEK" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/plasteel, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aEL" = ( /obj/machinery/door/airlock{ name = "Garden"; @@ -12810,11 +12754,10 @@ }, /obj/structure/dresser, /turf/open/floor/plasteel/redblue/redside, -/area/space) +/area/crew_quarters/theatre) "aFm" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 @@ -12879,8 +12822,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 @@ -12958,7 +12900,7 @@ dir = 1 }, /turf/open/floor/plasteel/red/side, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aFI" = ( /obj/machinery/camera{ c_tag = "Security Checkpoint"; @@ -12978,7 +12920,7 @@ /turf/open/floor/plasteel/red/side{ dir = 10 }, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aFJ" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/effect/landmark/event_spawn, @@ -12995,7 +12937,7 @@ dir = 9 }, /turf/open/floor/plasteel/red/side, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aFL" = ( /obj/item/device/radio/off, /obj/item/crowbar, @@ -13004,14 +12946,14 @@ /turf/open/floor/plasteel/red/side{ dir = 6 }, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aFM" = ( /obj/machinery/recharger{ pixel_y = 4 }, /obj/structure/table, /turf/open/floor/plasteel/red/side, -/area/security/checkpoint/checkpoint2) +/area/security/checkpoint/auxiliary) "aFN" = ( /obj/structure/table/glass, /obj/item/cultivator, @@ -13234,12 +13176,8 @@ /obj/item/stack/sheet/rglass{ amount = 50 }, -/obj/item/stack/rods{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, +/obj/item/stack/rods/fifty, /obj/machinery/light{ dir = 8 }, @@ -13320,8 +13258,7 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable{ icon_state = "2-4" @@ -13339,9 +13276,8 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 4; - icon_state = "pipe-j1s"; sortType = 19 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -13353,9 +13289,8 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 4; - icon_state = "pipe-j1s"; sortType = 20 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -13365,8 +13300,7 @@ /area/maintenance/starboard/fore) "aGC" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable{ icon_state = "2-4" @@ -13382,11 +13316,10 @@ pixel_x = -28 }, /turf/open/floor/plasteel/redblue, -/area/space) +/area/crew_quarters/theatre) "aGE" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable{ icon_state = "1-2" @@ -13397,9 +13330,8 @@ /turf/open/floor/plating, /area/maintenance/starboard/fore) "aGF" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 4; - icon_state = "pipe-j2s"; sortType = 17 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -13433,7 +13365,6 @@ /area/maintenance/starboard/fore) "aGI" = ( /obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; dir = 4 }, /obj/structure/cable{ @@ -13508,8 +13439,7 @@ /area/maintenance/starboard/fore) "aGQ" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable{ icon_state = "4-8" @@ -13594,7 +13524,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aHa" = ( /obj/machinery/door/firedoor, /obj/structure/table/reinforced, @@ -13720,9 +13650,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/structure/filingcabinet/chestdrawer, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) @@ -13766,7 +13693,7 @@ "aHy" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "aHz" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plasteel/green/side{ @@ -13875,15 +13802,11 @@ dir = 1 }, /turf/closed/wall, -/area/crew_quarters/bar) +/area/maintenance/starboard/fore) "aHN" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, /obj/item/crowbar, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -13991,7 +13914,7 @@ /obj/structure/table/wood, /obj/item/device/flashlight/lamp/bananalamp, /turf/open/floor/plasteel/redblue, -/area/space) +/area/crew_quarters/theatre) "aIa" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -14037,7 +13960,7 @@ dir = 4 }, /turf/closed/wall, -/area/crew_quarters/bar) +/area/maintenance/starboard/fore) "aIf" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -14064,7 +13987,7 @@ /turf/open/floor/plasteel{ dir = 2 }, -/area/crew_quarters/bar) +/area/maintenance/starboard/fore) "aIh" = ( /obj/machinery/power/apc{ dir = 2; @@ -14082,9 +14005,8 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 4; - icon_state = "pipe-j1s"; sortType = 21 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ @@ -14094,8 +14016,7 @@ /area/maintenance/starboard/fore) "aIk" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -14110,8 +14031,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -14199,8 +14119,7 @@ "aIw" = ( /obj/structure/chair/office/dark, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/effect/landmark/start/assistant, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -14210,8 +14129,7 @@ /area/library) "aIx" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 @@ -14486,12 +14404,8 @@ /area/gateway) "aJj" = ( /obj/structure/table, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 @@ -15136,8 +15050,7 @@ /area/crew_quarters/bar) "aKP" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/bar, @@ -15180,6 +15093,9 @@ req_access_txt = "28" }, /obj/effect/turf_decal/delivery, +/obj/structure/window/reinforced{ + dir = 8 + }, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) "aKW" = ( @@ -15216,8 +15132,7 @@ /area/chapel/office) "aLa" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -15643,9 +15558,6 @@ /obj/machinery/chem_master/condimaster{ name = "CondiMaster Neo" }, -/obj/machinery/camera{ - c_tag = "Kitchen Cold Room" - }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -15693,8 +15605,7 @@ /area/crew_quarters/theatre) "aMs" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/hydrofloor, @@ -15781,8 +15692,7 @@ /area/crew_quarters/kitchen) "aME" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 @@ -16078,12 +15988,8 @@ /area/hallway/primary/central) "aND" = ( /obj/structure/closet/gmcloset, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/item/stack/cable_coil, /obj/item/device/flashlight/lamp, /obj/item/device/flashlight/lamp/green, @@ -16351,8 +16257,7 @@ /area/hallway/primary/port) "aOm" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable{ icon_state = "1-2" @@ -16388,14 +16293,12 @@ /area/hallway/primary/port) "aOq" = ( /obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; dir = 4 }, /turf/open/floor/plasteel, /area/hallway/primary/port) "aOr" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 4 }, /turf/open/floor/plasteel, @@ -16434,8 +16337,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable{ icon_state = "1-8" @@ -16612,8 +16514,7 @@ /area/hydroponics) "aOR" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/black, @@ -17083,8 +16984,7 @@ /area/hydroponics) "aQi" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/bar, /area/crew_quarters/bar) @@ -17677,12 +17577,8 @@ icon_state = "0-4" }, /obj/structure/table, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/rods/fifty, /turf/open/floor/plasteel, /area/storage/tools) "aRW" = ( @@ -17718,12 +17614,8 @@ dir = 2 }, /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, /obj/item/storage/box/lights/mixed, /turf/open/floor/plasteel, /area/storage/tools) @@ -17965,8 +17857,7 @@ /area/crew_quarters/kitchen) "aSM" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -17975,8 +17866,7 @@ /area/crew_quarters/kitchen) "aSN" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 @@ -18185,8 +18075,7 @@ /area/security/vacantoffice) "aTu" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plating, /area/maintenance/port) @@ -18195,8 +18084,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plating, /area/maintenance/port) @@ -18277,10 +18165,6 @@ /obj/structure/table, /obj/item/storage/crayons, /obj/item/storage/crayons, -/obj/machinery/camera{ - c_tag = "Art Storage"; - dir = 1 - }, /turf/open/floor/plasteel, /area/storage/art) "aTH" = ( @@ -18297,10 +18181,7 @@ /turf/open/floor/plating, /area/storage/emergency/port) "aTK" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/emergency_oxygen, /obj/item/clothing/mask/breath, @@ -19060,9 +18941,8 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 2; - icon_state = "pipe-j2s"; sortType = 16 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ @@ -19195,8 +19075,7 @@ /area/hallway/secondary/entry) "aWb" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -19650,8 +19529,7 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 @@ -19737,8 +19615,7 @@ /area/hallway/primary/central) "aXh" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel, /area/hallway/primary/central) @@ -19833,8 +19710,7 @@ /area/library) "aXv" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel, /area/crew_quarters/locker) @@ -20056,8 +19932,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable{ icon_state = "1-2" @@ -20144,8 +20019,7 @@ /obj/structure/table/wood, /obj/item/device/taperecorder, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/button/door{ id = "kanyewest"; @@ -20365,8 +20239,7 @@ /area/crew_quarters/kitchen) "aYM" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/button/door{ id = "kitchen"; @@ -20572,10 +20445,7 @@ /turf/open/floor/plasteel/freezer, /area/crew_quarters/toilet/locker) "aZp" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/electronics/apc, /obj/item/stock_parts/cell{ maxcharge = 2000 @@ -20702,14 +20572,9 @@ /turf/open/floor/plating, /area/quartermaster/sorting) "aZI" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/stack/sheet/cardboard, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /turf/open/floor/plasteel/floorgrime, /area/quartermaster/storage) "aZJ" = ( @@ -20835,8 +20700,7 @@ /area/crew_quarters/bar) "baf" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable{ icon_state = "1-4" @@ -21231,8 +21095,7 @@ "bbg" = ( /obj/effect/landmark/blobstart, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, @@ -21249,8 +21112,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, @@ -21543,8 +21405,7 @@ /area/bridge/meeting_room) "bcb" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -21605,8 +21466,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j1" + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 @@ -21791,9 +21651,7 @@ /turf/open/floor/plasteel/floorgrime, /area/quartermaster/storage) "bcK" = ( -/obj/structure/rack{ - dir = 4 - }, +/obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/port) @@ -21801,16 +21659,14 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 1 }, /turf/open/floor/plating, /area/maintenance/port) "bcM" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, @@ -22042,8 +21898,7 @@ /area/maintenance/port) "bdu" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -22082,8 +21937,7 @@ /area/hallway/secondary/exit) "bdz" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable{ icon_state = "1-2" @@ -22114,9 +21968,8 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 1; - icon_state = "pipe-j2s"; sortType = 1 }, /obj/structure/cable{ @@ -22254,9 +22107,9 @@ /turf/open/floor/plasteel/floorgrime, /area/quartermaster/storage) "bdV" = ( -/obj/structure/chair/stool, -/turf/open/floor/wood, -/area/maintenance/bar) +/obj/item/stack/sheet/metal, +/turf/open/floor/plating/airless, +/area/space/nearstation) "bdW" = ( /obj/item/clothing/gloves/color/rainbow, /obj/item/clothing/head/soft/rainbow, @@ -22331,7 +22184,9 @@ /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai_upload) "bee" = ( -/obj/machinery/computer/upload/ai, +/obj/machinery/computer/upload/ai{ + dir = 1 + }, /obj/machinery/flasher{ id = "AI"; pixel_y = -21 @@ -22339,7 +22194,9 @@ /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai_upload) "bef" = ( -/obj/machinery/computer/upload/borg, +/obj/machinery/computer/upload/borg{ + dir = 1 + }, /obj/item/device/radio/intercom{ broadcasting = 1; frequency = 1447; @@ -22480,8 +22337,7 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable{ icon_state = "1-2" @@ -22815,8 +22671,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/power/apc{ dir = 2; @@ -22868,8 +22723,7 @@ /area/bridge/meeting_room) "bfq" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, @@ -23266,15 +23120,13 @@ /area/quartermaster/storage) "bgB" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/closed/wall, /area/quartermaster/sorting) "bgC" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/closed/wall, /area/quartermaster/sorting) @@ -23367,8 +23219,7 @@ /area/engine/gravity_generator) "bgP" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/white, /area/medical/chemistry) @@ -23398,7 +23249,9 @@ /turf/open/floor/wood, /area/crew_quarters/heads/captain) "bgT" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/captain) @@ -23623,8 +23476,7 @@ icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/whitered/side{ dir = 8 @@ -23709,14 +23561,11 @@ /area/science/lab) "bhE" = ( /obj/structure/table, -/obj/item/stack/sheet/glass{ - amount = 50; +/obj/item/stack/sheet/glass/fifty{ pixel_x = 3; pixel_y = 3 }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, /obj/item/clothing/glasses/welding, /turf/open/floor/plasteel/white, /area/science/lab) @@ -23794,8 +23643,7 @@ /area/science/robotics/mechbay) "bhN" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -23855,8 +23703,7 @@ /area/science/research) "bhV" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/white, /area/science/lab) @@ -23870,7 +23717,7 @@ /turf/open/floor/plasteel, /area/quartermaster/storage) "bhX" = ( -/obj/structure/disposalpipe/wrapsortjunction{ +/obj/structure/disposalpipe/sorting/wrap{ dir = 1 }, /turf/closed/wall, @@ -23973,7 +23820,9 @@ /turf/open/floor/wood, /area/crew_quarters/heads/captain) "bil" = ( -/obj/machinery/computer/card, +/obj/machinery/computer/card{ + dir = 8 + }, /obj/item/card/id/captains_spare, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, @@ -24063,7 +23912,9 @@ }, /area/security/checkpoint/medical) "biy" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 8 + }, /obj/item/device/radio/intercom{ pixel_x = 25 }, @@ -24104,9 +23955,8 @@ /turf/open/floor/plating, /area/storage/emergency/starboard) "biF" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 1; - icon_state = "pipe-j2s"; sortType = 2 }, /obj/structure/noticeboard{ @@ -24233,8 +24083,7 @@ /area/science/research) "biT" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -24308,8 +24157,7 @@ /area/maintenance/disposal) "bjd" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -24334,15 +24182,13 @@ /area/maintenance/disposal) "bjg" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plating, /area/maintenance/port) "bjh" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable{ icon_state = "1-4" @@ -24392,8 +24238,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 @@ -24607,7 +24452,9 @@ /turf/open/floor/plasteel/white, /area/medical/chemistry) "bjP" = ( -/obj/machinery/computer/mech_bay_power_console, +/obj/machinery/computer/mech_bay_power_console{ + dir = 8 + }, /obj/structure/cable{ icon_state = "0-8" }, @@ -24718,10 +24565,7 @@ /turf/open/floor/plating, /area/storage/emergency/starboard) "bke" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/emergency_oxygen, /obj/item/clothing/mask/breath, @@ -25008,8 +24852,7 @@ /area/security/checkpoint/medical) "bkP" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable{ icon_state = "2-4" @@ -25292,7 +25135,7 @@ /obj/structure/cable{ icon_state = "2-8" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ sortType = 9 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -25325,7 +25168,9 @@ /turf/open/floor/plasteel, /area/science/robotics/mechbay) "blu" = ( -/obj/machinery/computer/mech_bay_power_console, +/obj/machinery/computer/mech_bay_power_console{ + dir = 4 + }, /obj/structure/cable{ icon_state = "0-4" }, @@ -25606,8 +25451,7 @@ "bmd" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable{ icon_state = "1-4" @@ -25619,8 +25463,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable{ icon_state = "2-8" @@ -25704,10 +25547,7 @@ /turf/closed/wall, /area/crew_quarters/heads/hop) "bmp" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/central) @@ -26106,7 +25946,9 @@ /turf/closed/wall/r_wall, /area/science/research) "bnn" = ( -/obj/machinery/computer/rdconsole/core, +/obj/machinery/computer/rdconsole/core{ + dir = 4 + }, /turf/open/floor/plasteel, /area/science/lab) "bno" = ( @@ -26169,8 +26011,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable{ icon_state = "1-4" @@ -26179,8 +26020,7 @@ /area/maintenance/starboard) "bny" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable{ icon_state = "1-4" @@ -26200,8 +26040,7 @@ /area/quartermaster/office) "bnA" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable{ icon_state = "2-8" @@ -26464,8 +26303,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/white, @@ -26508,7 +26346,9 @@ }, /area/medical/medbay/central) "boi" = ( -/obj/machinery/computer/med_data, +/obj/machinery/computer/med_data{ + dir = 1 + }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "boj" = ( @@ -26710,8 +26550,7 @@ /area/science/robotics/lab) "boH" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable{ icon_state = "2-8" @@ -26818,8 +26657,7 @@ /area/hallway/primary/central) "boW" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/brown/corner{ dir = 8 @@ -26905,8 +26743,7 @@ /area/crew_quarters/heads/hop) "bpe" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/carpet, /area/crew_quarters/heads/hop) @@ -27073,8 +26910,7 @@ /area/medical/medbay/central) "bpy" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) @@ -27085,7 +26921,9 @@ /turf/open/floor/plasteel, /area/quartermaster/storage) "bpA" = ( -/obj/machinery/computer/cargo, +/obj/machinery/computer/cargo{ + dir = 1 + }, /turf/open/floor/plasteel, /area/quartermaster/office) "bpB" = ( @@ -27220,8 +27058,7 @@ "bpR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/white, /area/science/robotics/lab) @@ -27237,15 +27074,9 @@ "bpT" = ( /obj/structure/table, /obj/item/storage/belt/utility, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, /obj/item/stack/sheet/glass{ amount = 20; pixel_x = -3; @@ -27477,7 +27308,9 @@ /turf/open/floor/carpet, /area/crew_quarters/heads/hop) "bqA" = ( -/obj/machinery/computer/card, +/obj/machinery/computer/card{ + dir = 1 + }, /turf/open/floor/plasteel/blue/side{ dir = 10 }, @@ -27527,7 +27360,7 @@ /turf/open/floor/plasteel/vault{ dir = 5 }, -/area/security/checkpoint/checkpoint2) +/area/security/checkpoint/tertiary) "bqF" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -27535,7 +27368,7 @@ icon_state = "0-2" }, /turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) +/area/security/checkpoint/tertiary) "bqG" = ( /obj/structure/cable{ icon_state = "0-8" @@ -27711,7 +27544,9 @@ /turf/open/floor/plasteel/white, /area/medical/genetics) "brb" = ( -/obj/machinery/computer/scan_consolenew, +/obj/machinery/computer/scan_consolenew{ + dir = 8 + }, /turf/open/floor/plasteel/whiteblue/side{ dir = 6 }, @@ -27813,8 +27648,7 @@ /area/science/research) "brp" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable{ icon_state = "1-2" @@ -28088,8 +27922,7 @@ /obj/structure/cable{ icon_state = "2-8" }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 1 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -28155,8 +27988,7 @@ /area/medical/medbay/central) "brY" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -28182,7 +28014,7 @@ /area/engine/gravity_generator) "bsb" = ( /turf/closed/wall/r_wall, -/area/security/checkpoint/checkpoint2) +/area/security/checkpoint/tertiary) "bsc" = ( /turf/open/floor/plasteel, /area/engine/gravity_generator) @@ -28194,7 +28026,7 @@ }, /obj/structure/cable, /turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) +/area/security/checkpoint/tertiary) "bse" = ( /obj/machinery/power/terminal{ dir = 1 @@ -28212,7 +28044,7 @@ icon_state = "0-8" }, /turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) +/area/security/checkpoint/tertiary) "bsg" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -28521,6 +28353,7 @@ /area/science/robotics/lab) "bsR" = ( /obj/machinery/computer/operating{ + dir = 1; name = "Robotics Operating Computer" }, /turf/open/floor/plasteel/black, @@ -28576,8 +28409,7 @@ /area/crew_quarters/heads/hop) "bsZ" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 @@ -28657,8 +28489,7 @@ /area/medical/genetics) "btj" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -28674,9 +28505,8 @@ /turf/open/floor/plasteel/white, /area/medical/genetics) "btm" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 2; - icon_state = "pipe-j2s"; sortType = 12 }, /obj/structure/cable{ @@ -28693,8 +28523,7 @@ /area/science/research) "bto" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/sign/securearea{ pixel_x = 32 @@ -29024,8 +28853,7 @@ "btZ" = ( /obj/machinery/light, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) @@ -29079,7 +28907,9 @@ /turf/open/floor/plasteel, /area/crew_quarters/heads/hop) "buf" = ( -/obj/machinery/computer/scan_consolenew, +/obj/machinery/computer/scan_consolenew{ + dir = 8 + }, /turf/open/floor/plasteel/whiteblue/side{ dir = 5 }, @@ -29123,8 +28953,7 @@ /area/medical/genetics) "bun" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable{ icon_state = "1-4" @@ -29229,7 +29058,7 @@ }, /area/medical/genetics) "buy" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ sortType = 23 }, /obj/structure/cable{ @@ -29344,8 +29173,7 @@ /area/hallway/primary/central) "buL" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable{ icon_state = "4-8" @@ -29360,7 +29188,9 @@ /obj/machinery/keycard_auth{ pixel_x = -24 }, -/obj/machinery/computer/cargo, +/obj/machinery/computer/cargo{ + dir = 4 + }, /turf/open/floor/plasteel/blue/side{ dir = 8 }, @@ -29382,7 +29212,7 @@ dir = 4 }, /turf/open/floor/plasteel, -/area/security/checkpoint/checkpoint2) +/area/security/checkpoint/tertiary) "buQ" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 @@ -29391,19 +29221,19 @@ icon_state = "1-2" }, /turf/open/floor/plasteel, -/area/security/checkpoint/checkpoint2) +/area/security/checkpoint/tertiary) "buR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/plasteel, -/area/security/checkpoint/checkpoint2) +/area/security/checkpoint/tertiary) "buS" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /turf/open/floor/plasteel, -/area/security/checkpoint/checkpoint2) +/area/security/checkpoint/tertiary) "buT" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -29535,8 +29365,7 @@ /area/science/research) "bvg" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable{ icon_state = "2-8" @@ -29892,15 +29721,11 @@ /area/quartermaster/office) "bwa" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, -/obj/structure/cable{ - icon_state = "1-2" - }, /turf/open/floor/plasteel, /area/hallway/primary/central) "bwb" = ( @@ -29995,29 +29820,34 @@ /area/crew_quarters/heads/hop) "bwm" = ( /turf/open/floor/plasteel/red/side, -/area/security/checkpoint/checkpoint2) +/area/security/checkpoint/tertiary) "bwn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable{ icon_state = "1-2" }, /turf/open/floor/plasteel/red/side, -/area/security/checkpoint/checkpoint2) +/area/security/checkpoint/tertiary) "bwo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall, -/area/engine/gravity_generator) +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/structure/table, +/turf/open/floor/plasteel/red/side, +/area/security/checkpoint/tertiary) "bwp" = ( /obj/structure/chair/office/dark, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/red/side, -/area/security/checkpoint/checkpoint2) +/area/security/checkpoint/tertiary) "bwq" = ( /obj/machinery/teleport/station, /turf/open/floor/plating, /area/teleporter) "bwr" = ( -/obj/machinery/computer/teleporter, +/obj/machinery/computer/teleporter{ + dir = 1 + }, /turf/open/floor/plating, /area/teleporter) "bws" = ( @@ -30070,8 +29900,7 @@ /area/medical/medbay/central) "bwy" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) @@ -30094,7 +29923,9 @@ /turf/open/floor/plasteel/black, /area/medical/sleeper) "bwC" = ( -/obj/machinery/computer/med_data, +/obj/machinery/computer/med_data{ + dir = 4 + }, /turf/open/floor/plasteel/white, /area/medical/sleeper) "bwD" = ( @@ -30228,8 +30059,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 @@ -30302,9 +30132,8 @@ /obj/structure/cable{ icon_state = "2-8" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 1; - icon_state = "pipe-j2s"; sortType = 3 }, /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, @@ -30393,7 +30222,9 @@ /turf/open/floor/plating, /area/maintenance/aft) "bxi" = ( -/obj/machinery/computer/aifixer, +/obj/machinery/computer/aifixer{ + dir = 8 + }, /obj/machinery/requests_console{ announcementConsole = 1; department = "Research Director's Desk"; @@ -30454,7 +30285,9 @@ /turf/open/floor/plasteel, /area/science/explab) "bxp" = ( -/obj/machinery/computer/rdconsole/experiment, +/obj/machinery/computer/rdconsole/experiment{ + dir = 1 + }, /turf/open/floor/plasteel/white/side{ dir = 1 }, @@ -30564,7 +30397,9 @@ }, /area/security/checkpoint/supply) "bxE" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 8 + }, /obj/machinery/airalarm{ dir = 8; pixel_x = 24 @@ -30609,7 +30444,7 @@ icon_state = "0-4" }, /turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) +/area/security/checkpoint/tertiary) "bxI" = ( /obj/machinery/door/airlock/security{ name = "Security Checkpoint"; @@ -30627,7 +30462,7 @@ icon_state = "2-4" }, /turf/open/floor/plasteel, -/area/security/checkpoint/checkpoint2) +/area/security/checkpoint/tertiary) "bxJ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -30638,7 +30473,7 @@ icon_state = "0-8" }, /turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) +/area/security/checkpoint/tertiary) "bxK" = ( /obj/machinery/door/firedoor, /obj/structure/table/reinforced, @@ -30671,7 +30506,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/red/side, -/area/security/checkpoint/customs) +/area/security/checkpoint/auxiliary) "bxN" = ( /obj/structure/sink{ dir = 8; @@ -30764,8 +30599,7 @@ /area/crew_quarters/heads/hor) "bxZ" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/heads/hor) @@ -30908,7 +30742,9 @@ /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/heads/hor) "byp" = ( -/obj/machinery/computer/robotics, +/obj/machinery/computer/robotics{ + dir = 8 + }, /obj/structure/window/reinforced{ dir = 4 }, @@ -31084,6 +30920,7 @@ pixel_x = 27 }, /obj/machinery/computer/security/mining{ + dir = 8; network = list("MINE","AuxBase") }, /turf/open/floor/plasteel/red/side{ @@ -31128,8 +30965,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/blue/side{ dir = 1 @@ -31152,9 +30988,6 @@ /area/security/checkpoint/supply) "byU" = ( /obj/machinery/light, -/obj/structure/cable{ - icon_state = "4-8" - }, /turf/open/floor/plasteel, /area/hallway/primary/central) "byV" = ( @@ -31162,9 +30995,6 @@ pixel_x = 5; pixel_y = -32 }, -/obj/structure/cable{ - icon_state = "4-8" - }, /turf/open/floor/plasteel, /area/hallway/primary/central) "byW" = ( @@ -31197,8 +31027,7 @@ /area/medical/sleeper) "byZ" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -31212,8 +31041,7 @@ /area/medical/sleeper) "bzb" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/effect/spawner/structure/window, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -31301,7 +31129,9 @@ }, /area/medical/genetics) "bzn" = ( -/obj/machinery/computer/cloning, +/obj/machinery/computer/cloning{ + dir = 1 + }, /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -31487,7 +31317,9 @@ /turf/open/floor/plasteel, /area/medical/sleeper) "bzJ" = ( -/obj/machinery/computer/mecha, +/obj/machinery/computer/mecha{ + dir = 8 + }, /obj/structure/window/reinforced{ dir = 4 }, @@ -31522,7 +31354,9 @@ /turf/open/floor/plasteel/white, /area/crew_quarters/heads/hor) "bzN" = ( -/obj/machinery/modular_computer/console/preset/research, +/obj/machinery/modular_computer/console/preset/research{ + dir = 8 + }, /obj/effect/turf_decal/stripes/line{ dir = 6 }, @@ -31532,7 +31366,9 @@ /turf/open/floor/engine, /area/science/explab) "bzP" = ( -/obj/machinery/computer/cargo, +/obj/machinery/computer/cargo{ + dir = 4 + }, /obj/machinery/light{ dir = 8 }, @@ -31659,9 +31495,6 @@ }, /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - icon_state = "1-2" - }, /turf/open/floor/plasteel, /area/hallway/primary/central) "bAh" = ( @@ -31695,8 +31528,7 @@ /area/medical/sleeper) "bAm" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable{ icon_state = "1-4" @@ -31901,8 +31733,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -31911,8 +31742,7 @@ /area/maintenance/port/aft) "bAJ" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable{ icon_state = "4-8" @@ -31924,8 +31754,7 @@ /area/maintenance/port/aft) "bAK" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable{ icon_state = "1-2" @@ -31983,6 +31812,7 @@ /area/science/explab) "bAS" = ( /obj/machinery/computer/security/mining{ + dir = 4; network = list("MINE","AuxBase") }, /obj/machinery/camera{ @@ -32154,9 +31984,6 @@ /obj/structure/cable{ icon_state = "1-8" }, -/obj/structure/cable{ - icon_state = "4-8" - }, /turf/open/floor/plasteel, /area/hallway/primary/central) "bBm" = ( @@ -32192,8 +32019,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bBq" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 2 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -32216,9 +32042,6 @@ pixel_x = -32; pixel_y = -32 }, -/obj/structure/cable{ - icon_state = "1-8" - }, /turf/open/floor/plasteel, /area/hallway/primary/central) "bBr" = ( @@ -32257,9 +32080,8 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bBv" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 8; - icon_state = "pipe-j2s"; sortType = 22 }, /turf/open/floor/plasteel, @@ -32298,9 +32120,8 @@ /obj/structure/cable{ icon_state = "2-4" }, -/obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 8 }, /turf/open/floor/plasteel, /area/hallway/primary/central) @@ -32309,15 +32130,13 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel, /area/hallway/primary/central) "bBC" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -32469,7 +32288,9 @@ /turf/open/floor/plasteel/black, /area/science/server) "bBX" = ( -/obj/machinery/computer/rdservercontrol, +/obj/machinery/computer/rdservercontrol{ + dir = 1 + }, /turf/open/floor/plasteel/black, /area/science/server) "bBY" = ( @@ -32510,7 +32331,9 @@ }, /area/security/checkpoint/science) "bCc" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 1 + }, /obj/machinery/requests_console{ department = "Security"; departmentType = 5; @@ -32519,9 +32342,8 @@ /turf/open/floor/plasteel/red/side, /area/security/checkpoint/science) "bCd" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 8; - icon_state = "pipe-j1s"; sortType = 15 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -32531,8 +32353,7 @@ /area/maintenance/port/aft) "bCe" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -32580,7 +32401,9 @@ pixel_y = -24 }, /obj/machinery/light, -/obj/machinery/computer/card/minor/rd, +/obj/machinery/computer/card/minor/rd{ + dir = 1 + }, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/heads/hor) "bCi" = ( @@ -32621,8 +32444,7 @@ /area/maintenance/starboard) "bCn" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable{ icon_state = "1-2" @@ -32691,8 +32513,7 @@ /area/janitor) "bCw" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 @@ -32742,8 +32563,7 @@ /area/maintenance/aft) "bCC" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 @@ -32765,8 +32585,7 @@ /area/medical/sleeper) "bCF" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 @@ -33170,7 +32989,9 @@ }, /area/medical/sleeper) "bDC" = ( -/obj/machinery/computer/operating, +/obj/machinery/computer/operating{ + dir = 1 + }, /turf/open/floor/plasteel/white, /area/medical/sleeper) "bDD" = ( @@ -33307,7 +33128,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ sortType = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -33339,8 +33160,7 @@ /area/medical/sleeper) "bEa" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/white, /area/medical/sleeper) @@ -33598,8 +33418,7 @@ dir = 6 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plating, /area/maintenance/starboard) @@ -33635,8 +33454,7 @@ dir = 9 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plating, /area/maintenance/starboard) @@ -33844,8 +33662,7 @@ /area/hallway/primary/aft) "bFi" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel, /area/janitor) @@ -33880,9 +33697,8 @@ /turf/open/floor/plating, /area/maintenance/aft) "bFm" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 8; - icon_state = "pipe-j2s"; sortType = 6 }, /obj/effect/spawner/structure/window, @@ -33890,16 +33706,14 @@ /area/maintenance/aft) "bFn" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/grille/broken, /turf/open/floor/plating, /area/maintenance/aft) "bFo" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating, /area/maintenance/aft) @@ -33918,8 +33732,7 @@ /area/hallway/primary/aft) "bFr" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plating, /area/maintenance/aft) @@ -34061,8 +33874,7 @@ /area/medical/sleeper) "bFL" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -34071,8 +33883,7 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "bFM" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 2 }, /obj/machinery/atmospherics/pipe/manifold4w/scrubbers, @@ -34105,7 +33916,9 @@ /turf/open/floor/plating, /area/crew_quarters/heads/cmo) "bFP" = ( -/obj/machinery/computer/card/minor/cmo, +/obj/machinery/computer/card/minor/cmo{ + dir = 1 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -34222,7 +34035,9 @@ /turf/open/floor/plating, /area/quartermaster/miningdock) "bGj" = ( -/obj/machinery/computer/shuttle/mining, +/obj/machinery/computer/shuttle/mining{ + dir = 4 + }, /turf/open/floor/plasteel/brown{ dir = 9 }, @@ -34300,10 +34115,7 @@ /turf/open/floor/plasteel, /area/storage/tech) "bGt" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/borgupload{ pixel_x = -1; pixel_y = 1 @@ -34331,10 +34143,7 @@ /turf/open/floor/plating, /area/storage/tech) "bGw" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/pandemic{ pixel_x = -3; pixel_y = 3 @@ -34368,10 +34177,7 @@ /turf/open/floor/plating, /area/storage/tech) "bGy" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/mining, /obj/item/circuitboard/machine/autolathe{ pixel_x = 3; @@ -34521,8 +34327,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -34624,8 +34429,7 @@ /area/crew_quarters/heads/cmo) "bHb" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/barber, /area/crew_quarters/heads/cmo) @@ -34736,8 +34540,7 @@ /area/maintenance/aft) "bHp" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable{ icon_state = "4-8" @@ -34867,10 +34670,7 @@ /turf/open/floor/wood, /area/crew_quarters/theatre) "bHG" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/crew{ pixel_x = -1; pixel_y = 1 @@ -34946,10 +34746,7 @@ /turf/open/floor/plating, /area/storage/tech) "bHO" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = -1 @@ -35040,8 +34837,7 @@ /area/medical/medbay/central) "bIa" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable{ icon_state = "2-4" @@ -35118,9 +34914,8 @@ /obj/structure/cable{ icon_state = "2-4" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 2; - icon_state = "pipe-j2s"; sortType = 13 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -35372,8 +35167,7 @@ /area/science/research) "bIE" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -35618,10 +35412,7 @@ /turf/open/floor/plasteel, /area/storage/tech) "bJh" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/robotics{ pixel_x = -2; pixel_y = 2 @@ -35644,10 +35435,7 @@ /turf/open/floor/plating, /area/storage/tech) "bJk" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/cloning, /obj/item/circuitboard/computer/med_data{ pixel_x = 3; @@ -35660,10 +35448,7 @@ /turf/open/floor/plating, /area/storage/tech) "bJl" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/powermonitor{ pixel_x = -2; pixel_y = 2 @@ -35679,10 +35464,7 @@ /turf/open/floor/plating, /area/storage/tech) "bJm" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/secure_data{ pixel_x = -2; pixel_y = 2 @@ -36148,9 +35930,7 @@ /turf/closed/wall, /area/quartermaster/miningdock) "bKn" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 @@ -36321,9 +36101,8 @@ /turf/open/floor/plating, /area/maintenance/aft) "bKI" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 8; - icon_state = "pipe-j1s"; sortType = 11 }, /obj/structure/cable{ @@ -36363,8 +36142,7 @@ /area/maintenance/aft) "bKL" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable{ icon_state = "2-8" @@ -36414,9 +36192,7 @@ /turf/open/floor/plasteel, /area/quartermaster/sorting) "bKQ" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance{ lootcount = 2; name = "2maintenance loot spawner" @@ -36592,8 +36368,7 @@ /area/medical/virology) "bLg" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -36694,10 +36469,7 @@ /turf/open/floor/plating, /area/shuttle/mining) "bLu" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/port/aft) @@ -36743,10 +36515,7 @@ /turf/open/floor/plating, /area/storage/tech) "bLA" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = -1 @@ -36763,8 +36532,7 @@ /area/maintenance/port/aft) "bLC" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -37024,10 +36792,7 @@ /turf/open/floor/plasteel/white, /area/science/xenobiology) "bMl" = ( -/obj/machinery/processor{ - desc = "A machine used to process slimes and retrieve their extract."; - name = "Slime Processor" - }, +/obj/machinery/processor/slime, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/xenobiology) @@ -37372,8 +37137,7 @@ /area/medical/virology) "bNg" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable{ icon_state = "4-8" @@ -37460,14 +37224,11 @@ /area/science/xenobiology) "bNq" = ( /obj/structure/table, -/obj/item/stack/sheet/glass{ - amount = 50; +/obj/item/stack/sheet/glass/fifty{ pixel_x = 3; pixel_y = 3 }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, /obj/item/stack/sheet/mineral/plasma, /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -37661,8 +37422,7 @@ /area/hallway/primary/aft) "bNP" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/item/device/radio/intercom{ freerange = 0; @@ -37748,8 +37508,7 @@ /area/engine/atmos) "bNZ" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel, @@ -38115,15 +37874,13 @@ /area/hallway/primary/aft) "bOR" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel, /area/hallway/primary/aft) "bOS" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 @@ -38162,7 +37919,9 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bOW" = ( -/obj/machinery/computer/atmos_control, +/obj/machinery/computer/atmos_control{ + dir = 8 + }, /obj/machinery/requests_console{ department = "Atmospherics"; departmentType = 4; @@ -38412,7 +38171,9 @@ /turf/open/floor/plasteel, /area/science/xenobiology) "bPA" = ( -/obj/machinery/computer/camera_advanced/xenobio, +/obj/machinery/computer/camera_advanced/xenobio{ + dir = 1 + }, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -38443,8 +38204,7 @@ /area/science/xenobiology) "bPC" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable{ icon_state = "1-2" @@ -38701,7 +38461,9 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bQl" = ( -/obj/machinery/computer/atmos_control, +/obj/machinery/computer/atmos_control{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -38805,6 +38567,7 @@ /area/engine/atmos) "bQz" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 8; frequency = 1441; input_tag = "mix_in"; name = "Gas Mix Tank Control"; @@ -38816,7 +38579,7 @@ }, /area/engine/atmos) "bQA" = ( -/obj/effect/spawner/structure/window/reinforced, +/obj/effect/spawner/structure/window/plasma/reinforced, /turf/open/floor/plating/airless, /area/engine/atmos) "bQB" = ( @@ -39114,7 +38877,9 @@ /turf/closed/wall, /area/construction) "bRo" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 8 + }, /obj/machinery/computer/security/telescreen{ desc = "Used for watching the Engine."; dir = 8; @@ -39171,7 +38936,9 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bRu" = ( -/obj/machinery/computer/atmos_alert, +/obj/machinery/computer/atmos_alert{ + dir = 8 + }, /turf/open/floor/plasteel/caution{ dir = 4 }, @@ -39511,8 +39278,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/starboard/aft) @@ -39522,8 +39288,7 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating{ icon_state = "platingdmg3" @@ -39558,10 +39323,7 @@ }, /area/maintenance/port/aft) "bSq" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/emergency_oxygen, /obj/item/clothing/mask/breath, @@ -39671,7 +39433,9 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bSE" = ( -/obj/machinery/computer/station_alert, +/obj/machinery/computer/station_alert{ + dir = 8 + }, /obj/machinery/light{ dir = 4 }, @@ -39704,11 +39468,8 @@ /area/engine/atmos) "bSG" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50; +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty{ pixel_x = 2; pixel_y = 2 }, @@ -39716,9 +39477,7 @@ /area/engine/atmos) "bSH" = ( /obj/structure/table, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/glass/fifty, /obj/item/storage/belt/utility, /obj/item/device/t_scanner, /obj/item/device/t_scanner, @@ -40409,9 +40168,8 @@ /turf/open/floor/plasteel, /area/science/misc_lab) "bUl" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 2; - icon_state = "pipe-j2s"; sortType = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -40474,8 +40232,7 @@ /area/maintenance/port/aft) "bUu" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable{ icon_state = "2-4" @@ -40499,8 +40256,7 @@ /turf/open/floor/plating, /area/maintenance/port/aft) "bUx" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-y"; +/obj/structure/disposalpipe/junction/yjunction{ dir = 1 }, /obj/structure/cable{ @@ -40686,6 +40442,7 @@ /area/engine/atmos) "bUT" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 8; frequency = 1441; input_tag = "n2o_in"; name = "Nitrous Oxide Supply Control"; @@ -40715,8 +40472,7 @@ /area/engine/atmos) "bUY" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable{ icon_state = "1-4" @@ -40731,8 +40487,7 @@ /area/maintenance/aft) "bUZ" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable{ icon_state = "2-8" @@ -40757,8 +40512,7 @@ /area/tcommsat/computer) "bVc" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -40786,8 +40540,7 @@ /area/hallway/primary/aft) "bVf" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/yellow/corner{ @@ -41002,9 +40755,7 @@ /turf/open/floor/plasteel, /area/engine/break_room) "bVL" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/port/aft) @@ -41083,10 +40834,7 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bVW" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/clothing/suit/hazardvest, /obj/item/clothing/suit/hazardvest, /obj/item/clothing/suit/hazardvest, @@ -41802,7 +41550,9 @@ /turf/open/floor/plasteel/black/telecomms/mainframe, /area/tcommsat/server) "bXE" = ( -/obj/machinery/computer/message_monitor, +/obj/machinery/computer/message_monitor{ + dir = 4 + }, /turf/open/floor/plasteel/yellow/side{ dir = 8 }, @@ -41995,8 +41745,7 @@ /area/medical/virology) "bYd" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/white, /area/medical/virology) @@ -42197,6 +41946,7 @@ /area/tcommsat/server) "bYD" = ( /obj/machinery/computer/telecomms/server{ + dir = 4; network = "tcommsat" }, /turf/open/floor/plasteel/yellow/side{ @@ -42251,8 +42001,7 @@ pixel_y = -22 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 @@ -42292,6 +42041,7 @@ /area/engine/atmos) "bYT" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 8; frequency = 1441; input_tag = "tox_in"; name = "Plasma Supply Control"; @@ -42378,8 +42128,7 @@ /area/engine/break_room) "bZg" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, @@ -42691,9 +42440,7 @@ /turf/open/floor/plating, /area/maintenance/aft) "bZT" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/machinery/light/small{ dir = 1 }, @@ -42945,8 +42692,7 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -42959,8 +42705,7 @@ /area/security/checkpoint/engineering) "caC" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable{ icon_state = "1-8" @@ -43052,8 +42797,7 @@ /area/maintenance/aft) "caM" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable{ icon_state = "1-4" @@ -43068,8 +42812,7 @@ /area/maintenance/aft) "caN" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable{ icon_state = "4-8" @@ -43123,8 +42866,7 @@ /area/maintenance/aft) "caS" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable{ icon_state = "2-4" @@ -43136,8 +42878,7 @@ /area/maintenance/aft) "caT" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable{ icon_state = "1-8" @@ -43379,8 +43120,7 @@ /area/engine/engineering) "cbt" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/camera{ c_tag = "Aft Primary Hallway 1"; @@ -43546,8 +43286,7 @@ /area/maintenance/aft) "cbP" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable{ icon_state = "1-2" @@ -43817,8 +43556,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, @@ -43828,8 +43566,7 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/port/aft) @@ -43866,6 +43603,7 @@ /area/engine/atmos) "ccA" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 8; frequency = 1441; input_tag = "co2_in"; name = "Carbon Dioxide Supply Control"; @@ -43915,8 +43653,7 @@ /area/maintenance/aft) "ccI" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable{ icon_state = "1-4" @@ -43937,8 +43674,7 @@ /area/maintenance/aft) "ccK" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable{ icon_state = "4-8" @@ -43950,8 +43686,7 @@ /area/maintenance/aft) "ccL" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable{ icon_state = "4-8" @@ -43967,8 +43702,7 @@ /area/maintenance/aft) "ccN" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable{ icon_state = "1-8" @@ -44089,6 +43823,7 @@ /area/tcommsat/server) "cdg" = ( /obj/machinery/computer/telecomms/monitor{ + dir = 4; network = "tcommsat" }, /turf/open/floor/plasteel/yellow/side{ @@ -44096,9 +43831,8 @@ }, /area/tcommsat/computer) "cdh" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 8; - icon_state = "pipe-j2s"; sortType = 4 }, /obj/structure/cable{ @@ -44121,8 +43855,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable{ @@ -44219,8 +43952,7 @@ /area/maintenance/starboard/aft) "cdv" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable{ @@ -44339,8 +44071,7 @@ /area/maintenance/aft) "cdJ" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -44349,8 +44080,7 @@ /area/maintenance/aft) "cdK" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 @@ -44373,8 +44103,7 @@ /area/maintenance/aft) "cdN" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plating, /area/maintenance/aft) @@ -44498,10 +44227,7 @@ /turf/open/floor/plasteel, /area/bridge) "cei" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 @@ -44792,10 +44518,7 @@ /turf/open/floor/plasteel, /area/engine/engineering) "cfa" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/storage/belt/utility, /obj/item/wrench, /obj/item/weldingtool, @@ -44899,9 +44622,7 @@ /area/maintenance/aft) "cfn" = ( /obj/structure/disposalpipe/segment, -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance, /obj/item/reagent_containers/food/snacks/donkpocket, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -45322,9 +45043,7 @@ /turf/open/floor/plating, /area/maintenance/starboard/aft) "cgu" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, @@ -45460,10 +45179,7 @@ /turf/open/floor/engine, /area/engine/engineering) "cgO" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/lighter, /obj/item/clothing/glasses/meson{ pixel_y = 4 @@ -45523,6 +45239,7 @@ /area/engine/engineering) "cgV" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 1; frequency = 1441; input_tag = "n2_in"; name = "Nitrogen Supply Control"; @@ -45555,6 +45272,7 @@ /area/engine/atmos) "cgZ" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 1; frequency = 1441; input_tag = "o2_in"; name = "Oxygen Supply Control"; @@ -45583,6 +45301,7 @@ /area/engine/atmos) "chc" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 1; frequency = 1441; input_tag = "air_in"; name = "Mixed Air Supply Control"; @@ -45766,8 +45485,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/starboard/aft) @@ -45805,9 +45523,7 @@ /turf/open/floor/plasteel, /area/engine/engineering) "chC" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/structure/cable{ icon_state = "4-8" }, @@ -45994,12 +45710,8 @@ dir = 1 }, /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/machinery/light{ dir = 1 }, @@ -46097,7 +45809,9 @@ /turf/open/floor/plasteel/vault, /area/engine/engineering) "cik" = ( -/obj/machinery/computer/apc_control, +/obj/machinery/computer/apc_control{ + dir = 4 + }, /obj/machinery/airalarm{ dir = 4; pixel_x = -22 @@ -46307,6 +46021,7 @@ /area/solar/port/aft) "ciQ" = ( /obj/machinery/power/solar_control{ + dir = 4; id = "portsolar"; name = "Port Quarter Solar Control"; track = 0 @@ -46338,8 +46053,7 @@ /area/maintenance/port/aft) "ciU" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, @@ -46350,15 +46064,9 @@ /area/engine/engineering) "ciX" = ( /obj/structure/closet/crate, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/rods/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/item/electronics/airlock, /obj/item/electronics/airlock, /obj/item/stock_parts/cell/high/plus, @@ -46428,7 +46136,9 @@ }, /area/engine/engineering) "cjg" = ( -/obj/machinery/computer/card/minor/ce, +/obj/machinery/computer/card/minor/ce{ + dir = 4 + }, /obj/machinery/requests_console{ announcementConsole = 1; department = "Chief Engineer's Desk"; @@ -46454,8 +46164,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 @@ -46556,8 +46265,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/floorgrime, /area/maintenance/disposal/incinerator) @@ -46580,8 +46288,7 @@ /area/maintenance/aft) "cjz" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/closed/wall, /area/maintenance/aft) @@ -46729,7 +46436,9 @@ /turf/open/floor/plasteel, /area/engine/engineering) "cjU" = ( -/obj/machinery/computer/station_alert, +/obj/machinery/computer/station_alert{ + dir = 4 + }, /obj/machinery/computer/security/telescreen{ desc = "Used for watching the RD's goons from the safety of your own office."; dir = 4; @@ -46776,8 +46485,7 @@ }, /obj/item/cartridge/atmos, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 @@ -47219,6 +46927,7 @@ pixel_y = -31 }, /obj/machinery/computer/turbine_computer{ + dir = 1; id = "incineratorturbine" }, /turf/open/floor/plasteel/floorgrime, @@ -47547,16 +47256,14 @@ /turf/open/floor/plating, /area/maintenance/aft) "cmh" = ( -/obj/structure/disposalpipe/junction{ - dir = 2; - icon_state = "pipe-y" +/obj/structure/disposalpipe/junction/yjunction{ + dir = 2 }, /turf/open/floor/plating, /area/maintenance/aft) "cmi" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, @@ -47586,9 +47293,7 @@ /turf/open/floor/plating, /area/maintenance/starboard/aft) "cmo" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/starboard/aft) @@ -47639,6 +47344,7 @@ /area/maintenance/solars/starboard/aft) "cmw" = ( /obj/machinery/power/solar_control{ + dir = 1; id = "starboardsolar"; name = "Starboard Quarter Solar Control"; track = 0 @@ -47817,8 +47523,7 @@ /area/maintenance/disposal/incinerator) "cnb" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/aft) @@ -47836,8 +47541,7 @@ /area/maintenance/aft) "cne" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, @@ -47854,8 +47558,7 @@ /obj/machinery/light/small, /obj/structure/table, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/effect/spawner/lootdrop/maintenance, /obj/item/clipboard, @@ -48027,15 +47730,13 @@ /area/maintenance/disposal/incinerator) "cnD" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/closed/wall, /area/maintenance/aft) "cnE" = ( -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 4 }, /turf/open/floor/plating, /area/maintenance/aft) @@ -48053,8 +47754,7 @@ "cnG" = ( /obj/structure/closet/emcloset, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plating, /area/maintenance/aft) @@ -48118,9 +47818,6 @@ /obj/structure/cable{ icon_state = "1-4" }, -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/machinery/atmospherics/pipe/manifold4w/scrubbers, /turf/open/floor/plasteel/black, /area/engine/engine_smes) @@ -48636,15 +48333,9 @@ /area/engine/engineering) "cps" = ( /obj/structure/table, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, /turf/open/floor/plasteel, /area/engine/engineering) "cpt" = ( @@ -48863,9 +48554,7 @@ /area/engine/engineering) "cpX" = ( /obj/structure/table, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /turf/open/floor/plasteel, /area/engine/engineering) "cpY" = ( @@ -49198,12 +48887,8 @@ /area/maintenance/starboard/fore) "cqN" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, /turf/open/floor/plasteel, /area/engine/engineering) "cqO" = ( @@ -49312,8 +48997,7 @@ /area/engine/engineering) "cri" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/starboard/aft) @@ -49742,8 +49426,7 @@ /obj/structure/table, /obj/item/weldingtool, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating, /area/maintenance/starboard/aft) @@ -49831,6 +49514,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 6 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, /turf/open/floor/engine, /area/engine/engineering) "csT" = ( @@ -49981,9 +49667,7 @@ }, /area/ai_monitored/turret_protected/aisat_interior) "cts" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/machinery/light/small{ dir = 1 }, @@ -50256,9 +49940,7 @@ /turf/open/floor/plasteel/black, /area/ai_monitored/turret_protected/aisat_interior) "cuc" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/machinery/status_display{ pixel_y = -32 }, @@ -50432,12 +50114,8 @@ /area/ai_monitored/turret_protected/aisat/service) "cux" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/item/clothing/head/welding, /obj/item/stack/sheet/mineral/plasma{ amount = 35 @@ -51501,7 +51179,9 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "cwK" = ( -/obj/machinery/computer/atmos_alert, +/obj/machinery/computer/atmos_alert{ + dir = 4 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "cwL" = ( @@ -51521,7 +51201,9 @@ }, /area/ai_monitored/security/armory) "cwN" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 8 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "cwO" = ( @@ -51534,7 +51216,9 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "cwP" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 4 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "cwQ" = ( @@ -51554,7 +51238,9 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "cwS" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 8 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "cwT" = ( @@ -52114,14 +51800,11 @@ /area/shuttle/abandoned) "cyn" = ( /obj/structure/table, -/obj/item/stack/sheet/glass{ - amount = 50; +/obj/item/stack/sheet/glass/fifty{ pixel_x = -2; pixel_y = 2 }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /obj/effect/decal/cleanable/dirt{ desc = "A thin layer of dust coating the floor."; name = "dust" @@ -52691,8 +52374,7 @@ /area/maintenance/starboard/aft) "czT" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -52704,8 +52386,7 @@ /area/maintenance/starboard/aft) "czU" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable{ icon_state = "4-8" @@ -52769,8 +52450,7 @@ "cAb" = ( /obj/structure/closet, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -52901,6 +52581,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 10 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, /turf/open/floor/engine, /area/engine/engineering) "cAu" = ( @@ -52919,8 +52602,7 @@ /area/maintenance/port/aft) "cAz" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 @@ -53041,7 +52723,9 @@ /turf/closed/wall/r_wall, /area/engine/supermatter) "cAQ" = ( -/obj/structure/chair, +/obj/structure/chair{ + dir = 8 + }, /turf/open/floor/plating, /area/maintenance/port/aft) "cAR" = ( @@ -53306,8 +52990,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -53359,8 +53042,7 @@ icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -53544,7 +53226,7 @@ /turf/open/floor/plasteel/grimy, /area/chapel/office) "cCa" = ( -/obj/structure/table/wood/poker, +/obj/structure/chair/stool, /turf/open/floor/wood, /area/maintenance/bar) "cCb" = ( @@ -53556,9 +53238,7 @@ /turf/open/floor/plating, /area/construction) "cCc" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/item/clothing/suit/hazardvest, /turf/open/floor/plating, /area/construction) @@ -53690,7 +53370,9 @@ /turf/open/floor/pod/light, /area/shuttle/transport) "cCx" = ( -/obj/machinery/computer/shuttle/ferry/request, +/obj/machinery/computer/shuttle/ferry/request{ + dir = 8 + }, /turf/open/floor/pod/dark, /area/shuttle/transport) "cCy" = ( @@ -54039,10 +53721,7 @@ /turf/open/floor/engine, /area/engine/engineering) "cDH" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/clothing/mask/gas{ pixel_x = 3; pixel_y = 3 @@ -54719,6 +54398,9 @@ /area/engine/engineering) "cGu" = ( /obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 6 + }, /turf/open/floor/engine, /area/engine/engineering) "cGv" = ( @@ -54726,32 +54408,34 @@ icon_state = "1-2" }, /obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, /turf/open/floor/engine, /area/engine/engineering) "cGx" = ( /obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 5 - }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible, +/obj/machinery/meter, /turf/open/floor/engine, /area/engine/engineering) "cGC" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 }, -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4; + name = "Output Release"; + open = 1 }, /turf/open/floor/engine, /area/engine/engineering) "cGD" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, -/turf/open/floor/plating, +/turf/closed/wall/r_wall, /area/engine/engineering) "cGE" = ( /obj/effect/spawner/structure/window/plasma/reinforced, @@ -54762,8 +54446,8 @@ /area/engine/engineering) "cGH" = ( /obj/effect/spawner/structure/window/plasma/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 }, /turf/open/floor/plating, /area/engine/engineering) @@ -54786,11 +54470,10 @@ /turf/open/floor/plating, /area/engine/engineering) "cGL" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, -/turf/open/floor/plating, +/turf/closed/wall/r_wall, /area/engine/engineering) "cGM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, @@ -54903,26 +54586,24 @@ /obj/structure/cable{ icon_state = "1-4" }, -/obj/machinery/light, /turf/open/floor/plating, /area/engine/engineering) "cHo" = ( /obj/structure/reflector/single/anchored{ dir = 9 }, -/turf/open/floor/plating, +/turf/open/floor/plasteel/black, /area/engine/engineering) "cHp" = ( /obj/structure/reflector/single/anchored{ dir = 5 }, -/turf/open/floor/plating, +/turf/open/floor/plasteel/black, /area/engine/engineering) "cHr" = ( /obj/structure/cable{ icon_state = "1-8" }, -/obj/machinery/light, /turf/open/floor/plating, /area/engine/engineering) "cHs" = ( @@ -54934,9 +54615,8 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 2; - icon_state = "pipe-j2s"; sortType = 14 }, /obj/structure/cable{ @@ -55097,15 +54777,9 @@ }, /obj/structure/table, /obj/item/storage/belt/utility, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, /obj/item/stack/sheet/glass{ amount = 20; pixel_x = -3; @@ -55715,9 +55389,7 @@ /area/engine/engineering) "cSJ" = ( /obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ - dir = 8; - filter_type = "freon"; - name = "gas filter (freon)" + dir = 8 }, /turf/open/floor/engine, /area/engine/engineering) @@ -55961,7 +55633,9 @@ /turf/open/floor/plating, /area/maintenance/central/secondary) "cTE" = ( -/obj/machinery/computer/shuttle/mining, +/obj/machinery/computer/shuttle/mining{ + dir = 8 + }, /turf/open/floor/plasteel/yellow/side{ dir = 4 }, @@ -56165,9 +55839,7 @@ /area/shuttle/abandoned) "Qlq" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, /obj/item/stock_parts/cell/high{ charge = 100; maxcharge = 15000; @@ -56486,11 +56158,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "QlP" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9; - pixel_y = 2 - }, +/obj/structure/rack, /obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = 6 @@ -57067,7 +56735,9 @@ desc = "A thin layer of dust coating the floor."; name = "dust" }, -/obj/machinery/computer/shuttle/white_ship, +/obj/machinery/computer/shuttle/white_ship{ + dir = 8 + }, /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "QmU" = ( @@ -57817,67 +57487,171 @@ /turf/open/space/basic, /area/space) "Qov" = ( -/obj/structure/grille, -/turf/open/space/basic, -/area/space) +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) "Qow" = ( -/obj/structure/grille, -/turf/open/space/basic, -/area/space) +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) "Qox" = ( -/obj/structure/grille, -/turf/open/space/basic, -/area/space) +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) "Qoy" = ( -/obj/structure/grille, -/turf/open/space/basic, -/area/space) +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) "Qoz" = ( -/obj/structure/grille, -/turf/open/space/basic, -/area/space) +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4; + name = "Output to Waste" + }, +/turf/open/floor/engine, +/area/engine/engineering) "QoA" = ( -/obj/structure/grille, -/turf/open/space/basic, -/area/space) +/obj/structure/table, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = -7 + }, +/obj/item/stack/cable_coil, +/turf/open/floor/plasteel/black, +/area/engine/engineering) "QoB" = ( -/obj/structure/grille, -/turf/open/space/basic, -/area/space) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/black, +/area/engine/engineering) "QoC" = ( -/obj/structure/grille, -/turf/open/space/basic, -/area/space) +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/black, +/area/engine/engineering) "QoD" = ( +/obj/structure/table, +/obj/item/stack/sheet/metal/fifty, +/turf/open/floor/plasteel/black, +/area/engine/engineering) +"QoE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/black, +/area/engine/engineering) +"QoF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/black, +/area/engine/engineering) +"QoG" = ( +/obj/structure/girder, +/turf/open/floor/plasteel/black, +/area/engine/engineering) +"QoH" = ( +/obj/item/wrench, +/obj/item/weldingtool, +/obj/item/clothing/head/welding{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/structure/rack, +/turf/open/floor/plasteel/black, +/area/engine/engineering) +"QoI" = ( +/obj/machinery/light, +/turf/open/floor/plating, +/area/engine/engineering) +"QoJ" = ( +/obj/machinery/light, +/turf/open/floor/plating, +/area/engine/engineering) +"QoK" = ( +/obj/item/crowbar/large, +/obj/structure/rack, +/obj/item/device/flashlight, +/turf/open/floor/plasteel/black, +/area/engine/engineering) +"QoL" = ( +/obj/machinery/camera{ + c_tag = "Kitchen Cold Room" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/reagent_dispensers/cooking_oil, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/kitchen) +"QoM" = ( /obj/structure/grille, /turf/open/space/basic, /area/space) -"QoE" = ( -/turf/closed/wall, +"QoN" = ( +/obj/structure/grille, +/turf/open/space/basic, /area/space) -"QoF" = ( +"QoO" = ( +/obj/structure/grille, +/turf/open/space/basic, +/area/space) +"QoP" = ( +/obj/structure/grille, +/turf/open/space/basic, +/area/space) +"QoQ" = ( +/obj/structure/grille, +/turf/open/space/basic, +/area/space) +"QoR" = ( +/obj/structure/grille, +/turf/open/space/basic, +/area/space) +"QoS" = ( +/obj/structure/grille, +/turf/open/space/basic, +/area/space) +"QoT" = ( +/obj/structure/grille, +/turf/open/space/basic, +/area/space) +"QoU" = ( +/obj/structure/grille, +/turf/open/space/basic, +/area/space) +"QoV" = ( /obj/structure/window/reinforced, /obj/vehicle/secway, /obj/item/key/security, +/obj/machinery/door/window/eastleft{ + name = "Secway Docking Port" + }, +/obj/effect/turf_decal/delivery, /turf/open/floor/plasteel/showroomfloor, /area/security/main) -"QoG" = ( -/turf/closed/wall, -/area/space) -"QoH" = ( +"QoW" = ( /obj/structure/window/reinforced, /obj/vehicle/secway, /obj/item/key/security, +/obj/machinery/door/window/eastleft{ + name = "Secway Docking Port" + }, +/obj/effect/turf_decal/delivery, /turf/open/floor/plasteel/showroomfloor, /area/security/main) -"QoI" = ( +"QoX" = ( /obj/structure/closet/l3closet/security, /turf/open/floor/plasteel/showroomfloor, /area/security/main) -"QoJ" = ( -/turf/closed/wall, -/area/space) -"QoK" = ( +"QoY" = ( /obj/structure/table, /obj/item/grenade/barrier{ pixel_x = 4 @@ -57893,7 +57667,7 @@ dir = 8 }, /area/ai_monitored/security/armory) -"QoL" = ( +"QoZ" = ( /obj/structure/rack, /obj/item/gun/energy/e_gun/dragnet, /obj/item/gun/energy/e_gun/dragnet, @@ -57901,7 +57675,7 @@ dir = 8 }, /area/ai_monitored/security/armory) -"QoM" = ( +"Qpa" = ( /obj/structure/rack, /obj/item/clothing/suit/armor/bulletproof{ pixel_x = -3; @@ -57929,7 +57703,7 @@ dir = 8 }, /area/ai_monitored/security/armory) -"QoN" = ( +"Qpb" = ( /obj/structure/rack, /obj/item/clothing/suit/armor/riot{ pixel_x = -3; @@ -57962,21 +57736,30 @@ dir = 8 }, /area/ai_monitored/security/armory) -"QoO" = ( +"Qpc" = ( +/obj/structure/window/reinforced, +/obj/machinery/door/window/eastleft{ + name = "Cyborg Docking Port" + }, +/obj/machinery/recharge_station, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/showroomfloor, +/area/security/main) +"Qpd" = ( /obj/effect/landmark/secequipment, /obj/effect/turf_decal/bot{ dir = 2 }, /turf/open/floor/plasteel/showroomfloor, /area/security/main) -"QoP" = ( +"Qpe" = ( /obj/structure/closet/secure_closet/security/sec, /obj/effect/turf_decal/bot{ dir = 2 }, /turf/open/floor/plasteel/showroomfloor, /area/security/main) -"QoQ" = ( +"Qpf" = ( /obj/machinery/camera/motion{ c_tag = "Non-Lethal Armory Motion Sensor"; dir = 4 @@ -57986,14 +57769,14 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"QoR" = ( +"Qpg" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"QoS" = ( +"Qph" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/effect/turf_decal/stripes/line{ @@ -58001,21 +57784,21 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"QoT" = ( +"Qpi" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"QoU" = ( +"Qpj" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"QoV" = ( +"Qpk" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, @@ -58024,14 +57807,14 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"QoW" = ( +"Qpl" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"QoX" = ( +"Qpm" = ( /obj/machinery/door/poddoor/shutters{ id = "lowsecarmory"; name = "Non-Lethal Armoury Shutter" @@ -58045,26 +57828,26 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"QoY" = ( +"Qpn" = ( /obj/effect/landmark/secequipment, /obj/effect/turf_decal/bot{ dir = 2 }, /turf/open/floor/plasteel/showroomfloor, /area/security/main) -"QoZ" = ( +"Qpo" = ( /obj/machinery/suit_storage_unit/security, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ai_monitored/security/armory) -"Qpa" = ( +"Qpp" = ( /obj/machinery/suit_storage_unit/security, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ai_monitored/security/armory) -"Qpb" = ( +"Qpq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, @@ -58073,7 +57856,7 @@ dir = 8 }, /area/ai_monitored/security/armory) -"Qpc" = ( +"Qpr" = ( /obj/machinery/suit_storage_unit/security, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -58082,7 +57865,7 @@ dir = 8 }, /area/ai_monitored/security/armory) -"Qpd" = ( +"Qps" = ( /obj/machinery/suit_storage_unit/security, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -58091,7 +57874,7 @@ dir = 8 }, /area/ai_monitored/security/armory) -"Qpe" = ( +"Qpt" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, @@ -58104,14 +57887,14 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"Qpf" = ( +"Qpu" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable{ icon_state = "4-8" }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"Qpg" = ( +"Qpv" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable{ @@ -58119,7 +57902,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"Qph" = ( +"Qpw" = ( /obj/machinery/firealarm{ pixel_y = 24 }, @@ -58128,7 +57911,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"Qpi" = ( +"Qpx" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, @@ -58142,7 +57925,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"Qpj" = ( +"Qpy" = ( /obj/machinery/light{ dir = 1 }, @@ -58152,9 +57935,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"Qpk" = ( +"Qpz" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 }, @@ -58172,7 +57956,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"Qpl" = ( +"QpA" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, @@ -58181,13 +57965,13 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"Qpm" = ( +"QpB" = ( /obj/structure/closet/secure_closet/lethalshots, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ai_monitored/security/armory) -"Qpn" = ( +"QpC" = ( /obj/structure/table, /obj/item/storage/box/firingpins, /obj/item/storage/box/firingpins, @@ -58195,166 +57979,153 @@ dir = 8 }, /area/ai_monitored/security/armory) -"Qpo" = ( +"QpD" = ( /obj/structure/table, /obj/item/storage/toolbox/drone, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ai_monitored/security/armory) -"Qpp" = ( -/obj/structure/falsewall, +"QpE" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/rack, +/obj/item/clothing/mask/gas/sechailer{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/clothing/mask/gas/sechailer, +/obj/item/clothing/mask/gas/sechailer{ + pixel_x = 3; + pixel_y = -3 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"QpF" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, /turf/open/floor/plating, -/area/security/execution/transfer) -"Qpq" = ( -/obj/effect/turf_decal/stripes/corner{ +/area/security/warden) +"QpG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/table, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"QpH" = ( +/obj/machinery/computer/secure_data{ dir = 1 }, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/decal/cleanable/cobweb{ - icon_state = "cobweb2" +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"QpI" = ( +/obj/structure/table, +/obj/item/folder/red, +/obj/item/pen, +/obj/item/hand_labeler, +/obj/item/book/manual/wiki/security_space_law, +/obj/machinery/light, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"QpJ" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/brigdoor{ + dir = 1; + name = "Armory Desk"; + req_access_txt = "3" }, -/turf/open/floor/plating, -/area/security/execution/transfer) -"Qpr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/machinery/door/window/southleft{ + name = "Reception Desk"; + req_access_txt = "63" }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 }, -/obj/machinery/light/small{ - dir = 8 +/obj/item/pen{ + pixel_x = 4; + pixel_y = 4 }, -/turf/open/floor/plating, -/area/security/execution/transfer) -"Qps" = ( -/obj/structure/sign/securearea{ - pixel_y = 32 +/obj/structure/cable{ + icon_state = "1-8" }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 +/obj/structure/cable{ + icon_state = "1-4" }, -/turf/open/floor/plating, -/area/security/execution/transfer) -"Qpt" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"QpK" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/brig) +"QpL" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/brig) +"QpM" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/closet/secure_closet/brig{ - id = "highseccell"; - name = "High Security Cell Locker" - }, -/turf/open/floor/plating, -/area/security/execution/transfer) -"Qpu" = ( -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plasteel/floorgrime, -/area/security/execution/transfer) -"Qpv" = ( -/turf/open/floor/plasteel/floorgrime, -/area/security/execution/transfer) -"Qpw" = ( -/obj/effect/decal/cleanable/cobweb{ - icon_state = "cobweb2" - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/execution/transfer) -"Qpx" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/plating, -/area/security/execution/transfer) -"Qpy" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/door_timer{ - id = "highseccell"; - name = "High Security Cell"; - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/security/execution/transfer) -"Qpz" = ( -/obj/effect/turf_decal/stripes/corner{ +/turf/open/floor/plasteel/red/corner{ dir = 4 }, -/obj/effect/turf_decal/stripes/corner{ +/area/security/brig) +"QpN" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, -/obj/machinery/door/window/brigdoor/security/cell{ - dir = 4; - id = "highseccell"; - name = "High Security Cell Interior" +/turf/open/floor/plasteel/red/side{ + dir = 1 }, -/obj/machinery/door/window/brigdoor/security/cell{ - dir = 8; - id = "highseccell"; - name = "High Security Cell Exterior" +/area/security/brig) +"QpO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/red/corner{ + dir = 1 + }, +/area/security/brig) +"QpP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 }, /obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/security/execution/transfer) -"QpA" = ( -/turf/open/floor/plasteel/floorgrime, -/area/security/execution/transfer) -"QpB" = ( -/obj/structure/bed, -/obj/item/clothing/suit/straight_jacket, -/obj/item/clothing/mask/muzzle, -/turf/open/floor/plasteel/floorgrime, -/area/security/execution/transfer) -"QpC" = ( -/obj/machinery/flasher{ - id = "highseccell"; - pixel_x = 28 +/obj/machinery/door/airlock/glass_security{ + cyclelinkeddir = 2; + id_tag = "innerbrig"; + name = "Brig"; + req_access_txt = "63" }, -/obj/machinery/light/small{ - dir = 4 +/turf/open/floor/plasteel/red/side{ + dir = 9 }, -/turf/open/floor/plasteel/floorgrime, -/area/security/execution/transfer) -"QpD" = ( -/turf/open/floor/plasteel/floorgrime, -/area/security/execution/transfer) -"QpE" = ( -/turf/open/floor/plasteel/floorgrime, -/area/security/execution/transfer) -"QpF" = ( -/turf/open/floor/plasteel/floorgrime, -/area/security/execution/transfer) -"QpG" = ( +/area/security/brig) +"QpQ" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /turf/open/floor/plasteel, /area/security/brig) -"QpH" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/security/brig) -"QpI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, +"QpR" = ( /obj/machinery/door_timer{ id = "Cell 2"; name = "Cell 2"; pixel_y = -32 }, /obj/machinery/light, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/red/corner, /area/security/brig) -"QpJ" = ( +"QpS" = ( /obj/machinery/door_timer{ id = "Cell 3"; name = "Cell 3"; @@ -58365,7 +58136,37 @@ }, /turf/open/floor/plasteel/red/corner, /area/security/brig) -"QpK" = ( +"QpT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/red/corner{ + dir = 8 + }, +/area/security/brig) +"QpU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/glass_security{ + cyclelinkeddir = 2; + id_tag = "innerbrig"; + name = "Brig"; + req_access_txt = "63" + }, +/turf/open/floor/plasteel/red/side{ + dir = 10 + }, +/area/security/brig) +"QpV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/red/side, +/area/security/brig) +"QpW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ @@ -58376,7 +58177,7 @@ }, /turf/open/floor/plating, /area/security/brig) -"QpL" = ( +"QpX" = ( /obj/machinery/door/window/brigdoor/security/cell{ id = "Cell 3"; name = "Cell 3" @@ -58387,26 +58188,22 @@ }, /turf/open/floor/plasteel/red/side, /area/security/brig) -"QpM" = ( +"QpY" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass_security{ - cyclelinkeddir = 2; - id_tag = "innerbrig"; - name = "Brig"; - req_access_txt = "63" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "seclobby"; - name = "security shutters" - }, /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/door/airlock/glass_security{ + cyclelinkeddir = 1; + id_tag = "outerbrig"; + name = "Brig"; + req_access_txt = "63" + }, /turf/open/floor/plasteel/red/side{ dir = 9 }, /area/security/brig) -"QpN" = ( +"QpZ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, @@ -58415,25 +58212,25 @@ }, /turf/open/floor/plasteel/floorgrime, /area/security/brig) -"QpO" = ( +"Qqa" = ( /turf/open/floor/plasteel/red/side{ dir = 1 }, /area/hallway/primary/fore) -"QpP" = ( +"Qqb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plasteel/floorgrime, /area/security/brig) -"QpQ" = ( +"Qqc" = ( /obj/machinery/flasher{ id = "Cell 2"; pixel_x = -28 }, /turf/open/floor/plasteel/floorgrime, /area/security/brig) -"QpR" = ( +"Qqd" = ( /obj/machinery/flasher{ id = "Cell 3"; pixel_x = -28 @@ -58443,14 +58240,14 @@ }, /turf/open/floor/plasteel/floorgrime, /area/security/brig) -"QpS" = ( +"Qqe" = ( /obj/machinery/flasher{ id = "Cell 4"; pixel_x = -28 }, /turf/open/floor/plasteel/floorgrime, /area/security/brig) -"QpT" = ( +"Qqf" = ( /obj/structure/table/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ id = "briggate"; @@ -58462,44 +58259,44 @@ }, /turf/open/floor/plasteel/black, /area/security/brig) -"QpU" = ( +"Qqg" = ( /turf/open/floor/plasteel/red/side{ dir = 8 }, /area/hallway/primary/fore) -"QpV" = ( +"Qqh" = ( /turf/open/floor/plasteel/red/side{ dir = 1 }, /area/hallway/primary/fore) -"QpW" = ( +"Qqi" = ( /turf/open/floor/plasteel/red/side{ dir = 1 }, /area/hallway/primary/fore) -"QpX" = ( +"Qqj" = ( /turf/open/floor/plasteel/red/side{ dir = 6 }, /area/hallway/primary/fore) -"QpY" = ( +"Qqk" = ( /turf/open/floor/plasteel/red/side{ dir = 10 }, /area/hallway/primary/fore) -"QpZ" = ( +"Qql" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/red/side{ dir = 4 }, /area/hallway/primary/fore) -"Qqa" = ( +"Qqm" = ( /obj/machinery/vending/cigarette, /turf/open/floor/plasteel/red/side{ dir = 4 }, /area/hallway/primary/fore) -"Qqb" = ( +"Qqn" = ( /obj/structure/table/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ id = "briggate"; @@ -58516,7 +58313,7 @@ }, /turf/open/floor/plasteel/black, /area/security/brig) -"Qqc" = ( +"Qqo" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ id = "seclobby"; @@ -58527,28 +58324,24 @@ }, /turf/open/floor/plating, /area/security/brig) -"Qqd" = ( +"Qqp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/red/side{ dir = 4 }, /area/hallway/primary/fore) -"Qqe" = ( +"Qqq" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, /turf/open/floor/plasteel/red/side{ dir = 4 }, /area/hallway/primary/fore) -"Qqf" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/red/corner{ - dir = 1 - }, -/area/hallway/primary/fore) -"Qqg" = ( +"Qqr" = ( +/obj/machinery/vending/kink, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"Qqs" = ( /obj/structure/sign/securearea{ pixel_y = 32 }, @@ -58556,11 +58349,11 @@ dir = 4 }, /area/hallway/primary/fore) -"Qqh" = ( +"Qqt" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_security{ cyclelinkeddir = 1; - id_tag = "outerbrig"; + id_tag = "lobbyairlock"; name = "Security Lobby"; req_access_txt = "0" }, @@ -58568,46 +58361,46 @@ dir = 1 }, /area/hallway/primary/fore) -"Qqi" = ( +"Qqu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/red/side{ dir = 10 }, /area/hallway/primary/fore) -"Qqj" = ( +"Qqv" = ( /turf/open/floor/plasteel/red/side, /area/hallway/primary/fore) -"Qqk" = ( +"Qqw" = ( /turf/open/floor/plasteel/red/side, /area/hallway/primary/fore) -"Qql" = ( +"Qqx" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/red/side{ dir = 6 }, /area/hallway/primary/fore) -"Qqm" = ( +"Qqy" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/red/side{ dir = 4 }, /area/hallway/primary/fore) -"Qqn" = ( +"Qqz" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_security{ cyclelinkeddir = 1; - id_tag = "outerbrig"; + id_tag = "lobbyairlock"; name = "Security Lobby"; req_access_txt = "0" }, /turf/open/floor/plasteel/red/side, /area/hallway/primary/fore) -"Qqo" = ( +"QqA" = ( /turf/open/floor/plasteel/red/side{ dir = 6 }, /area/hallway/primary/fore) -"Qqp" = ( +"QqB" = ( /obj/machinery/flasher{ id = "brigentry"; pixel_x = 0; @@ -58619,34 +58412,70 @@ }, /turf/open/floor/plasteel/red/side, /area/hallway/primary/fore) -"Qqq" = ( +"QqC" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"QqD" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/maintenance/fore/secondary) -"Qqr" = ( +"QqE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment, /turf/closed/wall, /area/maintenance/fore/secondary) -"Qqs" = ( +"QqF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"QqG" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/fore/secondary) -"Qqt" = ( +"QqH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"QqI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"QqJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"QqK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"QqL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"QqM" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, /turf/open/floor/plating, /area/maintenance/fore) -"Qqu" = ( +"QqN" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"QqO" = ( /obj/structure/chair/wood{ dir = 4 }, @@ -58654,11 +58483,11 @@ icon_state = "wood-broken6" }, /area/maintenance/bar/cafe) -"Qqv" = ( +"QqP" = ( /obj/structure/table/wood, /turf/open/floor/wood, /area/maintenance/bar/cafe) -"Qqw" = ( +"QqQ" = ( /obj/structure/chair/wood{ dir = 8 }, @@ -58666,72 +58495,65 @@ icon_state = "wood-broken7" }, /area/maintenance/bar/cafe) -"Qqx" = ( +"QqR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/maintenance/bar/cafe) -"Qqy" = ( +"QqS" = ( /obj/structure/table/wood, /turf/open/floor/wood, /area/maintenance/bar/cafe) -"Qqz" = ( +"QqT" = ( /turf/open/floor/wood{ icon_state = "wood-broken5" }, /area/maintenance/bar/cafe) -"QqA" = ( +"QqU" = ( /obj/structure/table/wood, /obj/machinery/chem_dispenser/drinks/beer, /turf/open/floor/wood, /area/maintenance/bar/cafe) -"QqB" = ( +"QqV" = ( /turf/open/floor/wood{ icon_state = "wood-broken5" }, /area/maintenance/bar/cafe) -"QqC" = ( +"QqW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/wood, /area/maintenance/bar/cafe) -"QqD" = ( -/obj/structure/chair/wood{ - dir = 4 - }, +"QqX" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /turf/open/floor/wood, /area/maintenance/bar/cafe) -"QqE" = ( +"QqY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/structure/table/wood, /obj/structure/cable{ icon_state = "1-2" }, /turf/open/floor/wood, /area/maintenance/bar/cafe) -"QqF" = ( +"QqZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/structure/chair/wood{ - dir = 8 - }, /turf/open/floor/wood, /area/maintenance/bar/cafe) -"QqG" = ( +"Qra" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/chair/stool/bar, /turf/open/floor/wood{ icon_state = "wood-broken7" }, /area/maintenance/bar/cafe) -"QqH" = ( +"Qrb" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, @@ -58740,22 +58562,22 @@ icon_state = "wood-broken6" }, /area/maintenance/bar/cafe) -"QqI" = ( +"Qrc" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/wood, /area/maintenance/bar/cafe) -"QqJ" = ( +"Qrd" = ( /obj/structure/table/wood, /obj/machinery/chem_dispenser/drinks, /turf/open/floor/wood, /area/maintenance/bar/cafe) -"QqK" = ( +"Qre" = ( /obj/structure/chair/wood{ dir = 4 }, /turf/open/floor/wood, /area/maintenance/bar/cafe) -"QqL" = ( +"Qrf" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, @@ -58765,7 +58587,7 @@ icon_state = "wood-broken" }, /area/maintenance/bar/cafe) -"QqM" = ( +"Qrg" = ( /obj/machinery/power/apc{ areastring = "/area/crew_quarters/theatre/mime"; dir = 2; @@ -58787,7 +58609,7 @@ icon_state = "wood-broken6" }, /area/maintenance/bar/cafe) -"QqN" = ( +"Qrh" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/structure/cable{ icon_state = "2-4" @@ -58797,7 +58619,7 @@ }, /turf/open/floor/wood, /area/maintenance/bar/cafe) -"QqO" = ( +"Qri" = ( /obj/machinery/power/apc{ areastring = "/area/crew_quarters/theatre/mime"; dir = 2; @@ -58816,7 +58638,7 @@ icon_state = "wood-broken6" }, /area/maintenance/bar/cafe) -"QqP" = ( +"Qrj" = ( /obj/machinery/light/small, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 @@ -58825,7 +58647,7 @@ icon_state = "wood-broken" }, /area/maintenance/bar/cafe) -"QqQ" = ( +"Qrk" = ( /obj/structure/table/wood, /obj/item/storage/box/drinkingglasses, /obj/machinery/light_switch{ @@ -58833,14 +58655,14 @@ }, /turf/open/floor/wood, /area/maintenance/bar/cafe) -"QqR" = ( +"Qrl" = ( /turf/closed/wall, /area/crew_quarters/theatre/mime) -"QqS" = ( +"Qrm" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall, /area/crew_quarters/theatre/mime) -"QqT" = ( +"Qrn" = ( /obj/structure/barricade/wooden, /obj/structure/grille, /obj/structure/cable{ @@ -58848,17 +58670,17 @@ }, /turf/open/floor/wood, /area/maintenance/fore) -"QqU" = ( +"Qro" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall, /area/crew_quarters/theatre/clown) -"QqV" = ( +"Qrp" = ( /obj/machinery/vending/autodrobe, /turf/open/floor/plasteel/white/side{ dir = 1 }, /area/crew_quarters/theatre/mime) -"QqW" = ( +"Qrq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/light{ dir = 1 @@ -58867,7 +58689,7 @@ dir = 1 }, /area/crew_quarters/theatre/mime) -"QqX" = ( +"Qrr" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/bed, /obj/item/bedsheet/mime, @@ -58875,12 +58697,12 @@ dir = 1 }, /area/crew_quarters/theatre/mime) -"QqY" = ( +"Qrs" = ( /obj/structure/closet/secure_closet/freezer/cream_pie, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/theatre/clown) -"QqZ" = ( +"Qrt" = ( /obj/structure/closet/crate/wooden/toy, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/light{ @@ -58888,18 +58710,11 @@ }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/theatre/clown) -"Qra" = ( +"Qru" = ( /obj/machinery/vending/autodrobe, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/theatre/clown) -"Qrb" = ( -/obj/machinery/recharger{ - pixel_y = 4 - }, -/obj/structure/table, -/turf/open/floor/plasteel/red/side, -/area/security/checkpoint/customs) -"Qrc" = ( +"Qrv" = ( /obj/structure/table, /obj/item/reagent_containers/food/snacks/baguette, /obj/item/toy/dummy, @@ -58910,7 +58725,7 @@ dir = 1 }, /area/crew_quarters/theatre/mime) -"Qrd" = ( +"Qrw" = ( /obj/effect/landmark/start/mime, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 @@ -58919,7 +58734,7 @@ dir = 1 }, /area/crew_quarters/theatre/mime) -"Qre" = ( +"Qrx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/camera{ c_tag = "Mime's Office"; @@ -58929,7 +58744,7 @@ dir = 1 }, /area/crew_quarters/theatre/mime) -"Qrf" = ( +"Qry" = ( /obj/structure/mirror{ pixel_x = -28 }, @@ -58941,14 +58756,14 @@ }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/theatre/clown) -"Qrg" = ( +"Qrz" = ( /obj/effect/landmark/start/clown, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/theatre/clown) -"Qrh" = ( +"QrA" = ( /obj/structure/bed, /obj/item/bedsheet/clown, /obj/machinery/airalarm{ @@ -58957,7 +58772,7 @@ }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/theatre/clown) -"Qri" = ( +"QrB" = ( /obj/structure/table, /obj/item/lipstick/random{ pixel_x = -2; @@ -58975,37 +58790,30 @@ dir = 1 }, /area/crew_quarters/theatre/mime) -"Qrj" = ( +"QrC" = ( /turf/open/floor/plasteel/white/side{ dir = 1 }, /area/crew_quarters/theatre/mime) -"Qrk" = ( +"QrD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white/side{ dir = 1 }, /area/crew_quarters/theatre/mime) -"Qrl" = ( +"QrE" = ( /obj/structure/reagent_dispensers/water_cooler, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/theatre/clown) -"Qrm" = ( +"QrF" = ( /turf/open/floor/plasteel/redyellow, /area/crew_quarters/theatre/clown) -"Qrn" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/item/bikehorn, +"QrG" = ( +/obj/structure/displaycase/clown, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/theatre/clown) -"Qro" = ( +"QrH" = ( /obj/structure/table, /obj/item/paper_bin{ pixel_x = 1; @@ -59016,7 +58824,7 @@ dir = 1 }, /area/crew_quarters/theatre/mime) -"Qrp" = ( +"QrI" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, @@ -59024,7 +58832,7 @@ dir = 1 }, /area/crew_quarters/theatre/mime) -"Qrq" = ( +"QrJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, @@ -59032,7 +58840,7 @@ dir = 1 }, /area/crew_quarters/theatre/mime) -"Qrr" = ( +"QrK" = ( /obj/structure/table, /obj/item/device/flashlight/lamp/bananalamp, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -59046,93 +58854,104 @@ }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/theatre/clown) -"Qrs" = ( +"QrL" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/theatre/clown) -"Qrt" = ( +"QrM" = ( /obj/structure/statue/bananium/clown, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/theatre/clown) -"Qru" = ( +"QrN" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/crew_quarters/theatre/clown) -"Qrv" = ( +"QrO" = ( /obj/machinery/door/airlock/clown{ name = "Clown's Office"; req_access_txt = "46" }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/theatre/clown) -"Qrw" = ( +"QrP" = ( /obj/machinery/door/airlock{ name = "Bar Storage"; req_access_txt = "25" }, /turf/open/floor/wood, /area/crew_quarters/bar) -"Qrx" = ( +"QrQ" = ( /obj/structure/reagent_dispensers/beerkeg, /turf/open/floor/wood, /area/crew_quarters/bar) -"Qry" = ( +"QrR" = ( +/obj/machinery/door/airlock/glass{ + name = "Diner" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel, +/area/crew_quarters/bar) +"QrS" = ( +/obj/machinery/vending/coffee, +/turf/open/floor/wood, +/area/bridge/meeting_room) +"QrT" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "12" }, /turf/open/floor/plating, /area/bridge/meeting_room) -"Qrz" = ( +"QrU" = ( /turf/open/floor/plating, /area/maintenance/department/bridge) -"QrA" = ( +"QrV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/department/bridge) -"QrB" = ( +"QrW" = ( /turf/open/floor/plating, /area/maintenance/department/bridge) -"QrC" = ( +"QrX" = ( /turf/open/floor/plating, /area/maintenance/department/bridge) -"QrD" = ( +"QrY" = ( /turf/open/floor/plating, /area/maintenance/department/bridge) -"QrE" = ( +"QrZ" = ( /turf/open/floor/plating, /area/maintenance/department/bridge) -"QrF" = ( +"Qsa" = ( /turf/open/floor/plating, /area/maintenance/department/bridge) -"QrG" = ( +"Qsb" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/department/bridge) -"QrH" = ( +"Qsc" = ( /turf/open/floor/plating, /area/maintenance/department/bridge) -"QrI" = ( +"Qsd" = ( /obj/machinery/door/airlock/maintenance{ name = "bridge maintenance access"; req_access_txt = "20" }, /turf/open/floor/plating, /area/crew_quarters/heads/captain) -"QrJ" = ( +"Qse" = ( /turf/closed/wall/r_wall, /area/maintenance/department/bridge) -"QrK" = ( +"Qsf" = ( /turf/closed/wall/r_wall, /area/maintenance/department/bridge) -"QrL" = ( +"Qsg" = ( /obj/machinery/light_switch{ pixel_y = 28 }, /turf/open/floor/circuit, /area/ai_monitored/nuke_storage) -"QrM" = ( +"Qsh" = ( /obj/machinery/power/apc{ dir = 1; name = "Vault APC"; @@ -59144,49 +58963,49 @@ }, /turf/open/floor/circuit, /area/ai_monitored/nuke_storage) -"QrN" = ( +"Qsi" = ( /obj/structure/cable{ icon_state = "2-4" }, /turf/open/floor/circuit, /area/ai_monitored/nuke_storage) -"QrO" = ( +"Qsj" = ( /obj/structure/cable{ icon_state = "1-8" }, /turf/open/floor/circuit, /area/ai_monitored/nuke_storage) -"QrP" = ( +"Qsk" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, /turf/closed/wall/r_wall, /area/ai_monitored/nuke_storage) -"QrQ" = ( +"Qsl" = ( /obj/structure/sign/securearea, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, /turf/closed/wall/r_wall, /area/ai_monitored/nuke_storage) -"QrR" = ( +"Qsm" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, /turf/closed/wall/r_wall, /area/ai_monitored/nuke_storage) -"QrS" = ( +"Qsn" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable{ icon_state = "0-2" }, /turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) -"QrT" = ( +/area/security/checkpoint/tertiary) +"Qso" = ( /turf/closed/wall/r_wall, -/area/security/checkpoint/checkpoint2) -"QrU" = ( +/area/security/checkpoint/tertiary) +"Qsp" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ icon_state = "2-4" @@ -59200,11 +59019,11 @@ /turf/open/floor/plasteel/vault{ dir = 5 }, -/area/security/checkpoint/checkpoint2) -"QrV" = ( +/area/security/checkpoint/tertiary) +"Qsq" = ( /obj/structure/closet/secure_closet/security, /obj/machinery/power/apc{ - areastring = "/area/security/checkpoint/checkpoint2"; + areastring = "/area/security/checkpoint/tertiary"; dir = 8; name = "Security Checkpoint APC"; pixel_x = -24; @@ -59216,8 +59035,8 @@ /turf/open/floor/plasteel/red/side{ dir = 9 }, -/area/security/checkpoint/checkpoint2) -"QrW" = ( +/area/security/checkpoint/tertiary) +"Qsr" = ( /obj/structure/reagent_dispensers/peppertank{ pixel_y = 30 }, @@ -59227,8 +59046,8 @@ /turf/open/floor/plasteel/red/side{ dir = 1 }, -/area/security/checkpoint/checkpoint2) -"QrX" = ( +/area/security/checkpoint/tertiary) +"Qss" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable{ icon_state = "2-8" @@ -59239,22 +59058,22 @@ /turf/open/floor/plasteel/red/side{ dir = 1 }, -/area/security/checkpoint/checkpoint2) -"QrY" = ( +/area/security/checkpoint/tertiary) +"Qst" = ( /obj/structure/cable{ icon_state = "1-8" }, /turf/open/floor/plasteel/red/side{ dir = 1 }, -/area/security/checkpoint/checkpoint2) -"QrZ" = ( +/area/security/checkpoint/tertiary) +"Qsu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/red/side{ dir = 1 }, -/area/security/checkpoint/checkpoint2) -"Qsa" = ( +/area/security/checkpoint/tertiary) +"Qsv" = ( /obj/machinery/requests_console{ department = "Security"; departmentType = 5; @@ -59263,14 +59082,14 @@ /turf/open/floor/plasteel/red/side{ dir = 1 }, -/area/security/checkpoint/checkpoint2) -"Qsb" = ( +/area/security/checkpoint/tertiary) +"Qsw" = ( /obj/machinery/computer/security, /turf/open/floor/plasteel/red/side{ dir = 5 }, -/area/security/checkpoint/checkpoint2) -"Qsc" = ( +/area/security/checkpoint/tertiary) +"Qsx" = ( /obj/structure/closet/wardrobe/red, /obj/machinery/light{ dir = 8 @@ -59278,11 +59097,11 @@ /turf/open/floor/plasteel/red/side{ dir = 8 }, -/area/security/checkpoint/checkpoint2) -"Qsd" = ( +/area/security/checkpoint/tertiary) +"Qsy" = ( /turf/open/floor/plasteel, -/area/security/checkpoint/checkpoint2) -"Qse" = ( +/area/security/checkpoint/tertiary) +"Qsz" = ( /obj/machinery/computer/secure_data, /obj/machinery/light{ dir = 4 @@ -59290,8 +59109,8 @@ /turf/open/floor/plasteel/red/side{ dir = 4 }, -/area/security/checkpoint/checkpoint2) -"Qsf" = ( +/area/security/checkpoint/tertiary) +"QsA" = ( /obj/machinery/airalarm{ dir = 4; pixel_x = -22 @@ -59312,8 +59131,8 @@ /turf/open/floor/plasteel/red/side{ dir = 10 }, -/area/security/checkpoint/checkpoint2) -"Qsg" = ( +/area/security/checkpoint/tertiary) +"QsB" = ( /obj/item/paper_bin{ pixel_x = 1; pixel_y = 9 @@ -59321,8 +59140,8 @@ /obj/item/pen, /obj/structure/table, /turf/open/floor/plasteel/red/side, -/area/security/checkpoint/checkpoint2) -"Qsh" = ( +/area/security/checkpoint/tertiary) +"QsC" = ( /obj/item/device/radio/off, /obj/item/crowbar, /obj/item/device/assembly/flash/handheld, @@ -59335,8 +59154,8 @@ /turf/open/floor/plasteel/red/side{ dir = 6 }, -/area/security/checkpoint/checkpoint2) -"Qsi" = ( +/area/security/checkpoint/tertiary) +"QsD" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ id = "vault"; @@ -59349,42 +59168,45 @@ icon_state = "0-4" }, /turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) -"Qsj" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/hallway/primary/central) -"Qsk" = ( +/area/security/checkpoint/tertiary) +"QsE" = ( /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating{ icon_state = "platingdmg3" }, /area/maintenance/port/aft) -"Qsl" = ( +"QsF" = ( /obj/machinery/door/airlock{ id_tag = "MaintDorm2"; name = "Maintenance Dorm 2" }, /turf/open/floor/wood, /area/maintenance/port/aft) -"Qsm" = ( +"QsG" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/wood, /area/maintenance/port/aft) -"Qsn" = ( +"QsH" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/wood, /area/maintenance/port/aft) -"Qso" = ( +"QsI" = ( +/obj/structure/rack{ + dir = 8; + layer = 2.9 + }, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"QsJ" = ( /obj/structure/closet/secure_closet/personal, /turf/open/floor/wood, /area/maintenance/port/aft) -"Qsp" = ( +"QsK" = ( /obj/machinery/light/small, /obj/structure/table/wood, /obj/machinery/atmospherics/pipe/simple/general/hidden{ @@ -59392,7 +59214,7 @@ }, /turf/open/floor/wood, /area/maintenance/port/aft) -"Qsq" = ( +"QsL" = ( /obj/structure/bed, /obj/item/bedsheet, /obj/machinery/atmospherics/pipe/simple/general/hidden{ @@ -59400,49 +59222,49 @@ }, /turf/open/floor/wood, /area/maintenance/port/aft) -"Qsr" = ( +"QsM" = ( /turf/closed/wall, /area/maintenance/bar) -"Qss" = ( +"QsN" = ( /turf/closed/wall, /area/maintenance/bar) -"Qst" = ( +"QsO" = ( /turf/closed/wall, /area/maintenance/bar) -"Qsu" = ( +"QsP" = ( /obj/machinery/door/airlock/maintenance/abandoned{ req_access_txt = "0" }, /turf/open/floor/plating, /area/maintenance/bar) -"Qsv" = ( +"QsQ" = ( /turf/closed/wall, /area/maintenance/bar) -"Qsw" = ( +"QsR" = ( /turf/closed/wall, /area/maintenance/bar) -"Qsx" = ( +"QsS" = ( /turf/closed/wall, /area/maintenance/bar) -"Qsy" = ( +"QsT" = ( /turf/closed/wall, /area/maintenance/bar) -"Qsz" = ( +"QsU" = ( /turf/open/floor/wood, /area/maintenance/bar) -"QsA" = ( +"QsV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, /turf/open/floor/wood, /area/maintenance/bar) -"QsB" = ( +"QsW" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/wood, /area/maintenance/bar) -"QsC" = ( +"QsX" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -59450,7 +59272,7 @@ icon_state = "wood-broken5" }, /area/maintenance/bar) -"QsD" = ( +"QsY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -59459,7 +59281,7 @@ }, /turf/open/floor/wood, /area/maintenance/bar) -"QsE" = ( +"QsZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -59471,7 +59293,7 @@ }, /turf/open/floor/plating, /area/maintenance/bar) -"QsF" = ( +"Qta" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -59480,30 +59302,30 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"QsG" = ( +"Qtb" = ( /turf/closed/wall, /area/maintenance/bar) -"QsH" = ( +"Qtc" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood{ icon_state = "wood-broken7" }, /area/maintenance/bar) -"QsI" = ( +"Qtd" = ( /obj/structure/chair/stool/bar, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, /turf/open/floor/wood, /area/maintenance/bar) -"QsJ" = ( +"Qte" = ( /obj/structure/table/wood, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/wood, /area/maintenance/bar) -"QsK" = ( +"Qtf" = ( /obj/structure/table/wood, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -59518,40 +59340,40 @@ icon_state = "wood-broken7" }, /area/maintenance/bar) -"QsL" = ( +"Qtg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/maintenance/bar) -"QsM" = ( +"Qth" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/maintenance/bar) -"QsN" = ( +"Qti" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/maintenance/bar) -"QsO" = ( +"Qtj" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/maintenance/bar) -"QsP" = ( +"Qtk" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/maintenance/bar) -"QsQ" = ( +"Qtl" = ( /turf/closed/wall, /area/maintenance/bar) -"QsR" = ( +"Qtm" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, @@ -59560,7 +59382,7 @@ }, /turf/open/floor/wood, /area/maintenance/bar) -"QsS" = ( +"Qtn" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -59568,38 +59390,38 @@ icon_state = "wood-broken6" }, /area/maintenance/bar) -"QsT" = ( +"Qto" = ( /obj/structure/chair/stool/bar, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/maintenance/bar) -"QsU" = ( +"Qtp" = ( /obj/structure/table/wood, /turf/open/floor/wood{ icon_state = "wood-broken5" }, /area/maintenance/bar) -"QsV" = ( +"Qtq" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/open/floor/wood, /area/maintenance/bar) -"QsW" = ( +"Qtr" = ( /obj/machinery/chem_dispenser/drinks/beer, /obj/structure/table/wood, /turf/open/floor/wood, /area/maintenance/bar) -"QsX" = ( +"Qts" = ( /turf/closed/wall, /area/maintenance/bar) -"QsY" = ( +"Qtt" = ( /obj/item/restraints/handcuffs/fake, /obj/effect/decal/cleanable/blood/old, /obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears, /turf/open/floor/plating, /area/maintenance/bar) -"QsZ" = ( +"Qtu" = ( /obj/item/shard, /obj/item/wirecutters, /obj/item/wallframe/camera, @@ -59607,14 +59429,14 @@ icon_state = "panelscorched" }, /area/maintenance/bar) -"Qta" = ( +"Qtv" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/maintenance/bar) -"Qtb" = ( +"Qtw" = ( /turf/closed/wall, /area/maintenance/bar) -"Qtc" = ( +"Qtx" = ( /obj/item/device/radio/intercom{ freerange = 0; frequency = 1459; @@ -59625,22 +59447,22 @@ icon_state = "wood-broken" }, /area/maintenance/bar) -"Qtd" = ( +"Qty" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/maintenance/bar) -"Qte" = ( +"Qtz" = ( /obj/structure/chair/stool/bar, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood{ icon_state = "wood-broken7" }, /area/maintenance/bar) -"Qtf" = ( +"QtA" = ( /obj/structure/table/wood, /turf/open/floor/wood, /area/maintenance/bar) -"Qtg" = ( +"QtB" = ( /obj/structure/cable{ icon_state = "1-2" }, @@ -59648,14 +59470,15 @@ icon_state = "wood-broken7" }, /area/maintenance/bar) -"Qth" = ( -/obj/machinery/vending/boozeomat, +"QtC" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks, /turf/open/floor/wood, /area/maintenance/bar) -"Qti" = ( +"QtD" = ( /turf/closed/wall, /area/maintenance/bar) -"Qtj" = ( +"QtE" = ( /obj/effect/spawner/lootdrop/maintenance{ lootcount = 2; name = "2maintenance loot spawner" @@ -59664,7 +59487,7 @@ /obj/item/device/electropack/shockcollar, /turf/open/floor/plating, /area/maintenance/bar) -"Qtk" = ( +"QtF" = ( /obj/structure/bed, /obj/item/bedsheet/grey, /obj/effect/decal/cleanable/semen{ @@ -59676,11 +59499,11 @@ icon_state = "platingdmg3" }, /area/maintenance/bar) -"Qtl" = ( +"QtG" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/maintenance/bar) -"Qtm" = ( +"QtH" = ( /obj/machinery/door/airlock/maintenance/abandoned{ name = "Incinerator Access"; req_access_txt = "12" @@ -59690,30 +59513,30 @@ }, /turf/open/floor/plating, /area/maintenance/bar) -"Qtn" = ( +"QtI" = ( /turf/open/floor/wood, /area/maintenance/bar) -"Qto" = ( +"QtJ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood{ icon_state = "wood-broken5" }, /area/maintenance/bar) -"Qtp" = ( +"QtK" = ( /obj/structure/chair/stool/bar, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/open/floor/wood, /area/maintenance/bar) -"Qtq" = ( +"QtL" = ( /obj/structure/table/wood, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/wood, /area/maintenance/bar) -"Qtr" = ( +"QtM" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, @@ -59722,15 +59545,15 @@ }, /turf/open/floor/wood, /area/maintenance/bar) -"Qts" = ( -/obj/machinery/chem_dispenser/drinks, +"QtN" = ( /obj/structure/table/wood, +/obj/item/storage/box/drinkingglasses, /turf/open/floor/wood, /area/maintenance/bar) -"Qtt" = ( +"QtO" = ( /turf/closed/wall, /area/maintenance/bar) -"Qtu" = ( +"QtP" = ( /obj/item/lighter/greyscale, /obj/effect/decal/cleanable/semen{ desc = "Blech."; @@ -59740,32 +59563,32 @@ icon_state = "panelscorched" }, /area/maintenance/bar) -"Qtv" = ( +"QtQ" = ( /obj/effect/spawner/lootdrop/maintenance, /obj/effect/decal/cleanable/blood/old, /obj/item/device/assembly/signaler, /turf/open/floor/plating, /area/maintenance/bar) -"Qtw" = ( +"QtR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/maintenance/bar) -"Qtx" = ( +"QtS" = ( /turf/closed/wall, /area/maintenance/bar) -"Qty" = ( +"QtT" = ( /obj/effect/spawner/lootdrop/keg, /turf/open/floor/wood, /area/maintenance/bar) -"Qtz" = ( +"QtU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/maintenance/bar) -"QtA" = ( +"QtV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/maintenance/bar) -"QtB" = ( +"QtW" = ( /obj/machinery/power/apc{ areastring = "/area/maintenance/bar"; dir = 2; @@ -59778,37 +59601,37 @@ icon_state = "wood-broken7" }, /area/maintenance/bar) -"QtC" = ( +"QtX" = ( /turf/closed/wall, /area/maintenance/bar) -"QtD" = ( +"QtY" = ( /turf/closed/wall, /area/maintenance/bar) -"QtE" = ( +"QtZ" = ( /obj/structure/falsewall, /turf/open/floor/plating, /area/maintenance/bar) -"QtF" = ( +"Qua" = ( /turf/closed/wall, /area/maintenance/bar) -"QtG" = ( +"Qub" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/maintenance/bar) -"QtH" = ( +"Quc" = ( /turf/closed/wall, /area/maintenance/bar) -"QtI" = ( +"Qud" = ( /turf/closed/wall, /area/maintenance/bar) -"QtJ" = ( +"Que" = ( /obj/machinery/door/airlock/maintenance/abandoned{ req_access_txt = "0" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/maintenance/bar) -"QtK" = ( +"Quf" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/door/airlock/maintenance/abandoned{ req_access_txt = "0" @@ -59817,49 +59640,48 @@ icon_state = "wood-broken" }, /area/maintenance/bar) -"QtL" = ( +"Qug" = ( /obj/structure/sign/poster/official/no_erp, /turf/closed/wall, /area/maintenance/bar) -"QtM" = ( +"Quh" = ( /turf/closed/wall, /area/maintenance/bar) -"QtN" = ( +"Qui" = ( /obj/machinery/vending/clothing, /turf/open/floor/wood, /area/maintenance/bar) -"QtO" = ( +"Quj" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/maintenance/bar) -"QtP" = ( +"Quk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/maintenance/bar) -"QtQ" = ( +"Qul" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/maintenance/bar) -"QtR" = ( -/obj/structure/chair/stool, +"Qum" = ( /turf/open/floor/wood{ icon_state = "wood-broken6" }, /area/maintenance/bar) -"QtS" = ( +"Qun" = ( /turf/open/floor/wood{ icon_state = "wood-broken6" }, /area/maintenance/bar) -"QtT" = ( +"Quo" = ( /obj/machinery/vending/autodrobe, /turf/open/floor/wood, /area/maintenance/bar) -"QtU" = ( +"Qup" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/maintenance/bar) -"QtV" = ( +"Quq" = ( /obj/structure/sign/poster/random{ pixel_x = -32 }, @@ -59870,34 +59692,28 @@ icon_state = "wood-broken7" }, /area/maintenance/bar) -"QtW" = ( +"Qur" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/maintenance/bar) -"QtX" = ( -/obj/structure/chair/stool, +"Qus" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood{ icon_state = "wood-broken" }, /area/maintenance/bar) -"QtY" = ( -/obj/structure/table/wood/poker, +"Qut" = ( +/obj/structure/chair/stool, /turf/open/floor/wood{ icon_state = "wood-broken7" }, /area/maintenance/bar) -"QtZ" = ( -/obj/structure/table/wood/poker, -/obj/item/storage/pill_bottle/dice, -/turf/open/floor/wood, -/area/maintenance/bar) -"Qua" = ( +"Quu" = ( /turf/open/floor/wood{ icon_state = "wood-broken5" }, /area/maintenance/bar) -"Qub" = ( +"Quv" = ( /obj/structure/table/wood/bar, /obj/item/paper_bin{ pixel_x = -3; @@ -59909,58 +59725,59 @@ }, /turf/open/floor/wood, /area/maintenance/bar) -"Quc" = ( +"Quw" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/maintenance/bar) -"Qud" = ( +"Qux" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/wood, /area/maintenance/bar) -"Que" = ( +"Quy" = ( /obj/structure/chair/stool, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, /turf/open/floor/wood, /area/maintenance/bar) -"Quf" = ( +"Quz" = ( /obj/structure/table/wood/poker, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/wood, /area/maintenance/bar) -"Qug" = ( +"QuA" = ( /obj/structure/table/wood/poker, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/wood, /area/maintenance/bar) -"Quh" = ( +"QuB" = ( /obj/structure/table/wood/poker, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, +/obj/item/storage/pill_bottle/dice, /turf/open/floor/wood, /area/maintenance/bar) -"Qui" = ( +"QuC" = ( /obj/structure/chair/stool, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/wood, /area/maintenance/bar) -"Quj" = ( +"QuD" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/wood, /area/maintenance/bar) -"Quk" = ( +"QuE" = ( /obj/structure/table/wood/bar, /obj/machinery/light{ dir = 4 @@ -59969,21 +59786,29 @@ icon_state = "wood-broken6" }, /area/maintenance/bar) -"Qul" = ( +"QuF" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/maintenance/bar) -"Qum" = ( +"QuG" = ( /turf/open/floor/wood{ icon_state = "wood-broken5" }, /area/maintenance/bar) -"Qun" = ( +"QuH" = ( +/obj/structure/table/wood/poker, +/turf/open/floor/wood, +/area/maintenance/bar) +"QuI" = ( +/obj/structure/table/wood/poker, +/turf/open/floor/wood, +/area/maintenance/bar) +"QuJ" = ( /obj/structure/table/wood/poker, /obj/item/coin/iron, /turf/open/floor/wood, /area/maintenance/bar) -"Quo" = ( +"QuK" = ( /obj/structure/table/wood/bar, /obj/item/reagent_containers/spray/cleaner, /obj/structure/sign/poster/random{ @@ -59991,29 +59816,29 @@ }, /turf/open/floor/wood, /area/maintenance/bar) -"Qup" = ( +"QuL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/maintenance/bar) -"Quq" = ( +"QuM" = ( /obj/effect/spawner/lootdrop/keg, /turf/open/floor/wood{ icon_state = "wood-broken7" }, /area/maintenance/bar) -"Qur" = ( +"QuN" = ( /obj/structure/sign/poster/random{ pixel_y = -32 }, /turf/open/floor/wood, /area/maintenance/bar) -"Qus" = ( +"QuO" = ( /obj/structure/chair/stool, /turf/open/floor/wood{ icon_state = "wood-broken" }, /area/maintenance/bar) -"Qut" = ( +"QuP" = ( /obj/structure/chair/stool, /obj/item/device/radio/intercom{ name = "Station Intercom (General)"; @@ -60021,7 +59846,7 @@ }, /turf/open/floor/wood, /area/maintenance/bar) -"Quu" = ( +"QuQ" = ( /obj/structure/sign/poster/random{ pixel_y = -32 }, @@ -60029,35 +59854,35 @@ icon_state = "wood-broken7" }, /area/maintenance/bar) -"Quv" = ( +"QuR" = ( /obj/machinery/vending/kink, /turf/open/floor/wood, /area/maintenance/bar) -"Quw" = ( +"QuS" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/maintenance/bar) -"Qux" = ( +"QuT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, /turf/closed/wall/r_wall, /area/engine/engine_smes) -"Quy" = ( +"QuU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable{ icon_state = "1-2" }, /turf/closed/wall/r_wall, /area/engine/engine_smes) -"Quz" = ( +"QuV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable{ icon_state = "1-2" }, /turf/closed/wall/r_wall, /area/engine/gravity_generator) -"QuA" = ( +"QuW" = ( /obj/structure/sign/securearea{ desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; @@ -60070,7 +59895,7 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"QuB" = ( +"QuX" = ( /obj/machinery/camera{ c_tag = "Gravity Generator Foyer" }, @@ -60086,17 +59911,17 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"QuC" = ( +"QuY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable{ icon_state = "1-2" }, /turf/closed/wall/r_wall, /area/engine/gravity_generator) -"QuD" = ( +"QuZ" = ( /turf/closed/wall, -/area/space) -"QuE" = ( +/area/engine/gravity_generator) +"Qva" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, @@ -60109,11 +59934,11 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"QuF" = ( +"Qvb" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"QuG" = ( +"Qvc" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, @@ -60125,7 +59950,7 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"QuH" = ( +"Qvd" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -60134,30 +59959,42 @@ }, /turf/closed/wall/r_wall, /area/engine/gravity_generator) -"QuI" = ( +"Qve" = ( +/obj/structure/grille, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"Qvf" = ( +/obj/structure/grille, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"Qvg" = ( +/obj/structure/grille, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"Qvh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable{ icon_state = "1-2" }, /turf/closed/wall/r_wall, /area/engine/gravity_generator) -"QuJ" = ( +"Qvi" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, /turf/closed/wall/r_wall, /area/engine/gravity_generator) -"QuK" = ( +"Qvj" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/closed/wall/r_wall, /area/engine/gravity_generator) -"QuL" = ( +"Qvk" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"QuM" = ( +"Qvl" = ( /obj/item/device/radio/intercom{ broadcasting = 0; listening = 1; @@ -60169,19 +60006,19 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"QuN" = ( +"Qvm" = ( /obj/machinery/power/terminal, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/cable, /turf/closed/wall/r_wall, /area/engine/gravity_generator) -"QuO" = ( +"Qvn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, /turf/closed/wall/r_wall, /area/engine/gravity_generator) -"QuP" = ( +"Qvo" = ( /obj/machinery/firealarm{ dir = 8; pixel_x = -24 @@ -60193,11 +60030,11 @@ /obj/item/pen/blue, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"QuQ" = ( +"Qvp" = ( /obj/machinery/holopad, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"QuR" = ( +"Qvq" = ( /obj/machinery/power/smes{ charge = 5e+006 }, @@ -60206,7 +60043,7 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"QuS" = ( +"Qvr" = ( /obj/machinery/power/apc{ dir = 8; name = "Gravity Generator APC"; @@ -60225,28 +60062,28 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"QuT" = ( +"Qvs" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable{ icon_state = "4-8" }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"QuU" = ( +"Qvt" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable{ icon_state = "4-8" }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"QuV" = ( +"Qvu" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable{ icon_state = "4-8" }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"QuW" = ( +"Qvv" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 }, @@ -60262,7 +60099,7 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"QuX" = ( +"Qvw" = ( /obj/structure/sign/securearea{ desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; @@ -60275,7 +60112,7 @@ }, /turf/open/floor/plating, /area/engine/gravity_generator) -"QuY" = ( +"Qvx" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ icon_state = "0-8" @@ -60285,7 +60122,7 @@ }, /turf/open/floor/plating, /area/engine/gravity_generator) -"QuZ" = ( +"Qvy" = ( /obj/machinery/door/airlock/glass_engineering{ name = "Gravity Generator"; req_access_txt = "11"; @@ -60296,7 +60133,7 @@ }, /turf/open/floor/plasteel/black, /area/engine/gravity_generator) -"Qva" = ( +"Qvz" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ icon_state = "0-8" @@ -60306,7 +60143,7 @@ }, /turf/open/floor/plating, /area/engine/gravity_generator) -"Qvb" = ( +"QvA" = ( /obj/structure/sign/securearea{ desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; @@ -60320,19 +60157,19 @@ /obj/structure/cable, /turf/open/floor/plating, /area/engine/gravity_generator) -"Qvc" = ( +"QvB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, /turf/closed/wall/r_wall, /area/engine/gravity_generator) -"Qvd" = ( +"QvC" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/plasteel/black, /area/engine/gravity_generator) -"Qve" = ( +"QvD" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, @@ -60343,7 +60180,7 @@ }, /turf/open/floor/plasteel/black, /area/engine/gravity_generator) -"Qvf" = ( +"QvE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, @@ -74179,7 +74016,7 @@ aaa aaa aaa aaa -cBW +aaa aaa aaa aaa @@ -74529,7 +74366,7 @@ aaa aaa aaa aaa -Qlk +aaa aaa aaa aaa @@ -74595,7 +74432,7 @@ auT aBI aDf aEK -Qrb +aFM aHy ayl aKk @@ -79528,7 +79365,7 @@ bCq bJP bCq bTs -Qso +QsJ bCq cbj bLv @@ -79784,8 +79621,8 @@ aaa bCq bHE bCq -Qsm -Qsp +QsG +QsK bCq cbk bLv @@ -80042,7 +79879,7 @@ bLv bPR bRc bSo -Qsq +QsL bCq bVy bLv @@ -80244,14 +80081,14 @@ apQ avY axo ayB -Qqu -QqB -QqK -QqR +QqO QqV -Qrc -Qri -Qro +Qre +Qrl +Qrp +Qrv +QrB +QrH aKu aLF aLF @@ -80501,14 +80338,14 @@ aoV avY axo ayB -Qqv -QqC -QqL -QqS +QqP QqW -Qrd -Qrj -Qrp +Qrf +Qrm +Qrq +Qrw +QrC +QrI aKt aLE bDe @@ -80758,14 +80595,14 @@ apQ avY axo ayB -Qqw -QqD -QqM -aDs +QqQ QqX -Qre -Qrk -Qrq +Qrg +aDs +Qrr +Qrx +QrD +QrJ aKu aLE aLE @@ -80812,7 +80649,7 @@ aaa bCq bPV bCq -Qsn +QsH bTw bCq bVD @@ -80839,7 +80676,7 @@ aaa aaf aaa bCq -bCq +bLv bLv bLv bLv @@ -81016,7 +80853,7 @@ avZ axo ayC azH -QqE +QqY aBS aDr aDr @@ -81068,7 +80905,7 @@ aoV aoV bCq bPW -Qsl +QsF bSp bTv bCq @@ -81096,7 +80933,7 @@ bLv bLv bLv bCq -ciT +bJe cqK crl bLv @@ -81269,13 +81106,13 @@ aqR aGh aqR aqR -Qqt +QqM axq ayA -Qqx -QqF -QqN -QqT +QqR +QqZ +Qrh +Qrn apS apS apS @@ -81324,7 +81161,7 @@ bGi aoV aoV bCq -Qsk +QsE bCq bCq bTu @@ -81530,7 +81367,7 @@ avZ axp ayD azI -QqG +Qra aBU aDt aDt @@ -81583,7 +81420,7 @@ aoV bCq bHE bPU -bSq +QsI bTx bCq bVE @@ -81612,8 +81449,8 @@ bLv bCq cqv cqL -bJe -bLv +ciT +bCq Qoi aaT aaT @@ -81786,15 +81623,15 @@ aag avY axo ayB -Qqy -QqH -QqO +QqS +Qrb +Qri aDv -QqY -Qrf -Qrl -Qrr -Qru +Qrs +Qry +QrE +QrK +QrN aLE aMS aOt @@ -81841,14 +81678,14 @@ bCq bPY cOw bCq -Qsr -Qsy -QsG -QsQ +QsM +QsT Qtb -Qtm -Qtx +Qtl +Qtw QtH +QtS +Quc cjn cjn cjn @@ -82043,15 +81880,15 @@ aag avY axo ayB -Qqz -QqI -QqP -QqU -QqZ -Qrg -Qrm -Qrs -Qrv +QqT +Qrc +Qrj +Qro +Qrt +Qrz +QrF +QrL +QrO aLE aMS aOi @@ -82098,19 +81935,19 @@ bCq bPX bRg bRg -Qss -Qsz +QsN +QsU bVG -QsR -Qtc -Qtn -Qty +Qtm +Qtx QtI -bcU -QtV -bVG +QtT +Qud bcU Quq +bVG +bcU +QuM cjn bUs bLv @@ -82126,16 +81963,16 @@ aaa aaa aaf aaf -QuD +QuZ aaa -QuJ +Qvi bij bij bij bij bij bij -Qvc +QvB btG btG aaa @@ -82300,14 +82137,14 @@ aag avY axo ayB -QqA -QqJ -QqQ +QqU +Qrd +Qrk aDt -Qra -Qrh -Qrn -Qrt +Qru +QrA +QrG +QrM aKx aLE aMS @@ -82355,19 +82192,19 @@ bLv bQa bHE bHE -Qst -QsA -QsH -QsS -Qtd -Qto -Qtz +QsO +QsV +Qtc +Qtn +Qty QtJ -QtP -QtW -Qud -Qum +QtU +Que +Quk Qur +Qux +QuG +QuN cjn bUs bLv @@ -82380,19 +82217,19 @@ cjJ cjJ cjJ cjJ -Qux +QuT bij bij crn bij -QuK -QuP -QuS -QuX +Qvj +Qvo +Qvr +Qvw bkI bgN bgN -Qvd +QvC bgN btG Qoi @@ -82612,18 +82449,18 @@ bLv bPZ bHE bHE -Qsu -QsB -QsI -QsT -Qte -Qtp -QtA +QsP +QsW +Qtd +Qto +Qtz QtK -QtQ -QtX -Que -bdV +QtV +Quf +Qul +Qus +Quy +cCa bcU cjn bUs @@ -82639,13 +82476,13 @@ cov cpj cpS btG -QuA -QuE +QuW +Qva btG -QuL +Qvk bsc -QuT -QuY +Qvs +Qvx bgN bih big @@ -82869,19 +82706,19 @@ bLv bHE bHE bSs -Qsv -QsC -QsJ -QsU -Qtf -Qtq -bcU +QsQ +QsX +Qte +Qtp +QtA QtL -QtR +bcU +Qug +Qum cCa -Quf -cCa -Qus +Quz +QuH +QuO cjn bUs bLv @@ -82897,12 +82734,12 @@ cpl cpU btF bsc -QuF +Qvb btF bsc -QuQ -QuU -QuZ +Qvp +Qvt +Qvy bgN big bgN @@ -83125,20 +82962,20 @@ aaH bCq bHE bRh -bSr -Qsw -QsD -QsK -QsV -Qtg -Qtr +bLu +QsR +QsY +Qtf +Qtq QtB QtM -bdV -QtY -Qug -cCa +QtW +Quh +bcU Qut +QuA +QuI +QuP cjn bUs bLv @@ -83153,13 +82990,13 @@ cow cpk cpT btG -QuB -QuG +QuX +Qvc btG -QuM +Qvl bsc -QuV -Qva +Qvu +Qvz bgN bii big @@ -83304,11 +83141,11 @@ abc abc afu abc -abc -abc -abc -abc -Qoi +aaa +aaa +aaa +aaa +aaa aaa akD akD @@ -83383,19 +83220,19 @@ bCq bOK bCq bCq -Qsx -QsE -QsL -QsW -Qth -Qts +QsS +QsZ +Qtg +Qtr QtC +QtN +QtX cjn -bdV -QtZ -Quh -Qun -bdV +bcU +cCa +QuB +QuJ +cCa cjn bUs bLv @@ -83408,19 +83245,19 @@ cnq cnP coz cpn -Quy -Quz -QuC -QuH -QuI -QuN -QuR -QuW -Qvb +QuU +QuV +QuY +Qvd +Qvh +Qvm +Qvq +Qvv +QvA bmw bgN bgN -Qve +QvD bgN btG aaa @@ -83560,13 +83397,13 @@ abc aea aeH aft -Qpp -Qpq -Qpr -Qpx abc -Qoi -Qoi +aaa +aaa +aaa +aaa +aaa +aaa aaa aiU aln @@ -83641,18 +83478,18 @@ bHE bLv aaa bLv -QsF -QsM -QsX -Qti -Qtt +Qta +Qth +Qts QtD +QtO +QtY bcU bcU -bdV -Qui -bdV -Quu +bcU +QuC +cCa +QuQ cjn bUs bLv @@ -83668,16 +83505,16 @@ cpm cjJ aaf aaf -Qol +Qve aaa -QuO +Qvn bgO bgO bgO bgO bgO bgO -Qvf +QvE btG btG Qoi @@ -83819,10 +83656,10 @@ aeJ afw abc abc -Qps -Qpy -abc -Qoi +aaf +aaa +aaf +aaf aaf aaf aiU @@ -83899,15 +83736,15 @@ bLv aaf bLv bUt -QsN -QsY -Qtj -Qtu +Qti +Qtt QtE +QtP +QtZ bcU -QtS -Qua -Quj +Qun +Quu +QuD bcU bcU cjn @@ -83925,7 +83762,7 @@ cjJ cjJ aaa aaa -Qol +Qvf aaf aaa aaa @@ -84075,11 +83912,11 @@ aeb aeI afv agf -afA -Qpt -Qpz -afA -aiV +abc +aaf +aaa +aaa +aiT aiT aiV akG @@ -84156,17 +83993,17 @@ bCq aaa bLv bUt -QsO -QsZ -Qtk -Qtv +Qtj +Qtu QtF -QtN -QtT -Qub -Quk +QtQ +Qua +Qui Quo Quv +QuE +QuK +QuR cjn bUs bCq @@ -84182,7 +84019,7 @@ cpo cjJ aaa aaa -Qol +Qvg aaf Qoi aaa @@ -84332,11 +84169,11 @@ aee aeL afy agh -afA -Qpu -QpA -QpD -aiV +abc +aaf +aaa +aaf +aiT ajs akb akI @@ -84413,17 +84250,17 @@ aaa aaa bTB bUv -QsP -Qta -Qtl -Qtw +Qtk +Qtv QtG -QtO -QtU -Quc -Qul +QtR +Qub +Quj Qup Quw +QuF +QuL +QuS car bUs bCq @@ -84589,11 +84426,11 @@ aed aeK afx agg -afA -Qpv -QpB -QpE -aiV +abc +aaf +aaa +aaa +aiU ajr aka akH @@ -84847,10 +84684,10 @@ aeN afA afA afA -Qpw -QpC -QpF -aiV +aaf +aaa +aaa +aiU aju akd akK @@ -86768,8 +86605,8 @@ aaT ctv aaT aaa -aaf aaa +aaf aaa aaa aaa @@ -86911,7 +86748,7 @@ auj akl akO alx -QpP +Qqb amg aiX anw @@ -87024,6 +86861,7 @@ aaf aaT aaT aaT +Qoi aaf aaf aaf @@ -87076,7 +86914,6 @@ aaa aaa aaa aaa -aaa "} (105,1,1) = {" aaa @@ -87282,8 +87119,8 @@ aaf aaa aaa aaa -aaf aaa +aaf aaa aaa aaa @@ -87372,7 +87209,7 @@ aaa aaa aaa aaa -aab +aaa aaa aaa aaa @@ -87423,9 +87260,9 @@ aiF agj ajD akm -QpK +QpW aly -QpQ +Qqc amQ aiX anw @@ -87532,16 +87369,16 @@ cFI cGd cGs cGr +ccw +ccw +ccw +ccw +ccw +ccw aaa -aaf -aaa -aaf -aaa -aaa -aaa -aaf -aaa -aaa +Qod +aaT +Qod aaa aaa aaa @@ -87720,7 +87557,7 @@ aZP bbh bcc bdd -bbX +QrS bfr bbX bif @@ -87737,7 +87574,7 @@ bmr bmr byQ aJq -bBi +aJq bCs bDy bFb @@ -87789,16 +87626,16 @@ cqb cAo cGt cgx -ccw -ccw -ccw -ccw +QoA +csd +cHa +csd +QoH ccw aaa -Qod aaT -Qod -aaa +ctv +aaT aaa aaa aaa @@ -87936,7 +87773,7 @@ agP agP aiz ajg -QpI +QpR akQ agj agj @@ -87979,7 +87816,7 @@ bbk bbk bbk bfs -Qry +QrT aZM aZM aaf @@ -88046,10 +87883,11 @@ cFJ cSH cGu cGH +QoB +QoB cGR -cHa csd -ciZ +csd ccw aaa aaT @@ -88104,7 +87942,6 @@ aaa aaa aaa aaa -aaa "} (109,1,1) = {" aaa @@ -88174,7 +88011,7 @@ aaa aaa aaf aaf -Qov +QoM aaf aai abi @@ -88196,7 +88033,7 @@ ajb ajF akN alw -QpR +Qqd amQ aiX anw @@ -88236,15 +88073,15 @@ bce bdf beb aYv -Qrz -QrJ +QrU +Qse aaf aaf Qoi aaa Qoi aaa -QrT +Qso bsb bsb bsb @@ -88268,7 +88105,7 @@ cjL cCb bNI bEP -bVL +bLu bVJ bVJ bVJ @@ -88307,6 +88144,7 @@ cGS cHb cHg cHn +QoI ccw aaf aaT @@ -88361,7 +88199,6 @@ aaa aaa aaa aaa -aaa "} (110,1,1) = {" aaa @@ -88447,16 +88284,16 @@ agn agR agn agR +QpF agn -ajc -QpG +QpK akv -QpL -QpN +QpX +QpZ aww amk aiX -Qqf +anQ aov aph aqb @@ -88493,22 +88330,22 @@ aZR bbm bec bfu -QrA +QrV aBb aBb bmu aBb aBb -QrP +Qsk aaa bsb -QrV -Qsc -Qsf +Qsq +Qsx +QsA bsb aXf aJq -bBi +aJq bCs bFa bFa @@ -88558,12 +88395,13 @@ cEz cMD cFL cGf -cGu +Qov cMm ciZ cHc cAu cAu +ciZ ccw aaa aaT @@ -88618,7 +88456,6 @@ aaa aaa aaa aaa -aaa "} (111,1,1) = {" aaa @@ -88688,26 +88525,26 @@ aaa aaa aaa aaf -Qow +QoN aaf aaZ adi -QoQ -QoZ +Qpf +Qpo aaZ cpg -Qpm +QpB acv -Qpn +QpC aaZ aeW -agQ +QpE ahv ahQ +QpG aiI -aiH -ajB -QpJ +ajI +QpS akQ agj agj @@ -88750,7 +88587,7 @@ aZR aZR aZR bft -QrB +QrW aBa aBT bmv @@ -88759,13 +88596,13 @@ aGb bpg aaa bsb -QrW +Qsr buP bwm bxH aXf aJq -Qsj +aMh bCs bCs bCs @@ -88815,12 +88652,13 @@ cFe cMD cFM czE -cGu +Qov ccw cGT csd csd -ciZ +csd +csd ccw aaf aaT @@ -88875,7 +88713,6 @@ aaa aaa aaa aaa -aaa "} (112,1,1) = {" aaa @@ -88945,29 +88782,29 @@ aaa aaa aaa aaf -Qox +QoO aaf aaZ adi -QoR -Qpa +Qpg +Qpp aaZ acl cxA acL -Qpo +QpD aaZ agp agT ahx ahS aiK -ajc -QpH +QpJ +QpL akm akT aly -QpS +Qqe amQ aiX anw @@ -89007,16 +88844,16 @@ bbm bdh bee bfv -QrC +QrX aBa -QrL +Qsg aEM aEM aGa bph bqF bsd -QrX +Qss buQ bwn bxI @@ -89078,6 +88915,7 @@ cGU csd csd cHo +csd ccw aaa aaT @@ -89132,7 +88970,6 @@ aaa aaa aaa aaa -aaa "} (113,1,1) = {" aaa @@ -89202,24 +89039,24 @@ aaa aaa aaa aaf -Qoy +QoP aaf aaZ adi -QoS -Qpb -aaZ Qph +Qpq +aaZ +Qpw adk adK cqG aeX -ago +agt agS agQ -ahR +agt aiJ -ajc +aiL ajI akl akS @@ -89229,14 +89066,14 @@ amp aiX anS aoy -apj -anz -anz -anz -anz -anz -anz -awk +QqC +QqF +QqH +QqI +QqJ +QqK +QqL +QqN axB anz anz @@ -89264,19 +89101,19 @@ bcf bdg bed bfv -QrD +QrY aBa aBV alu -QrN +Qsi bnU aHG bqE -QrU -QrY -Qsd -Qsg -Qsi +Qsp +Qst +Qsy +QsB +QsD aNr bAf bBp @@ -89329,12 +89166,13 @@ cMH cMN cFO cSI -csC +cSI cMm cGV csd cGV -ccw +QoG +csd ccw aaa aaT @@ -89389,7 +89227,6 @@ aaa aaa aaa aaa -aaa "} (114,1,1) = {" aaa @@ -89459,14 +89296,14 @@ aaa aaa aaa aaf -Qoz +QoQ aaf aaZ adi -QoT -Qpc -aaZ Qpi +Qpr +aaZ +Qpx acM adQ cwM @@ -89475,16 +89312,16 @@ agr agU ahy ahX -aiL -ajc -ajI +QpH +aiN +QpM akq akQ agj agj agj aiX -Qqg +Qqs aoz apm aqd @@ -89521,16 +89358,16 @@ bbm bdh bef bfv -QrE -aBa -QrM -aEO -QrO -bnV -QrQ -QrS -bsf QrZ +aBa +Qsh +aEO +Qsj +bnV +Qsl +Qsn +bsf +Qsu buS bwp bxK @@ -89592,6 +89429,7 @@ csd csd csd cHp +csd ccw aaf aaT @@ -89646,7 +89484,6 @@ aaa aaa aaa aaa -aaa "} (115,1,1) = {" aaa @@ -89716,14 +89553,14 @@ aaa aaa aaa aaf -QoA +QoR aaf aaZ -QoK -QoU -Qpd -aaZ +QoY Qpj +Qps +aaZ +Qpy coS aet cxA @@ -89732,17 +89569,17 @@ agt agt ahz aie -aiN -ajc -ajI +agt +aiM +QpN akp akU alz aml amT aiX -Qqh -Qqn +Qqt +Qqz apl aqc aqc @@ -89778,7 +89615,7 @@ aZR aZR aZR bfw -QrF +Qsa aBa aBW bjy @@ -89787,9 +89624,9 @@ aGe bpi aaa bsb -Qsa +Qsv buR -aFM +bwo bxJ aNs aJq @@ -89843,12 +89680,13 @@ cFh cMD cFM czE -cGu +Qov ccw cGT csd csd -ciZ +csd +csd ccw aaf aaT @@ -89874,7 +89712,6 @@ aaa aaa aaa aaa -cBY aaa aaa aaa @@ -89973,14 +89810,14 @@ aaa aaa aaa aaf -QoB +QoS aaf aaZ -QoL -QoV -Qpe -abQ +QoZ Qpk +Qpt +abQ +Qpz adj arc blT @@ -89989,17 +89826,17 @@ cml agV cxk aig -aiM -ajc -ajI -akp +QpI +agn +QpO +QpT akV alB amn amV -Qqb +Qqn anB -Qqo +QqA aod aqf ahT @@ -90035,18 +89872,18 @@ aZR bbm beh bfx -QrG +Qsb aBc aBc bgR aBc aBc -QrR +Qsm aaa bsb -Qsb -Qse -Qsh +Qsw +Qsz +QsC bsb aJq aJq @@ -90100,12 +89937,13 @@ cEz cMD cFR cSJ -cGu +Qov cMm ciZ cHd cHj cHd +ciZ ccw aaa aaT @@ -90160,7 +89998,6 @@ aaa aaa aaa aaa -aaa "} (117,1,1) = {" aaa @@ -90230,31 +90067,31 @@ aaa aaa aaa aaf -QoC +QoT aaf aaZ -QoM +Qpa ack -Qpf +Qpu abN -Qpl -bkA +QpA +acF acF aes avB amN agt -awN +ahB aHp -aIF -ajc -ajI -akp +agn +agn +QpP +QpU amS alA -QpT +Qqf amm -Qqc +Qqo anT anT aod @@ -90292,8 +90129,8 @@ bcg aZU beg aYB -QrH -QrK +Qsc +Qsf aaf aaf Qoi @@ -90357,12 +90194,13 @@ cFj cEf cFS cGg -cGv +Qoz cGI cGS cHe cHe cHr +QoI ccw aaf aaT @@ -90417,7 +90255,6 @@ aaa aaa aaa aaa -aaa "} (118,1,1) = {" aaa @@ -90487,12 +90324,12 @@ aaa aaa aaa aaf -QoD +QoU aaf aaZ -QoN -QoW -Qpg +Qpb +Qpl +Qpv aci acm cpA @@ -90507,9 +90344,9 @@ agn aje ajJ akr -amS +akX alC -QpU +Qqg amX amX amX @@ -90549,7 +90386,7 @@ bbp bbp bbp bfz -QrI +Qsd aZV aZV aaf @@ -90616,10 +90453,11 @@ cFT cSK cGx cGK +QoC +QoC cGY -cEk csd -cHs +csd ccw aaf aaT @@ -90674,7 +90512,6 @@ aaa aaa aaa aaa -aaa "} (119,1,1) = {" aaa @@ -90748,7 +90585,7 @@ aaZ aaZ aaZ aaZ -QoX +Qpm avB aaZ aaZ @@ -90762,17 +90599,17 @@ ahE aii agn ajd -ajI -akp -amS -QpO +ajb +ahY +akX +Qqa amo amX amX -Qqi -Qqp -Qqq -Qqs +Qqu +QqB +QqD +QqG arf apY ate @@ -90873,16 +90710,16 @@ cqb cGh cGC cey -ccw -ccw -cHl -ccw +QoD +csd +cEk +csd +QoK ccw aaf aaT +ctv aaT -aaT -aaa aaa aaa aaa @@ -91002,9 +90839,9 @@ aaa aaa aaa abp -QoF -QoH -abO +QoV +QoW +Qpc abO abO acO @@ -91019,14 +90856,14 @@ ahA ahZ adR aiQ -ajI +QpQ akt -QpM +QpY anw -QpV -QpX -anB +Qqh Qqj +anB +Qqv aoD aod aqe @@ -91130,16 +90967,16 @@ cBR cGi cGD cGL -aag -aag -aaf -aaf -aaf -aaf -aaa -aaf -aaa +ccw +ccw +ccw +ccw +ccw +ccw aaa +aaT +aaT +aaT aaa aaa aaa @@ -91280,10 +91117,10 @@ ajK aks akY anA -QpW -QpY -amo +Qqi Qqk +amo +Qqw aoC aod aqe @@ -91394,8 +91231,8 @@ aaf aaa aaa aaa -aaf aaa +aaf aaa aaa aaa @@ -91518,8 +91355,8 @@ aaa abp abO abO -QoO -QoY +Qpd +Qpn acq acq acq @@ -91534,13 +91371,13 @@ aia aiP aiR ajB -akp +QpV aiX akz alf -QpZ -Qqd Qql +Qqp +Qqx aoF apo aqh @@ -91650,6 +91487,7 @@ aaf aaf aaf aaf +Qoi aaf aaf aaf @@ -91702,7 +91540,6 @@ aaa aaa aaa aaa -aaa "} (123,1,1) = {" aaa @@ -91795,11 +91632,11 @@ aku aiX alE amq -Qqa -Qqe Qqm +Qqq +Qqy aoE -Qqr +QqE aqg aun asf @@ -91908,8 +91745,8 @@ aaf ctv aaT aaa -aaf aaa +aaf aaa aaa aaa @@ -92031,8 +91868,8 @@ aaa aaa abp aco -QoI -QoP +QoX +Qpe abR abP abP @@ -92165,8 +92002,8 @@ aaf ctv aaT aaa -aaf aaa +aaf aaa aaa aaa @@ -92286,9 +92123,9 @@ aaa aaa aaf aaf -QoE -QoG -QoJ +abp +abp +abp abq abq abq @@ -92680,8 +92517,8 @@ aaT aaT aaa aaa -aae aaa +aae aaa aaa aaa @@ -93879,7 +93716,7 @@ aCr aCr aJC bYP -bbx +QrR aJC aQg aJC @@ -96701,7 +96538,7 @@ aGJ aIe aJC aJC -Qrw +QrP aJC aJC aJC @@ -97986,7 +97823,7 @@ aGL aIg aJH aKR -Qrx +QrQ aMB aJC aRA @@ -98241,7 +98078,7 @@ aaa alP aGL aIe -aJI +aJC aJI aJI aJI @@ -99013,7 +98850,7 @@ alP aGL aHY aQj -aQj +QoL aMk aNK aOM @@ -106701,8 +106538,8 @@ aaf aaf aaf aaf -aaf -aaf +alP +Qqr alP anf alP @@ -106958,8 +106795,8 @@ aaa aaa aaa aaa -aaa -aaf +alP +alP alP anf alP @@ -107049,7 +106886,7 @@ cls cmr cNW cOe -cmo +cPa cNW aaf aaf @@ -109093,7 +108930,7 @@ bPN bWr cbZ bQZ -cmo +cPa cNW cOx cNW @@ -111289,7 +111126,7 @@ aaa aaa aaa aaa -aaa +avT aaa aaa aaa @@ -112562,7 +112399,7 @@ aaa aaa aaa aaa -avT +aaa aaa aaa aaa @@ -117110,7 +116947,7 @@ aaa aaa aaa aaa -cBX +aaa aaa aaa aaa diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 1308cf7c87..7b640688d7 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -3,59 +3,33 @@ /turf/open/space/basic, /area/space) "aab" = ( -/obj/docking_port/stationary{ - dheight = 9; - dir = 2; - dwidth = 5; - height = 24; - id = "syndicate_ne"; - name = "northeast of station"; - turf_type = /turf/open/space; - width = 18 - }, -/turf/open/space, -/area/space) -"aac" = ( -/obj/docking_port/stationary{ - dheight = 9; - dir = 2; - dwidth = 5; - height = 24; - id = "syndicate_n"; - name = "north of station"; - turf_type = /turf/open/space; - width = 18 - }, -/turf/open/space, -/area/space) -"aad" = ( /obj/effect/landmark/carpspawn, /turf/open/space, /area/space) -"aae" = ( +"aac" = ( /obj/structure/lattice, /obj/structure/grille, /turf/open/space, /area/space) -"aaf" = ( +"aad" = ( /obj/structure/lattice, /turf/open/space, /area/space) -"aag" = ( +"aae" = ( /obj/machinery/power/tracker, /obj/structure/cable{ icon_state = "0-2" }, /turf/open/floor/plasteel/airless/solarpanel, /area/solar/starboard/fore) -"aah" = ( +"aaf" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/starboard/fore) -"aai" = ( +"aag" = ( /obj/structure/cable{ icon_state = "0-2" }, @@ -65,7 +39,17 @@ }, /turf/open/floor/plasteel/airless/solarpanel, /area/solar/starboard/fore) -"aaj" = ( +"aah" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solar/starboard/fore) +"aai" = ( /obj/structure/cable{ icon_state = "2-4" }, @@ -78,20 +62,33 @@ /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/starboard/fore) -"aak" = ( +"aaj" = ( /obj/structure/cable{ icon_state = "0-8" }, /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/starboard/fore) -"aal" = ( +"aak" = ( /obj/structure/cable{ icon_state = "0-4" }, /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/starboard/fore) +"aal" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solar/starboard/fore) "aam" = ( /obj/structure/cable{ icon_state = "1-8" @@ -99,9 +96,6 @@ /obj/structure/cable{ icon_state = "2-8" }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/starboard/fore) @@ -119,50 +113,207 @@ /turf/open/space, /area/solar/starboard/fore) "aap" = ( +/obj/structure/shuttle/engine/propulsion{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/shuttle/abandoned) +"aaq" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/abandoned) +"aar" = ( +/obj/machinery/door/airlock/titanium{ + cyclelinkeddir = 2; + name = "External Airlock" + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"aas" = ( /obj/docking_port/stationary/random{ id = "pod_lavaland1"; name = "lavaland" }, /turf/open/space, /area/space) -"aaq" = ( +"aat" = ( /obj/docking_port/stationary/random{ id = "pod_lavaland2"; name = "lavaland" }, /turf/open/space, /area/space) -"aar" = ( +"aau" = ( /obj/structure/lattice/catwalk, /obj/effect/landmark/xeno_spawn, /turf/open/space, /area/solar/starboard/fore) -"aas" = ( -/turf/closed/wall/mineral/titanium, -/area/shuttle/pod_1) -"aat" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/shuttle/pod_1) -"aau" = ( -/turf/closed/wall/mineral/titanium, -/area/shuttle/pod_2) "aav" = ( +/turf/closed/wall/mineral/titanium, +/area/shuttle/abandoned) +"aaw" = ( +/obj/structure/shuttle/engine/heater{ + dir = 1 + }, +/obj/structure/window/reinforced, +/turf/open/floor/plating/airless, +/area/shuttle/abandoned) +"aax" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/light/small{ + brightness = 3; + dir = 8 + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"aay" = ( +/obj/structure/sign/vacuum, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/abandoned) +"aaz" = ( +/obj/structure/window/reinforced, +/obj/structure/shuttle/engine/heater{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/shuttle/abandoned) +"aaA" = ( +/turf/closed/wall/mineral/titanium, +/area/shuttle/pod_1) +"aaB" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating, +/area/shuttle/pod_1) +"aaC" = ( +/turf/closed/wall/mineral/titanium, +/area/shuttle/pod_2) +"aaD" = ( /obj/effect/spawner/structure/window/shuttle, /turf/open/floor/plating, /area/shuttle/pod_2) -"aaw" = ( +"aaE" = ( /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/starboard/fore) -"aax" = ( +"aaF" = ( +/obj/structure/closet/firecloset/full, +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"aaG" = ( +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/structure/reagent_dispensers/watertank/high, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"aaH" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/greenblue/side{ + dir = 1 + }, +/area/shuttle/abandoned) +"aaI" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/circuitboard/machine/hydroponics, +/turf/open/floor/plasteel/greenblue/side{ + dir = 5 + }, +/area/shuttle/abandoned) +"aaJ" = ( +/obj/machinery/door/airlock/titanium{ + cyclelinkeddir = 1; + glass = 1; + name = "Internal Airlock" + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"aaK" = ( +/obj/structure/closet/secure_closet/freezer/kitchen/mining, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/flour, +/turf/open/floor/plasteel/greenblue/side{ + dir = 9 + }, +/area/shuttle/abandoned) +"aaL" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/greenblue/side{ + dir = 1 + }, +/area/shuttle/abandoned) +"aaM" = ( +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"aaN" = ( +/obj/structure/closet/emcloset, +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/effect/decal/cleanable/oil, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"aaO" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/hallway/secondary/entry) -"aay" = ( +"aaP" = ( /turf/closed/wall/mineral/plastitanium, /area/hallway/secondary/entry) -"aaz" = ( +"aaQ" = ( /obj/structure/chair{ dir = 1 }, @@ -182,7 +333,7 @@ }, /turf/open/floor/plasteel/white, /area/shuttle/pod_1) -"aaA" = ( +"aaR" = ( /obj/structure/chair{ dir = 1 }, @@ -202,18 +353,144 @@ }, /turf/open/floor/plasteel/white, /area/shuttle/pod_2) -"aaB" = ( +"aaS" = ( /turf/closed/wall/mineral/plastitanium, /area/construction/mining/aux_base) -"aaC" = ( +"aaT" = ( +/obj/structure/closet/crate{ + name = "emergency supplies crate" + }, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, +/obj/item/device/flashlight/flare{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/device/flashlight/flare{ + pixel_x = -6; + pixel_y = -2 + }, +/obj/item/crowbar, +/obj/item/wrench, +/obj/effect/spawner/lootdrop/maintenance, +/obj/item/extinguisher, +/obj/item/extinguisher, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct/small{ + dir = 8 + }, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"aaU" = ( +/obj/effect/decal/cleanable/oil, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/storage/box/hug/medical, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"aaV" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/door/airlock/glass_maintenance{ + name = "Maintenance" + }, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"aaW" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"aaX" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/green/corner{ + dir = 4 + }, +/area/shuttle/abandoned) +"aaY" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/blue/corner{ + dir = 1 + }, +/area/shuttle/abandoned) +"aaZ" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"aba" = ( +/obj/structure/sink/kitchen{ + pixel_z = 30 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/green/corner{ + dir = 4 + }, +/area/shuttle/abandoned) +"abb" = ( +/obj/machinery/door/airlock/glass_maintenance{ + name = "Maintenance" + }, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"abc" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"abd" = ( +/obj/structure/closet/crate{ + name = "spare equipment crate" + }, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/relic, +/obj/item/device/t_scanner, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct/small{ + dir = 4 + }, +/obj/item/storage/box/lights/mixed, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"abe" = ( /obj/effect/turf_decal/delivery, /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"aaD" = ( +"abf" = ( /turf/closed/wall, /area/hallway/secondary/entry) -"aaE" = ( +"abg" = ( /obj/structure/chair{ dir = 1 }, @@ -234,7 +511,7 @@ }, /turf/open/floor/plasteel/white, /area/shuttle/pod_1) -"aaF" = ( +"abh" = ( /obj/structure/chair{ dir = 1 }, @@ -255,14 +532,57 @@ }, /turf/open/floor/plasteel/white, /area/shuttle/pod_2) -"aaG" = ( +"abi" = ( /turf/closed/wall, /area/construction/mining/aux_base) -"aaH" = ( +"abj" = ( /obj/structure/lattice/catwalk, /turf/open/space, /area/space) -"aaI" = ( +"abk" = ( +/obj/machinery/vending/hydroseeds, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/greenblue/side, +/area/shuttle/abandoned) +"abl" = ( +/obj/structure/closet/crate/hydroponics, +/obj/item/stack/sheet/metal/fifty, +/obj/item/circuitboard/machine/hydroponics, +/obj/item/circuitboard/machine/gibber, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/green/corner{ + dir = 8 + }, +/area/shuttle/abandoned) +"abm" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/stack/cable_coil/random, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"abn" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/blue/corner, +/area/shuttle/abandoned) +"abo" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/greenblue/side, +/area/shuttle/abandoned) +"abp" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ dir = 8 @@ -276,7 +596,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"aaJ" = ( +"abq" = ( /obj/machinery/light/small{ dir = 4 }, @@ -285,11 +605,11 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"aaK" = ( +"abr" = ( /obj/structure/shuttle/engine/propulsion/burst, /turf/closed/wall/mineral/titanium, /area/shuttle/pod_1) -"aaL" = ( +"abs" = ( /obj/machinery/door/airlock/shuttle{ name = "Escape Pod Airlock" }, @@ -301,11 +621,11 @@ /obj/effect/turf_decal/stripes/end, /turf/open/floor/plasteel/white, /area/shuttle/pod_1) -"aaM" = ( +"abt" = ( /obj/structure/shuttle/engine/propulsion/burst, /turf/closed/wall/mineral/titanium, /area/shuttle/pod_2) -"aaN" = ( +"abu" = ( /obj/machinery/door/airlock/shuttle{ name = "Escape Pod Airlock" }, @@ -317,24 +637,123 @@ /obj/effect/turf_decal/stripes/end, /turf/open/floor/plasteel/white, /area/shuttle/pod_2) -"aaO" = ( +"abv" = ( /obj/item/stack/cable_coil, /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/starboard/fore) -"aaP" = ( +"abw" = ( +/obj/structure/closet/wardrobe, +/obj/item/clothing/under/trek/command/next, +/obj/item/clothing/under/trek/command/next, +/obj/item/clothing/under/trek/engsec/next, +/obj/item/clothing/under/trek/engsec/next, +/obj/item/clothing/under/trek/medsci/next, +/obj/item/clothing/under/trek/medsci/next, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/shoes/jackboots, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/spawner/lootdrop/costume, +/obj/item/clothing/under/rank/centcom_commander{ + desc = "A badge on the arm indicates that it's meant to be worn by CentCom recovery teams. This one seems dusty and clearly hasn't been cleaned in some time."; + name = "\improper dusty old CentCom jumpsuit" + }, +/obj/item/clothing/under/rank/centcom_officer{ + desc = "A badge on the arm indicates that it's meant to be worn by CentCom recovery teams. This one seems dusty and clearly hasn't been cleaned in some time."; + name = "\improper dusty old CentCom jumpsuit" + }, +/obj/item/clothing/under/rank/centcom_officer{ + desc = "A badge on the arm indicates that it's meant to be worn by CentCom recovery teams. This one seems dusty and clearly hasn't been cleaned in some time."; + name = "\improper dusty old CentCom jumpsuit" + }, +/obj/item/clothing/head/centhat{ + desc = "There's a gouge through the top where something has clawed clean through it. Whoever was wearing it probably doesn't need a hat any more."; + name = "\improper damaged CentCom hat" + }, +/turf/open/floor/plasteel/barber, +/area/shuttle/abandoned) +"abx" = ( +/obj/structure/reagent_dispensers/beerkeg, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/barber, +/area/shuttle/abandoned) +"aby" = ( +/obj/item/storage/bag/plants/portaseeder, +/obj/structure/table, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_x = 13; + pixel_y = 5 + }, +/obj/item/reagent_containers/glass/bottle/nutrient/ez, +/obj/item/reagent_containers/glass/bottle/nutrient/ez, +/obj/item/reagent_containers/glass/bottle/nutrient/ez, +/obj/item/reagent_containers/glass/bottle/nutrient/rh{ + pixel_x = -2; + pixel_y = 3 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/greenblue/side{ + dir = 8 + }, +/area/shuttle/abandoned) +"abz" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/reagent_containers/glass/bucket, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"abA" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/greenblue/side{ + dir = 4 + }, +/area/shuttle/abandoned) +"abB" = ( +/obj/item/soap, +/obj/structure/curtain, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/shower{ + pixel_y = 15 + }, +/turf/open/floor/plasteel/freezer, +/area/shuttle/abandoned) +"abC" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"aaQ" = ( +"abD" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"aaR" = ( +"abE" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ dir = 8 @@ -344,14 +763,14 @@ }, /turf/open/floor/plating, /area/hallway/secondary/entry) -"aaS" = ( +"abF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plating, /area/hallway/secondary/entry) -"aaT" = ( +"abG" = ( /obj/machinery/light/small{ dir = 4 }, @@ -360,7 +779,7 @@ }, /turf/open/floor/plating, /area/hallway/secondary/entry) -"aaU" = ( +"abH" = ( /obj/machinery/door/airlock/external{ cyclelinkeddir = 2; name = "External Airlock"; @@ -374,7 +793,86 @@ }, /turf/open/floor/plasteel, /area/construction/mining/aux_base) -"aaV" = ( +"abI" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/barber, +/area/shuttle/abandoned) +"abJ" = ( +/obj/structure/table, +/obj/item/storage/pill_bottle/dice, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/barber, +/area/shuttle/abandoned) +"abK" = ( +/obj/structure/table, +/obj/item/wrench, +/obj/item/crowbar, +/obj/item/clothing/suit/apron, +/obj/item/shovel/spade, +/obj/item/cultivator, +/obj/item/device/plant_analyzer, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/wirecutters, +/turf/open/floor/plasteel/blue/corner{ + dir = 1 + }, +/area/shuttle/abandoned) +"abL" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/storage/box/donkpockets, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"abM" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 4 + }, +/obj/structure/table, +/obj/machinery/microwave, +/turf/open/floor/plasteel/green/corner{ + dir = 4 + }, +/area/shuttle/abandoned) +"abN" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct/small{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/toilet{ + dir = 8 + }, +/turf/open/floor/plasteel/freezer, +/area/shuttle/abandoned) +"abO" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct/small{ + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/shuttle/abandoned) +"abP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/external{ name = "Escape Pod 1" @@ -387,7 +885,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"aaW" = ( +"abQ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/external{ name = "Escape Pod 2" @@ -400,7 +898,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"aaX" = ( +"abR" = ( /obj/machinery/light/small{ dir = 8 }, @@ -411,18 +909,62 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/construction/mining/aux_base) -"aaY" = ( +"abS" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/construction/mining/aux_base) -"aaZ" = ( +"abT" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/construction/mining/aux_base) -"aba" = ( +"abU" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/mopbucket, +/turf/open/floor/plasteel/greenblue/side{ + dir = 9 + }, +/area/shuttle/abandoned) +"abV" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral/corner{ + dir = 8 + }, +/area/shuttle/abandoned) +"abW" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"abX" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral/corner, +/area/shuttle/abandoned) +"abY" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/door/airlock{ + name = "Laborotary" + }, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"abZ" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ dir = 2 @@ -432,7 +974,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"abb" = ( +"aca" = ( /obj/structure/sign/pods{ pixel_x = -32 }, @@ -441,13 +983,13 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"abc" = ( +"acb" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"abd" = ( +"acc" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 }, @@ -456,7 +998,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"abe" = ( +"acd" = ( /obj/machinery/door/airlock/external{ cyclelinkeddir = 1; name = "External Airlock"; @@ -476,39 +1018,117 @@ }, /turf/open/floor/plasteel, /area/construction/mining/aux_base) -"abf" = ( +"ace" = ( /turf/closed/wall/r_wall, /area/maintenance/solars/starboard/fore) -"abg" = ( +"acf" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/solars/starboard/fore) -"abh" = ( +"acg" = ( +/obj/structure/table, +/obj/structure/bedsheetbin, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 8 + }, +/turf/open/floor/plasteel/greenblue/side{ + dir = 10 + }, +/area/shuttle/abandoned) +"ach" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/toy/cards/deck, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"aci" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"acj" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/door/airlock{ + glass = 1; + name = "Dormitory"; + opacity = 0 + }, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"ack" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 8; + heat_capacity = 1e+006 + }, +/area/shuttle/abandoned) +"acl" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/gun/energy/floragun, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"acm" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 4 + }, +/area/shuttle/abandoned) +"acn" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 1 + }, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"aco" = ( /turf/open/floor/plasteel/neutral, /area/hallway/secondary/entry) -"abi" = ( +"acp" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/yellow/side{ dir = 9 }, /area/construction/mining/aux_base) -"abj" = ( +"acq" = ( /turf/open/floor/plasteel/yellow/side{ dir = 1 }, /area/construction/mining/aux_base) -"abk" = ( +"acr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plasteel/yellow/side{ dir = 5 }, /area/construction/mining/aux_base) -"abl" = ( +"acs" = ( /obj/structure/sign/electricshock, /turf/closed/wall/r_wall, /area/maintenance/solars/starboard/fore) -"abm" = ( +"act" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -520,7 +1140,7 @@ }, /turf/open/floor/plating, /area/maintenance/solars/starboard/fore) -"abn" = ( +"acu" = ( /obj/machinery/power/smes, /obj/structure/cable/white{ icon_state = "0-8" @@ -530,7 +1150,7 @@ }, /turf/open/floor/plating, /area/maintenance/solars/starboard/fore) -"abo" = ( +"acv" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_y = 26 @@ -544,7 +1164,92 @@ }, /turf/open/floor/plating, /area/maintenance/solars/starboard/fore) -"abp" = ( +"acw" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/bed, +/turf/open/floor/plasteel/greenblue/side{ + dir = 10 + }, +/area/shuttle/abandoned) +"acx" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/mop, +/turf/open/floor/plasteel/greenblue/side, +/area/shuttle/abandoned) +"acy" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/device/gps{ + gpstag = "ITVSAC"; + pixel_x = -1; + pixel_y = 2 + }, +/obj/effect/decal/cleanable/blood/gibs/limb, +/turf/open/floor/plasteel/neutral/corner{ + dir = 1 + }, +/area/shuttle/abandoned) +"acz" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/light, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"acA" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral/corner{ + dir = 4 + }, +/area/shuttle/abandoned) +"acB" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12 + }, +/obj/structure/mirror{ + pixel_x = -30 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"acC" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/bikehorn/rubberducky, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"acD" = ( +/obj/structure/urinal{ + pixel_x = 30; + pixel_y = 0 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"acE" = ( /obj/structure/shuttle/engine/propulsion{ dir = 1 }, @@ -553,10 +1258,25 @@ }, /turf/open/floor/plating/airless, /area/shuttle/arrival) -"abq" = ( +"acF" = ( +/obj/docking_port/mobile/arrivals{ + dir = 2; + dwidth = 4; + height = 17; + name = "delta arrivals shuttle"; + width = 9 + }, +/obj/docking_port/stationary{ + dir = 2; + dwidth = 4; + height = 17; + id = "arrivals_stationary"; + name = "delta arrivals"; + width = 9 + }, /turf/closed/wall/mineral/plastitanium, /area/shuttle/arrival) -"abr" = ( +"acG" = ( /obj/structure/table/reinforced, /obj/item/storage/belt/utility, /obj/item/wrench, @@ -564,7 +1284,7 @@ dir = 8 }, /area/construction/mining/aux_base) -"abs" = ( +"acH" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "2-4" @@ -574,7 +1294,7 @@ }, /turf/open/floor/plasteel/neutral, /area/construction/mining/aux_base) -"abt" = ( +"acI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -585,7 +1305,7 @@ dir = 4 }, /area/construction/mining/aux_base) -"abu" = ( +"acJ" = ( /obj/machinery/door/airlock/engineering{ name = "Starboard Bow Solar Access"; req_access_txt = "10" @@ -604,7 +1324,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/solars/starboard/fore) -"abv" = ( +"acK" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -619,7 +1339,7 @@ }, /turf/open/floor/plating, /area/maintenance/solars/starboard/fore) -"abw" = ( +"acL" = ( /obj/machinery/power/terminal{ dir = 1 }, @@ -629,7 +1349,7 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/maintenance/solars/starboard/fore) -"abx" = ( +"acM" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -641,7 +1361,7 @@ }, /turf/open/floor/plating, /area/maintenance/solars/starboard/fore) -"aby" = ( +"acN" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -658,7 +1378,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/solars/starboard/fore) -"abz" = ( +"acO" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ icon_state = "4-8" @@ -666,14 +1386,62 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/solars/starboard/fore) -"abA" = ( +"acP" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/external{ + cyclelinkeddir = 8; + name = "External Solar Access"; + req_access_txt = "10; 13" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/maintenance/solars/starboard/fore) +"acQ" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ icon_state = "4-8" }, /turf/open/space, /area/solar/starboard/fore) -"abB" = ( +"acR" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"acS" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/door/airlock{ + glass = 1; + name = "Crew Quarters"; + opacity = 0 + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 1 + }, +/area/shuttle/abandoned) +"acT" = ( +/obj/machinery/vending/boozeomat, +/turf/closed/wall/mineral/titanium, +/area/shuttle/abandoned) +"acU" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 1 + }, +/area/shuttle/abandoned) +"acV" = ( /obj/machinery/status_display{ pixel_x = -32 }, @@ -688,7 +1456,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"abC" = ( +"acW" = ( /obj/machinery/status_display{ pixel_x = 32 }, @@ -708,7 +1476,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"abD" = ( +"acX" = ( /obj/machinery/status_display{ pixel_x = -32 }, @@ -720,7 +1488,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"abE" = ( +"acY" = ( /obj/machinery/status_display{ pixel_x = 32 }, @@ -737,7 +1505,10 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"abF" = ( +"acZ" = ( +/turf/closed/wall/mineral/plastitanium, +/area/shuttle/arrival) +"ada" = ( /obj/structure/window/reinforced, /obj/structure/shuttle/engine/heater{ dir = 1 @@ -747,7 +1518,7 @@ }, /turf/open/floor/plating/airless, /area/shuttle/arrival) -"abG" = ( +"adb" = ( /obj/machinery/status_display{ pixel_x = -32 }, @@ -764,7 +1535,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"abH" = ( +"adc" = ( /obj/machinery/status_display{ pixel_x = 32 }, @@ -776,7 +1547,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"abI" = ( +"add" = ( /obj/structure/table/reinforced, /obj/item/clipboard, /obj/item/mining_voucher, @@ -792,19 +1563,20 @@ dir = 8 }, /area/construction/mining/aux_base) -"abJ" = ( +"ade" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/construction/mining/aux_base) -"abK" = ( +"adf" = ( +/obj/structure/closet/secure_closet/miner/unlocked, /turf/open/floor/plasteel/yellow/side{ dir = 4 }, /area/construction/mining/aux_base) -"abL" = ( +"adg" = ( /obj/structure/sign/directions/engineering{ desc = "A sign that shows there are doors here. There are doors everywhere!"; icon_state = "doors"; @@ -812,7 +1584,7 @@ }, /turf/closed/wall/r_wall, /area/maintenance/solars/starboard/fore) -"abM" = ( +"adh" = ( /obj/structure/cable/white, /obj/machinery/power/apc/highcap/ten_k{ dir = 2; @@ -825,15 +1597,20 @@ }, /turf/open/floor/plating, /area/maintenance/solars/starboard/fore) -"abN" = ( +"adi" = ( /obj/structure/chair/office/dark{ dir = 4 }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, -/area/maintenance/solars/starboard/aft) -"abO" = ( +/area/maintenance/solars/starboard/fore) +"adj" = ( /obj/machinery/power/solar_control{ + dir = 8; id = "forestarboard"; name = "Starboard Bow Solar Control"; track = 0 @@ -844,7 +1621,70 @@ }, /turf/open/floor/plating, /area/maintenance/solars/starboard/fore) -"abP" = ( +"adk" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/latex/nitrile, +/obj/item/clothing/mask/surgical, +/obj/item/clothing/suit/apron/surgical, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 9 + }, +/area/shuttle/abandoned) +"adl" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 1 + }, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 1 + }, +/area/shuttle/abandoned) +"adm" = ( +/obj/structure/closet/crate/freezer/blood, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 5 + }, +/area/shuttle/abandoned) +"adn" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/table, +/obj/item/clothing/head/helmet/swat/nanotrasen, +/turf/open/floor/plasteel/bot, +/area/shuttle/abandoned) +"ado" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/light/built{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"adp" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/table, +/obj/item/clothing/gloves/color/black, +/turf/open/floor/plasteel/bot, +/area/shuttle/abandoned) +"adq" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/directions/engineering{ desc = "A sign that shows there are doors here. There are doors everywhere!"; @@ -853,37 +1693,37 @@ }, /turf/open/floor/plating, /area/hallway/secondary/entry) -"abQ" = ( +"adr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"abR" = ( +"ads" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/vacuum, /turf/open/floor/plating, /area/hallway/secondary/entry) -"abS" = ( +"adt" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"abU" = ( +"adu" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/arrival) -"abV" = ( +"adv" = ( /turf/closed/wall/mineral/titanium, /area/shuttle/arrival) -"abW" = ( +"adw" = ( /obj/structure/window/shuttle, /obj/structure/grille, /turf/open/floor/plating, /area/shuttle/arrival) -"abX" = ( +"adx" = ( /obj/structure/table/reinforced, /obj/item/device/analyzer{ pixel_x = 7; @@ -893,7 +1733,107 @@ dir = 8 }, /area/construction/mining/aux_base) -"abY" = ( +"ady" = ( +/obj/structure/closet/toolcloset, +/turf/open/floor/plasteel/yellow/side{ + dir = 4 + }, +/area/construction/mining/aux_base) +"adz" = ( +/obj/structure/table/optable, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/defibrillator/loaded, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 8 + }, +/area/shuttle/abandoned) +"adA" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/reagent_containers/spray/cleaner, +/turf/open/floor/plasteel/white, +/area/shuttle/abandoned) +"adB" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/storage/backpack/duffelbag/med/surgery, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 4 + }, +/area/shuttle/abandoned) +"adC" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 8 + }, +/obj/structure/table, +/obj/item/clothing/suit/armor/vest, +/turf/open/floor/plasteel/bot, +/area/shuttle/abandoned) +"adD" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 4 + }, +/obj/structure/table, +/obj/item/gun/energy/e_gun/mini, +/turf/open/floor/plasteel/bot, +/area/shuttle/abandoned) +"adE" = ( +/obj/machinery/light/small{ + brightness = 3; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral/side, +/area/shuttle/abandoned) +"adF" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/robot_debris, +/turf/open/floor/plasteel/neutral/side, +/area/shuttle/abandoned) +"adG" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/bot, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plasteel/neutral/corner{ + dir = 8 + }, +/area/shuttle/abandoned) +"adH" = ( +/obj/structure/sign/vacuum, +/turf/closed/wall/mineral/titanium, +/area/shuttle/abandoned) +"adI" = ( +/obj/structure/shuttle/engine/propulsion{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/shuttle/transport) +"adJ" = ( /obj/item/clothing/suit/hazardvest{ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; name = "emergency lifejacket" @@ -973,18 +1913,18 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/shuttle/arrival) -"abZ" = ( +"adK" = ( /obj/effect/turf_decal/delivery, /obj/structure/closet/wardrobe/mixed, /turf/open/floor/plasteel, /area/shuttle/arrival) -"aca" = ( +"adL" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/emergency, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/shuttle/arrival) -"acb" = ( +"adM" = ( /obj/structure/table/reinforced, /obj/structure/extinguisher_cabinet{ pixel_y = 32 @@ -997,13 +1937,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/shuttle/arrival) -"acc" = ( +"adN" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/shuttle/arrival) -"acd" = ( +"adO" = ( /obj/structure/rack, /obj/item/storage/toolbox/emergency, /obj/item/crowbar/red, @@ -1011,29 +1951,159 @@ dir = 10 }, /area/construction/mining/aux_base) -"ace" = ( +"adP" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/yellow/side, /area/construction/mining/aux_base) -"acf" = ( +"adQ" = ( /obj/structure/closet/toolcloset, /turf/open/floor/plasteel/yellow/side{ dir = 6 }, /area/construction/mining/aux_base) -"acg" = ( +"adR" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/construction/mining/aux_base) -"ack" = ( +"adS" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/frame/computer, +/obj/item/circuitboard/computer/operating, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 8 + }, +/area/shuttle/abandoned) +"adT" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/vomit/old, +/turf/open/floor/plasteel/white, +/area/shuttle/abandoned) +"adU" = ( +/obj/machinery/sleeper{ + icon_state = "sleeper-open"; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/whiteblue/corner{ + dir = 4 + }, +/area/shuttle/abandoned) +"adV" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/arrival/corner{ + dir = 8 + }, +/area/shuttle/abandoned) +"adW" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/clothing/suit/armor/vest, +/obj/effect/decal/cleanable/blood/gibs/body, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"adX" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/crowbar/red, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"adY" = ( +/obj/machinery/door/airlock/titanium{ + cyclelinkeddir = 4; + glass = 1; + name = "Internal Airlock" + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 4 + }, +/area/shuttle/abandoned) +"adZ" = ( +/obj/machinery/door/airlock/titanium{ + cyclelinkeddir = 8; + name = "External Airlock" + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"aea" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + cyclelinkeddir = 4; + name = "External Docking Port" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"aeb" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"acl" = ( +"aec" = ( +/obj/machinery/door/airlock/external{ + cyclelinkeddir = 8; + name = "External Docking Port" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"aed" = ( +/obj/structure/shuttle/engine/heater{ + dir = 1 + }, +/obj/structure/window/reinforced, +/turf/open/floor/plating/airless, +/area/shuttle/transport) +"aee" = ( +/obj/machinery/door/airlock/external{ + cyclelinkeddir = 4; + name = "External Docking Port" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"aef" = ( /obj/machinery/door/airlock/shuttle{ name = "Arrival Shuttle Airlock"; req_access_txt = "0" @@ -1046,21 +2116,35 @@ }, /turf/open/floor/plasteel/white, /area/shuttle/arrival) -"acm" = ( +"aeg" = ( /turf/open/floor/plasteel/neutral/side{ dir = 8; heat_capacity = 1e+006 }, /area/shuttle/arrival) -"acn" = ( +"aeh" = ( /turf/open/floor/plasteel/neutral, /area/shuttle/arrival) -"aco" = ( +"aei" = ( /turf/open/floor/plasteel/neutral/side{ dir = 4 }, /area/shuttle/arrival) -"acp" = ( +"aej" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + cyclelinkeddir = 8; + name = "External Docking Port" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"aek" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -1078,7 +2162,101 @@ }, /turf/open/floor/plasteel, /area/construction/mining/aux_base) -"acq" = ( +"ael" = ( +/obj/machinery/iv_drip, +/obj/machinery/vending/wallmed{ + name = "Emergency NanoMed"; + pixel_x = -28; + req_access_txt = "0"; + use_power = 0 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 8 + }, +/area/shuttle/abandoned) +"aem" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/stack/cable_coil/random, +/turf/open/floor/plasteel/white, +/area/shuttle/abandoned) +"aen" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/white, +/area/shuttle/abandoned) +"aeo" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/door/airlock/glass_medical{ + id_tag = null; + name = "Infirmary"; + req_access_txt = "0" + }, +/turf/open/floor/plasteel/white, +/area/shuttle/abandoned) +"aep" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/arrival{ + dir = 8 + }, +/area/shuttle/abandoned) +"aeq" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"aer" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/clothing/head/helmet/swat/nanotrasen, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"aes" = ( +/obj/structure/grille, +/obj/structure/window/shuttle, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"aet" = ( +/obj/structure/shuttle/engine/heater{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/shuttle/transport) +"aeu" = ( +/turf/open/floor/pod/light, +/area/shuttle/transport) +"aev" = ( +/obj/structure/shuttle/engine/heater{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/shuttle/transport) +"aew" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, @@ -1087,13 +2265,13 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"acr" = ( +"aex" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/entry) -"acs" = ( +"aey" = ( /obj/machinery/status_display{ pixel_x = -32 }, @@ -1105,13 +2283,13 @@ heat_capacity = 1e+006 }, /area/shuttle/arrival) -"act" = ( +"aez" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, /obj/machinery/light, /turf/open/floor/plasteel, /area/shuttle/arrival) -"acu" = ( +"aeA" = ( /obj/machinery/ai_status_display{ pixel_x = 32 }, @@ -1122,11 +2300,11 @@ dir = 4 }, /area/shuttle/arrival) -"acv" = ( +"aeB" = ( /obj/machinery/status_display, /turf/closed/wall, /area/construction/mining/aux_base) -"acw" = ( +"aeC" = ( /obj/machinery/requests_console{ department = "Construction"; departmentType = 0; @@ -1138,7 +2316,7 @@ dir = 9 }, /area/construction/mining/aux_base) -"acx" = ( +"aeD" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable/white{ icon_state = "1-2" @@ -1147,7 +2325,7 @@ dir = 1 }, /area/construction/mining/aux_base) -"acy" = ( +"aeE" = ( /obj/structure/table/reinforced, /obj/item/stack/packageWrap, /obj/item/stack/cable_coil/white{ @@ -1165,31 +2343,118 @@ dir = 5 }, /area/construction/mining/aux_base) -"acz" = ( +"aeF" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, +/obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, /area/shuttle/auxillary_base) -"acA" = ( +"aeG" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plating, /area/shuttle/auxillary_base) -"acB" = ( +"aeH" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 }, /turf/open/floor/plating, /area/shuttle/auxillary_base) -"acC" = ( +"aeI" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 10 + }, +/area/shuttle/abandoned) +"aeJ" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct, +/turf/open/floor/plasteel/whiteblue/side, +/area/shuttle/abandoned) +"aeK" = ( +/obj/structure/closet/secure_closet/medical2{ + req_access = null + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/clothing/glasses/hud/health/sunglasses, +/turf/open/floor/plasteel/whiteblue/side, +/area/shuttle/abandoned) +"aeL" = ( +/obj/structure/sign/bluecross_2, +/turf/closed/wall/mineral/titanium, +/area/shuttle/abandoned) +"aeM" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/arrival/corner{ + dir = 1 + }, +/area/shuttle/abandoned) +"aeN" = ( +/obj/structure/sign/engineering, +/turf/closed/wall/mineral/titanium, +/area/shuttle/abandoned) +"aeO" = ( +/obj/machinery/autolathe, +/obj/effect/decal/cleanable/oil, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"aeP" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/tank_dispenser, +/turf/open/floor/plasteel/neutral/side{ + dir = 8; + heat_capacity = 1e+006 + }, +/area/shuttle/abandoned) +"aeQ" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/bot, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"aeR" = ( /obj/structure/closet/emcloset, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"acD" = ( +"aeS" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light{ dir = 1 @@ -1200,7 +2465,17 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"acE" = ( +"aeT" = ( +/turf/closed/wall/mineral/titanium, +/area/shuttle/transport) +"aeU" = ( +/obj/machinery/light/small{ + brightness = 3; + dir = 8 + }, +/turf/open/floor/pod/light, +/area/shuttle/transport) +"aeV" = ( /obj/machinery/light{ dir = 1 }, @@ -1210,14 +2485,14 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"acF" = ( +"aeW" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"acG" = ( +"aeX" = ( /obj/machinery/light{ dir = 1 }, @@ -1227,29 +2502,28 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"acH" = ( +"aeY" = ( /obj/structure/chair{ dir = 4 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/shuttle/arrival) -"acI" = ( +"aeZ" = ( /obj/structure/chair{ dir = 8 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/shuttle/arrival) -"acJ" = ( -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/sunnybush, -/obj/structure/window/shuttle, -/turf/open/floor/grass, +"afa" = ( +/obj/machinery/requests_console{ + department = "Arrival shuttle"; + name = "Arrivals Shuttle console" + }, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/arrival) -"acK" = ( +"afb" = ( /obj/machinery/vending/snack/random, /obj/machinery/light{ dir = 1 @@ -1257,7 +2531,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"acL" = ( +"afc" = ( /obj/machinery/door/poddoor/shutters{ id = "construction"; name = "Construction Shutters" @@ -1270,7 +2544,7 @@ }, /turf/open/floor/plasteel, /area/construction/mining/aux_base) -"acM" = ( +"afd" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -1279,7 +2553,7 @@ dir = 8 }, /area/construction/mining/aux_base) -"acN" = ( +"afe" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, @@ -1288,114 +2562,7 @@ }, /turf/open/floor/plasteel/neutral, /area/construction/mining/aux_base) -"acP" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"acQ" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"acR" = ( -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"acS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"acT" = ( -/obj/structure/closet/emcloset, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"acU" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"acV" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"acW" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"acY" = ( -/obj/machinery/vending/cola/random, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"acZ" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"ada" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/entry) -"adb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"adc" = ( -/obj/machinery/door/poddoor/shutters{ - id = "construction"; - name = "Construction Shutters" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/construction/mining/aux_base) -"add" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/turf/open/floor/plasteel/yellow/side{ - dir = 8 - }, -/area/construction/mining/aux_base) -"ade" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral, -/area/construction/mining/aux_base) -"adf" = ( +"aff" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/reinforced, /obj/item/clipboard, @@ -1405,7 +2572,332 @@ dir = 4 }, /area/construction/mining/aux_base) -"adg" = ( +"afg" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/shuttle/auxillary_base) +"afh" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plating, +/area/shuttle/auxillary_base) +"afi" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/shuttle/auxillary_base) +"afj" = ( +/turf/open/floor/plating, +/area/shuttle/auxillary_base) +"afk" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating, +/area/shuttle/auxillary_base) +"afl" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"afm" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/blood/gibs/down, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"afn" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"afo" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/closet/crate/science, +/obj/effect/decal/cleanable/leaper_sludge, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"afp" = ( +/obj/structure/closet/crate/engineering, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/rglass{ + amount = 20 + }, +/obj/item/stack/sheet/mineral/titanium/fifty, +/turf/open/floor/plasteel/yellow/corner, +/area/shuttle/abandoned) +"afq" = ( +/obj/structure/table, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/rglass{ + amount = 20 + }, +/obj/item/clothing/head/welding, +/obj/structure/light_construct{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"afr" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel/neutral/side{ + dir = 8; + heat_capacity = 1e+006 + }, +/area/shuttle/abandoned) +"afs" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"aft" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"afu" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/assistant, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"afv" = ( +/obj/machinery/door/airlock/titanium, +/turf/open/floor/pod/light, +/area/shuttle/transport) +"afw" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"afx" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"afy" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/sunnybush, +/obj/structure/window/shuttle, +/turf/open/floor/grass, +/area/shuttle/arrival) +"afz" = ( +/obj/machinery/vending/cola/random, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"afA" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"afB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral, +/area/hallway/secondary/entry) +"afC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"afD" = ( +/obj/machinery/door/poddoor/shutters{ + id = "construction"; + name = "Construction Shutters" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/construction/mining/aux_base) +"afE" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/turf/open/floor/plasteel/yellow/side{ + dir = 8 + }, +/area/construction/mining/aux_base) +"afF" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/neutral, +/area/construction/mining/aux_base) +"afG" = ( +/obj/machinery/computer/camera_advanced/base_construction{ + dir = 8 + }, +/turf/open/floor/plasteel/yellow/side{ + dir = 4 + }, +/area/construction/mining/aux_base) +"afH" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/stack/cable_coil/random, +/turf/open/floor/plasteel/whitepurple/side{ + dir = 9 + }, +/area/shuttle/abandoned) +"afI" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 1 + }, +/turf/open/floor/plasteel/whitepurple/side{ + dir = 1 + }, +/area/shuttle/abandoned) +"afJ" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plasteel/whitepurple/side{ + dir = 1 + }, +/area/shuttle/abandoned) +"afK" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/purple/corner{ + dir = 8 + }, +/area/shuttle/abandoned) +"afL" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/paper/crumpled/bloody{ + info = "Your vessel will be transporting artifact E-395 to our nearby research station. Under no circumstances is the container to be opened. Half of the payment will be given now, rest upon completion. In the event of containment breach--" + }, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"afM" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/blood/gibs/limb, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"afN" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/yellow/side{ + dir = 4 + }, +/area/shuttle/abandoned) +"afO" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/door/airlock/glass_engineering{ + name = "Engineering Storage" + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 4 + }, +/area/shuttle/abandoned) +"afP" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/clothing/head/welding, +/turf/open/floor/plasteel/neutral/side{ + dir = 8; + heat_capacity = 1e+006 + }, +/area/shuttle/abandoned) +"afQ" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating, +/area/shuttle/transport) +"afR" = ( +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/pod/dark, +/area/shuttle/transport) +"afS" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/pod/dark, +/area/shuttle/transport) +"afT" = ( /obj/structure/chair{ dir = 4 }, @@ -1413,7 +2905,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"adh" = ( +"afU" = ( /obj/structure/flora/ausbushes/grassybush, /obj/structure/flora/ausbushes/lavendergrass, /obj/structure/flora/ausbushes/ywflowers, @@ -1421,12 +2913,12 @@ /obj/structure/window/shuttle, /turf/open/floor/grass, /area/shuttle/arrival) -"adi" = ( +"afV" = ( /obj/item/device/radio/beacon, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"adj" = ( +"afW" = ( /obj/machinery/button/door{ id = "construction"; name = "Auxiliary Construction Shutters"; @@ -1446,48 +2938,136 @@ dir = 8 }, /area/construction/mining/aux_base) -"adk" = ( +"afX" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/neutral, /area/construction/mining/aux_base) -"adl" = ( -/obj/machinery/computer/camera_advanced/base_construction, +"afY" = ( +/obj/machinery/computer/shuttle/mining{ + dir = 8 + }, /turf/open/floor/plasteel/yellow/side{ dir = 4 }, /area/construction/mining/aux_base) -"adq" = ( +"afZ" = ( +/obj/structure/mining_shuttle_beacon, +/turf/open/floor/plating, +/area/shuttle/auxillary_base) +"aga" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/whitepurple/side{ + dir = 8 + }, +/area/shuttle/abandoned) +"agb" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/door/airlock/research{ + glass = 1; + name = "Research Lab" + }, +/turf/open/floor/plasteel/white, +/area/shuttle/abandoned) +"agc" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/purple/side{ + dir = 8 + }, +/area/shuttle/abandoned) +"agd" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/clothing/gloves/color/black, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"age" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/greenglow, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"agf" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/airlock_painter, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/yellow/corner{ + dir = 4 + }, +/area/shuttle/abandoned) +"agg" = ( +/obj/structure/closet/toolcloset, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"agh" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/stack/rods/twentyfive, +/turf/open/floor/plasteel/neutral/side{ + dir = 8; + heat_capacity = 1e+006 + }, +/area/shuttle/abandoned) +"agi" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/obj/structure/light_construct/small, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"agj" = ( /obj/structure/closet/firecloset, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"adr" = ( +"agk" = ( /obj/effect/turf_decal/delivery, /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"ads" = ( +"agl" = ( /obj/effect/turf_decal/delivery, /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"adt" = ( -/obj/machinery/vending/wallmed{ - name = "Emergency NanoMed"; - req_access_txt = "0"; - use_power = 0 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/shuttle/arrival) -"adu" = ( +"agm" = ( /obj/machinery/light{ dir = 8 }, @@ -1506,7 +3086,7 @@ dir = 8 }, /area/construction/mining/aux_base) -"adv" = ( +"agn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "2-8" @@ -1518,7 +3098,12 @@ }, /turf/open/floor/plasteel/neutral, /area/construction/mining/aux_base) -"adw" = ( +"ago" = ( +/turf/open/floor/plasteel/yellow/side{ + dir = 4 + }, +/area/construction/mining/aux_base) +"agp" = ( /obj/machinery/door/airlock/external{ name = "Auxiliary Base Airlock" }, @@ -1530,13 +3115,22 @@ }, /turf/open/floor/plating, /area/construction/mining/aux_base) -"adx" = ( +"agq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/docking_port/stationary/public_mining_dock{ + dir = 4 + }, +/turf/open/floor/plating, +/area/shuttle/auxillary_base) +"agr" = ( /obj/machinery/light{ dir = 4 }, /turf/open/floor/plating, /area/shuttle/auxillary_base) -"ady" = ( +"ags" = ( /obj/docking_port/mobile/auxillary_base{ dheight = 4; dir = 2; @@ -1549,7 +3143,7 @@ /obj/machinery/computer/auxillary_base, /turf/closed/wall, /area/shuttle/auxillary_base) -"adz" = ( +"agt" = ( /obj/machinery/light{ dir = 8 }, @@ -1560,7 +3154,76 @@ }, /turf/open/floor/plating, /area/shuttle/auxillary_base) -"adH" = ( +"agu" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/frame/computer, +/obj/item/stock_parts/console_screen, +/turf/open/floor/plasteel/whitepurple/side{ + dir = 8 + }, +/area/shuttle/abandoned) +"agv" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/circuitboard/machine/circuit_imprinter, +/turf/open/floor/plasteel/white, +/area/shuttle/abandoned) +"agw" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/frame/machine, +/turf/open/floor/plasteel/whitepurple/corner, +/area/shuttle/abandoned) +"agx" = ( +/obj/structure/sign/science, +/turf/closed/wall/mineral/titanium, +/area/shuttle/abandoned) +"agy" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 8 + }, +/turf/open/floor/plasteel/purple/corner{ + dir = 1 + }, +/area/shuttle/abandoned) +"agz" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" + }, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" + }, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"agA" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"agB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 @@ -1570,7 +3233,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"adI" = ( +"agC" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 @@ -1580,13 +3243,19 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"adJ" = ( +"agD" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/pod/light, +/area/shuttle/transport) +"agE" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/entry) -"adK" = ( +"agF" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, @@ -1595,11 +3264,11 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"adL" = ( +"agG" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall/mineral/titanium, /area/shuttle/arrival) -"adM" = ( +"agH" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, @@ -1608,21 +3277,29 @@ heat_capacity = 1e+006 }, /area/shuttle/arrival) -"adN" = ( +"agI" = ( /obj/structure/table/reinforced, /obj/item/clipboard, /obj/item/toy/figure/assistant, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/shuttle/arrival) -"adO" = ( +"agJ" = ( +/obj/machinery/vending/wallmed{ + name = "Emergency NanoMed"; + req_access_txt = "0"; + use_power = 0 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/arrival) +"agK" = ( /obj/structure/table/reinforced, /obj/item/folder, /obj/item/storage/pill_bottle/dice, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/shuttle/arrival) -"adP" = ( +"agL" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, @@ -1630,33 +3307,123 @@ dir = 4 }, /area/shuttle/arrival) -"adQ" = ( +"agM" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/yellow/side{ dir = 8 }, /area/construction/mining/aux_base) -"adR" = ( +"agN" = ( /obj/structure/cable/white{ icon_state = "1-2" }, +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral, /area/construction/mining/aux_base) -"adZ" = ( +"agO" = ( +/obj/docking_port/stationary{ + dheight = 9; + dir = 2; + dwidth = 5; + height = 24; + id = "syndicate_ne"; + name = "northeast of station"; + turf_type = /turf/open/space; + width = 18 + }, +/turf/open/space, +/area/space) +"agP" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/frame/machine, +/turf/open/floor/plasteel/whitepurple/side{ + dir = 8 + }, +/area/shuttle/abandoned) +"agQ" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/frame/machine, +/turf/open/floor/plasteel/whitepurple/side{ + dir = 4 + }, +/area/shuttle/abandoned) +"agR" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"agS" = ( +/obj/machinery/door/airlock/titanium{ + cyclelinkeddir = 8; + name = "External Airlock" + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/docking_port/mobile{ + dheight = 0; + dir = 8; + dwidth = 11; + height = 15; + id = "whiteship"; + launch_status = 0; + name = "White-Ship"; + port_direction = 8; + preferred_direction = 8; + roundstart_move = "whiteship_away"; + width = 32 + }, +/obj/docking_port/stationary{ + dir = 8; + dwidth = 11; + height = 15; + id = "whiteship_home"; + name = "SS13: Auxiliary Dock, Station-Fore"; + width = 32 + }, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"agT" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"aea" = ( +"agU" = ( +/obj/machinery/door/airlock/external, +/turf/open/floor/pod/light, +/area/shuttle/transport) +"agV" = ( +/obj/machinery/computer/shuttle/ferry/request{ + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/shuttle/transport) +"agW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"aec" = ( +"agX" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/neutral, +/area/shuttle/arrival) +"agY" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -1665,7 +3432,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"aed" = ( +"agZ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ name = "Auxiliary Construction Zone"; @@ -1683,7 +3450,7 @@ }, /turf/open/floor/plasteel, /area/construction/mining/aux_base) -"aee" = ( +"aha" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -1692,7 +3459,7 @@ dir = 8 }, /area/construction/mining/aux_base) -"aef" = ( +"ahb" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -1701,11 +3468,9 @@ }, /turf/open/floor/plasteel/neutral, /area/construction/mining/aux_base) -"aeg" = ( +"ahc" = ( /obj/structure/table/reinforced, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, /obj/item/stack/sheet/glass{ amount = 30 }, @@ -1714,31 +3479,125 @@ dir = 4 }, /area/construction/mining/aux_base) -"aei" = ( +"ahd" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/whitepurple/side{ + dir = 10 + }, +/area/shuttle/abandoned) +"ahe" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct, +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/plasteel/whitepurple/side, +/area/shuttle/abandoned) +"ahf" = ( +/obj/structure/closet/crate/science{ + name = "spare circuit boards crate" + }, +/obj/item/circuitboard/computer/rdconsole, +/obj/item/circuitboard/machine/protolathe, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/reagent_containers/glass/beaker/sulphuric, +/turf/open/floor/plasteel/whitepurple/side{ + dir = 6 + }, +/area/shuttle/abandoned) +"ahg" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/light/built, +/turf/open/floor/plasteel/blue/side, +/area/shuttle/abandoned) +"ahh" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/blue/corner{ + dir = 8 + }, +/area/shuttle/abandoned) +"ahi" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"ahj" = ( +/obj/machinery/light/small{ + brightness = 3; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 1 + }, +/area/shuttle/abandoned) +"ahk" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/turf_decal/bot, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plasteel/neutral/corner{ + dir = 1 + }, +/area/shuttle/abandoned) +"ahl" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/pod/light, +/area/shuttle/transport) +"ahm" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/pen, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/shuttle/arrival) -"aej" = ( +"ahn" = ( /obj/structure/closet/wardrobe/black, /turf/open/floor/plasteel/neutral/side, /area/shuttle/arrival) -"aek" = ( +"aho" = ( /obj/structure/closet/wardrobe/grey, /turf/open/floor/plasteel/blue/corner, /area/shuttle/arrival) -"ael" = ( +"ahp" = ( /turf/open/floor/plasteel/blue/side, /area/shuttle/arrival) -"aem" = ( +"ahq" = ( /obj/structure/closet/wardrobe/yellow, /turf/open/floor/plasteel/blue/corner{ dir = 8 }, /area/shuttle/arrival) -"aen" = ( +"ahr" = ( +/obj/structure/closet/wardrobe/grey, +/turf/open/floor/plasteel/neutral, +/area/shuttle/arrival) +"ahs" = ( /obj/structure/table/reinforced, /obj/item/storage/briefcase{ pixel_x = 3; @@ -1748,7 +3607,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/shuttle/arrival) -"aeo" = ( +"aht" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ name = "Auxiliary Construction Zone"; @@ -1763,32 +3622,45 @@ }, /turf/open/floor/plasteel, /area/construction/mining/aux_base) -"aep" = ( +"ahu" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/neutral, +/area/construction/mining/aux_base) +"ahv" = ( /obj/structure/table/reinforced, -/obj/item/stack/sheet/plasteel{ - amount = 20 - }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/sheet/plasteel/twenty, +/obj/item/stack/rods/fifty, /obj/item/storage/box/lights/mixed, /turf/open/floor/plasteel/yellow/side{ dir = 4 }, /area/construction/mining/aux_base) -"aeq" = ( +"ahw" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plating, /area/shuttle/auxillary_base) -"aer" = ( +"ahx" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/plating, /area/shuttle/auxillary_base) -"aew" = ( +"ahy" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/door/airlock/glass_command{ + name = "Bridge"; + welded = 1 + }, +/turf/open/floor/plasteel/neutral/side, +/area/shuttle/abandoned) +"ahz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line{ @@ -1796,11 +3668,11 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"aex" = ( +"ahA" = ( /obj/machinery/status_display, /turf/closed/wall/mineral/titanium, /area/shuttle/arrival) -"aey" = ( +"ahB" = ( /obj/effect/turf_decal/stripes/line{ dir = 2 }, @@ -1813,11 +3685,11 @@ }, /turf/open/floor/plasteel, /area/shuttle/arrival) -"aez" = ( +"ahC" = ( /obj/machinery/ai_status_display, /turf/closed/wall/mineral/titanium, /area/shuttle/arrival) -"aeA" = ( +"ahD" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/newscaster{ pixel_y = -32 @@ -1834,7 +3706,7 @@ dir = 10 }, /area/construction/mining/aux_base) -"aeB" = ( +"ahE" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -1843,7 +3715,7 @@ }, /turf/open/floor/plasteel/yellow/side, /area/construction/mining/aux_base) -"aeC" = ( +"ahF" = ( /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -1859,11 +3731,89 @@ dir = 6 }, /area/construction/mining/aux_base) -"aeD" = ( +"ahG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/structure/ore_box, +/turf/open/floor/plating, +/area/shuttle/auxillary_base) +"ahH" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/shuttle/auxillary_base) -"aeJ" = ( +"ahI" = ( +/obj/structure/table, +/obj/machinery/recharger, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/cobweb, +/obj/item/stack/spacecash/c1000, +/obj/item/stack/spacecash/c1000, +/turf/open/floor/plasteel/blue/side{ + dir = 9 + }, +/area/shuttle/abandoned) +"ahJ" = ( +/obj/structure/closet/crate, +/obj/item/paper_bin, +/obj/item/stack/sheet/metal/twenty, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/clothing/under/gimmick/rank/captain/suit, +/turf/open/floor/plasteel/blue/corner{ + dir = 1 + }, +/area/shuttle/abandoned) +"ahK" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/device/megaphone, +/turf/open/floor/plasteel/blue/corner{ + dir = 4 + }, +/area/shuttle/abandoned) +"ahL" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/light/built{ + dir = 1 + }, +/turf/open/floor/plasteel/blue/side{ + dir = 1 + }, +/area/shuttle/abandoned) +"ahM" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/table, +/obj/item/stack/cable_coil/random, +/turf/open/floor/plasteel/blue/corner{ + dir = 4 + }, +/area/shuttle/abandoned) +"ahN" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/table, +/obj/item/device/camera, +/turf/open/floor/plasteel/blue/side{ + dir = 5 + }, +/area/shuttle/abandoned) +"ahO" = ( /obj/machinery/status_display{ pixel_x = -32 }, @@ -1876,7 +3826,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"aeK" = ( +"ahP" = ( /obj/machinery/status_display{ pixel_x = 32 }, @@ -1894,7 +3844,12 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"aeL" = ( +"ahQ" = ( +/obj/structure/window/shuttle, +/obj/structure/grille, +/turf/open/floor/plating, +/area/shuttle/transport) +"ahR" = ( /obj/machinery/status_display{ pixel_x = -32 }, @@ -1907,7 +3862,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"aeM" = ( +"ahS" = ( /obj/machinery/status_display{ pixel_x = 32 }, @@ -1925,7 +3880,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"aeN" = ( +"ahT" = ( /obj/machinery/light/small{ dir = 1 }, @@ -1933,13 +3888,13 @@ dir = 8 }, /area/shuttle/arrival) -"aeO" = ( +"ahU" = ( /obj/structure/chair/office/dark, /turf/open/floor/plasteel/blue/side{ dir = 1 }, /area/shuttle/arrival) -"aeP" = ( +"ahV" = ( /obj/machinery/light/small{ dir = 1 }, @@ -1947,7 +3902,7 @@ dir = 4 }, /area/shuttle/arrival) -"aeQ" = ( +"ahW" = ( /obj/machinery/status_display{ pixel_x = -32 }, @@ -1965,7 +3920,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"aeR" = ( +"ahX" = ( /obj/machinery/status_display{ pixel_x = 32 }, @@ -1978,7 +3933,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"aeS" = ( +"ahY" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -1997,23 +3952,92 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"aeV" = ( -/obj/structure/frame/computer, +"ahZ" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 8 + }, +/obj/item/phone, +/turf/open/floor/plasteel/blue/side{ + dir = 8 + }, +/area/shuttle/abandoned) +"aia" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/blood/gibs/torso, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"aib" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/shard, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"aic" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 4 + }, +/turf/open/floor/plasteel/blue/side{ + dir = 4 + }, +/area/shuttle/abandoned) +"aid" = ( +/obj/docking_port/mobile{ + dir = 1; + dwidth = 2; + height = 13; + id = "ferry"; + name = "ferry shuttle"; + port_direction = 1; + preferred_direction = 4; + roundstart_move = "ferry_away"; + width = 5 + }, +/obj/docking_port/stationary{ + dir = 1; + dwidth = 2; + height = 13; + id = "ferry_home"; + name = "port bay 2"; + turf_type = /turf/open/space; + width = 5 + }, +/obj/machinery/door/airlock/titanium, +/turf/open/floor/pod/dark, +/area/shuttle/transport) +"aie" = ( +/obj/structure/frame/computer{ + dir = 1 + }, /turf/open/floor/plasteel/blue, /area/shuttle/arrival) -"aeW" = ( -/obj/structure/frame/computer, +"aif" = ( +/obj/structure/frame/computer{ + dir = 1 + }, /turf/open/floor/plasteel/blue/side, /area/shuttle/arrival) -"aeX" = ( +"aig" = ( /turf/closed/wall, /area/maintenance/starboard/fore) -"aeY" = ( +"aih" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"aeZ" = ( +"aii" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -2021,14 +4045,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"afa" = ( +"aij" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"afb" = ( +"aik" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "2-8" @@ -2037,26 +4061,36 @@ dir = 5 }, /area/maintenance/starboard/fore) -"afc" = ( +"ail" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/barricade/wooden, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"afd" = ( +"aim" = ( /obj/machinery/vending/snack/random, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plasteel/vault{ dir = 4 }, /area/maintenance/starboard/fore) -"afe" = ( +"ain" = ( /obj/machinery/vending/cola/random, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault{ dir = 4 }, /area/maintenance/starboard/fore) -"afg" = ( +"aio" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/twohanded/required/kirbyplants/random, +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/vault{ + dir = 6 + }, +/area/maintenance/starboard/fore) +"aip" = ( /obj/structure/chair/stool, /obj/machinery/light/small{ dir = 1 @@ -2066,7 +4100,7 @@ }, /turf/open/floor/plasteel/vault, /area/maintenance/starboard/fore) -"afh" = ( +"aiq" = ( /obj/structure/table/wood, /obj/machinery/newscaster{ pixel_y = 32 @@ -2074,17 +4108,70 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plasteel/vault, /area/maintenance/starboard/fore) -"afi" = ( +"air" = ( /obj/structure/chair/stool, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault, /area/maintenance/starboard/fore) -"afj" = ( +"ais" = ( /obj/effect/decal/cleanable/dirt, /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/vault, /area/maintenance/starboard/fore) -"afl" = ( +"ait" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/blue/side{ + dir = 10 + }, +/area/shuttle/abandoned) +"aiu" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/pen/fountain/captain, +/turf/open/floor/plasteel/neutral/side{ + dir = 5 + }, +/area/shuttle/abandoned) +"aiv" = ( +/obj/structure/chair/comfy/black, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"aiw" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 9 + }, +/area/shuttle/abandoned) +"aix" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/storage/photo_album, +/turf/open/floor/plasteel/blue/corner, +/area/shuttle/abandoned) +"aiy" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/blue/side{ + dir = 6 + }, +/area/shuttle/abandoned) +"aiz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ @@ -2092,7 +4179,20 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"afm" = ( +"aiA" = ( +/obj/machinery/door/airlock/external{ + cyclelinkeddir = 2; + name = "External Docking Port" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"aiB" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -2106,28 +4206,28 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"afn" = ( +"aiC" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"afo" = ( +"aiD" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/blobstart, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"afp" = ( +"aiE" = ( /mob/living/simple_animal/cockroach, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"afq" = ( +"aiF" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"afr" = ( +"aiG" = ( /obj/structure/door_assembly/door_assembly_mhatch, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -2138,50 +4238,107 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"afs" = ( +"aiH" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/redyellow, /area/maintenance/starboard/fore) -"aft" = ( +"aiI" = ( /turf/open/floor/plasteel/redyellow, /area/maintenance/starboard/fore) -"afu" = ( +"aiJ" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"afx" = ( +"aiK" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/storage/fancy/cigarettes/cigars/cohiba, +/turf/open/floor/plasteel/blue/side{ + dir = 10 + }, +/area/shuttle/abandoned) +"aiL" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/computer/camera_advanced/shuttle_docker/whiteship{ + dir = 1; + x_offset = -7; + y_offset = -8 + }, +/turf/open/floor/plasteel/blue/side, +/area/shuttle/abandoned) +"aiM" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/table, +/obj/item/device/pda/clear, +/turf/open/floor/plasteel/blue/side, +/area/shuttle/abandoned) +"aiN" = ( +/obj/machinery/computer/shuttle/white_ship{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/blue/side, +/area/shuttle/abandoned) +"aiO" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/table, +/obj/item/device/radio, +/turf/open/floor/plasteel/blue/side, +/area/shuttle/abandoned) +"aiP" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/blue/side, +/area/shuttle/abandoned) +"aiQ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"afy" = ( +"aiR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"afz" = ( +"aiS" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"afA" = ( +"aiT" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"afB" = ( +"aiU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"afC" = ( +"aiV" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -2189,7 +4346,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"afD" = ( +"aiW" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 @@ -2199,7 +4356,7 @@ heat_capacity = 1e+006 }, /area/maintenance/starboard/fore) -"afE" = ( +"aiX" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -2210,12 +4367,9 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"afF" = ( +"aiY" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/maintenance_hatch/abandoned{ +/obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" }, @@ -2231,34 +4385,34 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"afG" = ( +"aiZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/redyellow, /area/maintenance/starboard/fore) -"afH" = ( +"aja" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/redyellow, /area/maintenance/starboard/fore) -"afI" = ( +"ajb" = ( /obj/effect/landmark/blobstart, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/redyellow, /area/maintenance/starboard/fore) -"afJ" = ( +"ajc" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/plasteel/redyellow, /area/maintenance/starboard/fore) -"afO" = ( +"ajd" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line{ @@ -2269,7 +4423,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"afP" = ( +"aje" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ @@ -2280,7 +4434,20 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"afQ" = ( +"ajf" = ( +/obj/machinery/door/airlock/external{ + cyclelinkeddir = 1; + name = "External Docking Port" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"ajg" = ( /obj/machinery/door/firedoor, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -2292,11 +4459,11 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"afR" = ( +"ajh" = ( /obj/structure/sign/pods, /turf/closed/wall, /area/hallway/secondary/entry) -"afS" = ( +"aji" = ( /obj/machinery/door/firedoor, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -2308,13 +4475,13 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"afT" = ( +"ajj" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"afU" = ( +"ajk" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -2322,12 +4489,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"afV" = ( +"ajl" = ( /obj/structure/table_frame/wood, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/redyellow, /area/maintenance/starboard/fore) -"afW" = ( +"ajm" = ( /obj/item/chair/stool/bar{ pixel_y = -8 }, @@ -2335,48 +4502,48 @@ /obj/effect/decal/cleanable/vomit/old, /turf/open/floor/plasteel/redyellow, /area/maintenance/starboard/fore) -"afX" = ( +"ajn" = ( /obj/structure/chair/stool/bar, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/redyellow, /area/maintenance/starboard/fore) -"afY" = ( +"ajo" = ( /obj/machinery/light/small, /turf/open/floor/plasteel/redyellow, /area/maintenance/starboard/fore) -"afZ" = ( +"ajp" = ( /obj/structure/chair/stool/bar, /turf/open/floor/plasteel/redyellow, /area/maintenance/starboard/fore) -"aga" = ( +"ajq" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plasteel/redyellow, /area/maintenance/starboard/fore) -"agg" = ( +"ajr" = ( /obj/structure/grille, /turf/closed/wall/r_wall, /area/space) -"agh" = ( +"ajs" = ( /obj/structure/table, /obj/item/storage/briefcase, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"agi" = ( +"ajt" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/arrival{ dir = 9 }, /area/hallway/secondary/entry) -"agj" = ( +"aju" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/arrival{ dir = 1 }, /area/hallway/secondary/entry) -"agk" = ( +"ajv" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, @@ -2384,7 +4551,7 @@ dir = 1 }, /area/hallway/secondary/entry) -"agl" = ( +"ajw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -2392,7 +4559,7 @@ dir = 1 }, /area/hallway/secondary/entry) -"agm" = ( +"ajx" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -2405,7 +4572,7 @@ dir = 1 }, /area/hallway/secondary/entry) -"agn" = ( +"ajy" = ( /obj/machinery/light{ dir = 1 }, @@ -2419,7 +4586,7 @@ dir = 1 }, /area/hallway/secondary/entry) -"ago" = ( +"ajz" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, @@ -2427,7 +4594,7 @@ dir = 1 }, /area/hallway/secondary/entry) -"agp" = ( +"ajA" = ( /obj/machinery/light{ dir = 1 }, @@ -2438,7 +4605,7 @@ dir = 1 }, /area/hallway/secondary/entry) -"agq" = ( +"ajB" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -2460,7 +4627,7 @@ dir = 1 }, /area/hallway/secondary/entry) -"agr" = ( +"ajC" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -2469,7 +4636,7 @@ dir = 1 }, /area/hallway/secondary/entry) -"ags" = ( +"ajD" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -2478,7 +4645,7 @@ dir = 1 }, /area/hallway/secondary/entry) -"agt" = ( +"ajE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -2487,7 +4654,7 @@ dir = 1 }, /area/hallway/secondary/entry) -"agu" = ( +"ajF" = ( /obj/machinery/light{ dir = 1 }, @@ -2502,7 +4669,7 @@ dir = 1 }, /area/hallway/secondary/entry) -"agv" = ( +"ajG" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -2511,13 +4678,13 @@ dir = 1 }, /area/hallway/secondary/entry) -"agw" = ( +"ajH" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/arrival{ dir = 1 }, /area/hallway/secondary/entry) -"agx" = ( +"ajI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, @@ -2525,12 +4692,12 @@ dir = 1 }, /area/hallway/secondary/entry) -"agy" = ( +"ajJ" = ( /turf/open/floor/plasteel/arrival{ dir = 5 }, /area/hallway/secondary/entry) -"agz" = ( +"ajK" = ( /obj/machinery/light/small{ dir = 4 }, @@ -2540,11 +4707,11 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"agA" = ( +"ajL" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"agB" = ( +"ajM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -2554,7 +4721,7 @@ dir = 5 }, /area/maintenance/starboard/fore) -"agC" = ( +"ajN" = ( /obj/structure/table/reinforced, /obj/effect/decal/cleanable/dirt, /obj/item/reagent_containers/food/snacks/meat/slab/human{ @@ -2565,17 +4732,17 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"agD" = ( +"ajO" = ( /obj/structure/table/reinforced, /obj/effect/spawner/lootdrop/maintenance, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"agE" = ( +"ajP" = ( /obj/structure/sign/nosmoking_2, /turf/closed/wall, /area/maintenance/starboard/fore) -"agF" = ( +"ajQ" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/food/condiment/saltshaker{ pixel_x = -8; @@ -2587,7 +4754,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"agJ" = ( +"ajR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /obj/item/twohanded/required/kirbyplants{ @@ -2595,31 +4762,31 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"agK" = ( +"ajS" = ( /turf/open/floor/plasteel/arrival{ dir = 10 }, /area/hallway/secondary/entry) -"agL" = ( +"ajT" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, /turf/open/floor/plasteel/arrival, /area/hallway/secondary/entry) -"agM" = ( +"ajU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/arrival, /area/hallway/secondary/entry) -"agN" = ( +"ajV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/arrival, /area/hallway/secondary/entry) -"agO" = ( +"ajW" = ( /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -2627,7 +4794,7 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/arrival, /area/hallway/secondary/entry) -"agP" = ( +"ajX" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -2638,14 +4805,21 @@ }, /turf/open/floor/plasteel/arrival, /area/hallway/secondary/entry) -"agQ" = ( +"ajY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/arrival, +/area/hallway/secondary/entry) +"ajZ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /turf/open/floor/plasteel/arrival, /area/hallway/secondary/entry) -"agR" = ( +"aka" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -2654,7 +4828,7 @@ }, /turf/open/floor/plasteel/arrival, /area/hallway/secondary/entry) -"agS" = ( +"akb" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -2664,12 +4838,12 @@ }, /turf/open/floor/plasteel/arrival, /area/hallway/secondary/entry) -"agT" = ( +"akc" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/arrival, /area/hallway/secondary/entry) -"agU" = ( +"akd" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, @@ -2677,37 +4851,37 @@ dir = 8 }, /area/hallway/secondary/entry) -"agV" = ( +"ake" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/entry) -"agW" = ( +"akf" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/entry) -"agX" = ( +"akg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/entry) -"agY" = ( +"akh" = ( /obj/effect/landmark/lightsout, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/entry) -"agZ" = ( +"aki" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /turf/open/floor/plasteel/arrival/corner, /area/hallway/secondary/entry) -"aha" = ( +"akj" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -2718,7 +4892,7 @@ }, /turf/open/floor/plasteel/arrival, /area/hallway/secondary/entry) -"ahb" = ( +"akk" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -32 }, @@ -2730,7 +4904,7 @@ }, /turf/open/floor/plasteel/arrival, /area/hallway/secondary/entry) -"ahc" = ( +"akl" = ( /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -2740,12 +4914,12 @@ }, /turf/open/floor/plasteel/arrival, /area/hallway/secondary/entry) -"ahd" = ( +"akm" = ( /turf/open/floor/plasteel/arrival{ dir = 6 }, /area/hallway/secondary/entry) -"ahe" = ( +"akn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, /obj/machinery/newscaster{ @@ -2755,7 +4929,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"ahf" = ( +"ako" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/side{ @@ -2763,17 +4937,18 @@ heat_capacity = 1e+006 }, /area/maintenance/starboard/fore) -"ahg" = ( +"akp" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" }, +/obj/effect/landmark/event_spawn, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"ahh" = ( +"akq" = ( /turf/open/floor/plasteel/red/side, /area/maintenance/starboard/fore) -"ahi" = ( +"akr" = ( /obj/machinery/light/small{ dir = 1 }, @@ -2781,10 +4956,10 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"ahj" = ( +"aks" = ( /turf/open/floor/plasteel/white/side, /area/maintenance/starboard/fore) -"ahk" = ( +"akt" = ( /obj/structure/sink/kitchen{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; name = "old sink"; @@ -2794,7 +4969,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/red/side, /area/maintenance/starboard/fore) -"ahl" = ( +"aku" = ( /obj/structure/closet/crate/freezer/blood, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -2802,7 +4977,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"ahm" = ( +"akv" = ( /obj/structure/sink/kitchen{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; name = "old sink"; @@ -2811,7 +4986,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/white/side, /area/maintenance/starboard/fore) -"ahn" = ( +"akw" = ( /obj/structure/table, /obj/item/clothing/gloves/color/latex, /obj/item/restraints/handcuffs, @@ -2820,7 +4995,7 @@ dir = 8 }, /area/maintenance/starboard/fore) -"aht" = ( +"akx" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/door/airlock{ name = "Auxiliary Storage Closet" @@ -2833,18 +5008,18 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"ahu" = ( +"aky" = ( /turf/closed/wall, /area/security/vacantoffice) -"ahv" = ( +"akz" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall, /area/security/vacantoffice) -"ahw" = ( +"akA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/security/vacantoffice) -"ahx" = ( +"akB" = ( /obj/machinery/door/airlock/abandoned{ name = "Auxiliary Office"; req_access_txt = "32" @@ -2859,11 +5034,11 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, /area/security/vacantoffice) -"ahy" = ( +"akC" = ( /obj/machinery/status_display, /turf/closed/wall, /area/security/vacantoffice) -"ahz" = ( +"akD" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -2881,54 +5056,54 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"ahA" = ( +"akE" = ( /turf/closed/wall, /area/security/checkpoint/customs) -"ahB" = ( +"akF" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall, /area/security/checkpoint/customs) -"ahC" = ( +"akG" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/customs) -"ahD" = ( +"akH" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/arrival{ dir = 8 }, /area/hallway/secondary/entry) -"ahE" = ( +"akI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/entry) -"ahF" = ( +"akJ" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/secondary/entry) -"ahG" = ( +"akK" = ( /obj/machinery/vending/cigarette, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"ahH" = ( +"akL" = ( /obj/machinery/vending/clothing, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"ahI" = ( +"akM" = ( /obj/machinery/vending/coffee, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"ahJ" = ( +"akN" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, @@ -2936,27 +5111,27 @@ dir = 8 }, /area/hallway/secondary/entry) -"ahK" = ( +"akO" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/arrival{ dir = 4 }, /area/hallway/secondary/entry) -"ahL" = ( +"akP" = ( /turf/closed/wall, -/area/security/checkpoint/checkpoint2) -"ahM" = ( +/area/security/checkpoint) +"akQ" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) -"ahN" = ( +/area/security/checkpoint) +"akR" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall, -/area/security/checkpoint/checkpoint2) -"ahO" = ( +/area/security/checkpoint) +"akS" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, @@ -2965,7 +5140,7 @@ heat_capacity = 1e+006 }, /area/maintenance/starboard/fore) -"ahQ" = ( +"akT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; @@ -2983,31 +5158,43 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"ahR" = ( +"akU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"akV" = ( /obj/effect/decal/cleanable/blood/old, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/red, /area/maintenance/starboard/fore) -"ahS" = ( +"akW" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/white, /area/maintenance/starboard/fore) -"ahT" = ( +"akX" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/red, /area/maintenance/starboard/fore) -"ahU" = ( +"akY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/white, /area/maintenance/starboard/fore) -"ahV" = ( +"akZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/red, +/area/maintenance/starboard/fore) +"ala" = ( /obj/machinery/newscaster{ pixel_x = 32; pixel_y = 32 @@ -3018,7 +5205,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"ahW" = ( +"alb" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -3036,19 +5223,22 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"ahX" = ( +"alc" = ( /obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"ahY" = ( +"ald" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/plasteel/red, /area/maintenance/starboard/fore) -"ahZ" = ( +"ale" = ( /obj/structure/table/optable, /obj/effect/decal/cleanable/blood/old, /obj/effect/decal/remains/human, @@ -3056,30 +5246,30 @@ dir = 8 }, /area/maintenance/starboard/fore) -"aib" = ( +"alf" = ( /turf/closed/wall, /area/maintenance/port/fore) -"aic" = ( +"alg" = ( /turf/open/floor/plating, /area/maintenance/port/fore) -"aid" = ( +"alh" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/maintenance/port/fore) -"aie" = ( +"ali" = ( /obj/structure/table, /obj/item/storage/toolbox/emergency, /obj/item/tank/internals/oxygen, /obj/item/wrench, /turf/open/floor/plating, /area/maintenance/port/fore) -"aif" = ( +"alj" = ( /obj/structure/table/wood, /obj/item/folder, /obj/item/pen, /turf/open/floor/plasteel/grimy, /area/security/vacantoffice) -"aig" = ( +"alk" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, @@ -3088,14 +5278,14 @@ }, /turf/open/floor/plasteel/grimy, /area/security/vacantoffice) -"aih" = ( +"all" = ( /obj/machinery/light/small{ dir = 1 }, /obj/machinery/photocopier, /turf/open/floor/plasteel/grimy, /area/security/vacantoffice) -"aii" = ( +"alm" = ( /obj/structure/table/wood, /obj/item/stack/packageWrap, /obj/item/hand_labeler, @@ -3104,12 +5294,12 @@ }, /turf/open/floor/plasteel/grimy, /area/security/vacantoffice) -"aij" = ( +"aln" = ( /obj/structure/table/wood, /obj/item/storage/briefcase, /turf/open/floor/plasteel/grimy, /area/security/vacantoffice) -"aik" = ( +"alo" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/firealarm{ pixel_y = 24 @@ -3117,7 +5307,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/security/vacantoffice) -"ail" = ( +"alp" = ( /obj/machinery/light_switch{ pixel_x = 26; pixel_y = 26 @@ -3125,12 +5315,12 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/security/vacantoffice) -"aim" = ( +"alq" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /turf/open/floor/plasteel/grimy, /area/security/vacantoffice) -"ain" = ( +"alr" = ( /obj/structure/table/wood, /obj/item/device/taperecorder, /obj/machinery/light/small{ @@ -3138,7 +5328,16 @@ }, /turf/open/floor/carpet, /area/security/vacantoffice) -"aip" = ( +"als" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen, +/obj/structure/sign/poster/official/report_crimes{ + pixel_y = 32 + }, +/turf/open/floor/carpet, +/area/security/vacantoffice) +"alt" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -3147,14 +5346,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"aiq" = ( +"alu" = ( /obj/structure/table/reinforced, /obj/item/storage/box/ids, /turf/open/floor/plasteel/blue/side{ dir = 9 }, /area/security/checkpoint/customs) -"air" = ( +"alv" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -3163,7 +5362,7 @@ dir = 1 }, /area/security/checkpoint/customs) -"ais" = ( +"alw" = ( /obj/machinery/firealarm{ pixel_y = 26 }, @@ -3176,15 +5375,15 @@ dir = 5 }, /area/security/checkpoint/customs) -"ait" = ( +"alx" = ( /obj/machinery/ai_status_display, /turf/closed/wall, /area/hallway/secondary/entry) -"aiu" = ( +"aly" = ( /obj/machinery/status_display, /turf/closed/wall, /area/hallway/secondary/entry) -"aiv" = ( +"alz" = ( /obj/structure/filingcabinet/security, /obj/machinery/firealarm{ pixel_y = 26 @@ -3192,8 +5391,8 @@ /turf/open/floor/plasteel/red/side{ dir = 9 }, -/area/security/checkpoint/checkpoint2) -"aiw" = ( +/area/security/checkpoint) +"alA" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -3203,8 +5402,8 @@ /turf/open/floor/plasteel/red/side{ dir = 1 }, -/area/security/checkpoint/checkpoint2) -"aix" = ( +/area/security/checkpoint) +"alB" = ( /obj/structure/table/reinforced, /obj/item/book/manual/wiki/security_space_law, /obj/item/device/radio, @@ -3214,14 +5413,14 @@ /turf/open/floor/plasteel/red/side{ dir = 5 }, -/area/security/checkpoint/checkpoint2) -"aiy" = ( +/area/security/checkpoint) +"alC" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"aiz" = ( +"alD" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -3232,7 +5431,7 @@ dir = 1 }, /area/maintenance/starboard/fore) -"aiA" = ( +"alE" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -3243,7 +5442,7 @@ dir = 1 }, /area/maintenance/starboard/fore) -"aiB" = ( +"alF" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -3253,7 +5452,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"aiC" = ( +"alG" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -3262,7 +5461,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"aiD" = ( +"alH" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -3270,7 +5469,7 @@ dir = 4 }, /area/maintenance/starboard/fore) -"aiE" = ( +"alI" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/item/reagent_containers/blood/random{ @@ -3281,17 +5480,17 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"aiF" = ( +"alJ" = ( /obj/structure/closet/secure_closet/freezer/fridge, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"aiG" = ( +"alK" = ( /obj/structure/closet/secure_closet/freezer/kitchen, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"aiH" = ( +"alL" = ( /obj/structure/rack, /obj/effect/decal/cleanable/dirt, /obj/item/storage/box/donkpockets, @@ -3300,7 +5499,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"aiI" = ( +"alM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/maintenance/starboard/fore) +"alN" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/item/clothing/suit/apron/chef, @@ -3308,7 +5512,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"aiJ" = ( +"alO" = ( /obj/structure/table, /obj/machinery/microwave{ desc = "Cooks and boils stuff, somehow."; @@ -3322,7 +5526,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"aiK" = ( +"alP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm{ dir = 1; @@ -3331,7 +5535,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"aiL" = ( +"alQ" = ( /obj/structure/table_frame, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -3339,7 +5543,7 @@ dir = 1 }, /area/maintenance/starboard/fore) -"aiM" = ( +"alR" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/item/retractor, @@ -3348,24 +5552,24 @@ dir = 1 }, /area/maintenance/starboard/fore) -"aiV" = ( +"alS" = ( /obj/machinery/power/tracker, /obj/structure/cable{ icon_state = "0-2" }, /turf/open/floor/plasteel/airless/solarpanel, /area/solar/port/fore) -"aiW" = ( +"alT" = ( /turf/closed/wall/r_wall, /area/engine/atmospherics_engine) -"aiX" = ( +"alU" = ( /turf/closed/wall, /area/crew_quarters/electronic_marketing_den) -"aiY" = ( +"alV" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/crew_quarters/electronic_marketing_den) -"aiZ" = ( +"alW" = ( /obj/machinery/light/small{ dir = 8 }, @@ -3377,44 +5581,53 @@ heat_capacity = 1e+006 }, /area/maintenance/port/fore) -"aja" = ( +"alX" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/maintenance/port/fore) -"ajb" = ( +"alY" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating{ icon_state = "panelscorched" }, /area/maintenance/port/fore) -"ajd" = ( +"alZ" = ( +/obj/structure/chair/office/dark{ + dir = 1 + }, +/obj/structure/sign/poster/official/do_not_question{ + pixel_x = -32 + }, /turf/open/floor/plasteel/grimy, /area/security/vacantoffice) -"aje" = ( +"ama" = ( +/turf/open/floor/plasteel/grimy, +/area/security/vacantoffice) +"amb" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/security/vacantoffice) -"ajf" = ( +"amc" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/security/vacantoffice) -"ajg" = ( +"amd" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, /turf/open/floor/wood, /area/security/vacantoffice) -"ajh" = ( +"ame" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/security/vacantoffice) -"aji" = ( +"amf" = ( /obj/structure/table/wood, /obj/item/folder/blue{ pixel_x = 6; @@ -3424,27 +5637,27 @@ /obj/item/pen, /turf/open/floor/plasteel/grimy, /area/security/vacantoffice) -"ajj" = ( +"amg" = ( /obj/structure/chair/office/dark{ dir = 8 }, /turf/open/floor/carpet, /area/security/vacantoffice) -"ajk" = ( +"amh" = ( /obj/machinery/ai_status_display{ pixel_x = 32 }, /obj/structure/frame/computer, /turf/open/floor/carpet, /area/security/vacantoffice) -"ajl" = ( +"ami" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port/fore) -"ajm" = ( +"amj" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -3461,7 +5674,7 @@ dir = 8 }, /area/security/checkpoint/customs) -"ajn" = ( +"amk" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -3475,7 +5688,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/security/checkpoint/customs) -"ajo" = ( +"aml" = ( /obj/machinery/light_switch{ pixel_x = 26; pixel_y = 26 @@ -3488,7 +5701,7 @@ dir = 4 }, /area/security/checkpoint/customs) -"ajp" = ( +"amm" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_command{ cyclelinkeddir = 0; @@ -3506,7 +5719,7 @@ }, /turf/open/floor/plasteel, /area/security/checkpoint/customs) -"ajq" = ( +"amn" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -3514,7 +5727,7 @@ dir = 8 }, /area/hallway/secondary/entry) -"ajr" = ( +"amo" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /obj/machinery/camera{ @@ -3524,31 +5737,31 @@ }, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/entry) -"ajs" = ( +"amp" = ( /obj/structure/chair/comfy/brown, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/entry) -"ajt" = ( +"amq" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/entry) -"aju" = ( +"amr" = ( /obj/structure/chair/comfy/brown, /obj/effect/landmark/start/assistant, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/entry) -"ajv" = ( +"ams" = ( /obj/structure/table/wood, /obj/item/storage/fancy/donut_box, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/entry) -"ajw" = ( +"amt" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/open/floor/plasteel/red/corner, /area/hallway/secondary/entry) -"ajx" = ( +"amu" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_security{ name = "Security Checkpoint"; @@ -3565,8 +5778,8 @@ }, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, -/area/security/checkpoint/checkpoint2) -"ajy" = ( +/area/security/checkpoint) +"amv" = ( /obj/machinery/light_switch{ pixel_x = -26; pixel_y = 26 @@ -3577,8 +5790,8 @@ /turf/open/floor/plasteel/red/side{ dir = 8 }, -/area/security/checkpoint/checkpoint2) -"ajz" = ( +/area/security/checkpoint) +"amw" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -3591,15 +5804,15 @@ }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, -/area/security/checkpoint/checkpoint2) -"ajA" = ( +/area/security/checkpoint) +"amx" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/machinery/power/apc{ + areastring = "/area/security/checkpoint"; dir = 4; name = "Security Checkpoint APC"; - areastring = "/area/security/checkpoint/checkpoint2"; pixel_x = 26 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ @@ -3608,25 +5821,25 @@ /turf/open/floor/plasteel/red/side{ dir = 4 }, -/area/security/checkpoint/checkpoint2) -"ajB" = ( +/area/security/checkpoint) +"amy" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"ajC" = ( +"amz" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"ajD" = ( +"amA" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"ajE" = ( +"amB" = ( /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance{ lootcount = 2; @@ -3634,14 +5847,14 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard/fore) -"ajF" = ( +"amC" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, /obj/item/crowbar/red, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard/fore) -"ajG" = ( +"amD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate{ icon_state = "crateopen"; @@ -3653,14 +5866,18 @@ dir = 6 }, /area/maintenance/starboard/fore) -"ajJ" = ( +"amE" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall, +/area/maintenance/starboard/fore) +"amF" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/port/fore) -"ajK" = ( +"amG" = ( /obj/structure/reflector/single/anchored{ dir = 6 }, @@ -3668,12 +5885,12 @@ dir = 8 }, /area/engine/atmospherics_engine) -"ajL" = ( +"amH" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/engine/atmospherics_engine) -"ajM" = ( +"amI" = ( /obj/structure/reflector/box/anchored{ dir = 4 }, @@ -3681,25 +5898,18 @@ dir = 5 }, /area/engine/atmospherics_engine) -"ajN" = ( +"amJ" = ( /obj/machinery/light/small{ dir = 1 }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmospherics_engine) -"ajO" = ( -/obj/machinery/camera{ - c_tag = "Supermatter Engine - Fore"; - name = "atmospherics camera"; - network = list("SS13","Engine") +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/engine/atmospherics_engine) -"ajP" = ( +"amK" = ( /obj/structure/reflector/single/anchored{ dir = 10 }, @@ -3707,13 +5917,38 @@ dir = 8 }, /area/engine/atmospherics_engine) -"ajR" = ( +"amL" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/engine/atmospherics_engine) +"amM" = ( +/obj/structure/table/wood, +/obj/structure/sign/barsign{ + pixel_y = 32 + }, +/obj/item/wirerod, +/obj/item/wrench, +/obj/item/clothing/under/waiter, +/obj/item/clothing/accessory/waistcoat, +/obj/structure/sign/poster/contraband/random{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/black, +/area/crew_quarters/electronic_marketing_den) +"amN" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/electronic_marketing_den) -"ajS" = ( +"amO" = ( /obj/structure/table/wood, /obj/item/storage/box/matches{ pixel_x = -3; @@ -3721,7 +5956,7 @@ }, /turf/open/floor/plasteel/black, /area/crew_quarters/electronic_marketing_den) -"ajT" = ( +"amP" = ( /obj/machinery/status_display{ pixel_y = 32 }, @@ -3730,17 +5965,17 @@ }, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"ajU" = ( +"amQ" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"ajV" = ( +"amR" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"ajW" = ( +"amS" = ( /obj/structure/table/wood, /obj/item/storage/briefcase, /obj/item/device/taperecorder, @@ -3748,13 +5983,13 @@ icon_state = "wood-broken4" }, /area/crew_quarters/electronic_marketing_den) -"ajX" = ( +"amT" = ( /obj/structure/table/wood, /obj/item/electronics/firelock, /obj/item/electronics/airlock, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"ajZ" = ( +"amU" = ( /obj/machinery/status_display{ pixel_y = 32 }, @@ -3764,13 +5999,13 @@ /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"aka" = ( +"amV" = ( /obj/structure/table/wood, /obj/item/clipboard, /obj/item/electronics/apc, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"akb" = ( +"amW" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -3779,7 +6014,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port/fore) -"akc" = ( +"amX" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -3788,55 +6023,55 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/port/fore) -"akd" = ( +"amY" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 }, /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, /area/maintenance/port/fore) -"ake" = ( +"amZ" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -26 }, /turf/open/floor/plasteel/grimy, /area/security/vacantoffice) -"akf" = ( +"ana" = ( /obj/structure/chair/office/dark{ dir = 4 }, /turf/open/floor/carpet, /area/security/vacantoffice) -"akg" = ( +"anb" = ( /obj/structure/table/wood, /obj/item/folder, /obj/item/pen, /turf/open/floor/carpet, /area/security/vacantoffice) -"akh" = ( +"anc" = ( /turf/open/floor/wood, /area/security/vacantoffice) -"aki" = ( +"and" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /mob/living/simple_animal/cockroach, /turf/open/floor/wood, /area/security/vacantoffice) -"akj" = ( +"ane" = ( /obj/structure/table/wood, /obj/item/device/paicard, /turf/open/floor/plasteel/grimy, /area/security/vacantoffice) -"akk" = ( +"anf" = ( /turf/open/floor/carpet, /area/security/vacantoffice) -"akl" = ( +"ang" = ( /obj/machinery/status_display{ pixel_x = 32 }, /obj/structure/frame/computer, /turf/open/floor/carpet, /area/security/vacantoffice) -"akm" = ( +"anh" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -3844,8 +6079,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port/fore) -"akn" = ( -/obj/machinery/computer/crew, +"ani" = ( +/obj/machinery/computer/crew{ + dir = 4 + }, /obj/machinery/ai_status_display{ pixel_x = -32 }, @@ -3853,13 +6090,13 @@ dir = 10 }, /area/security/checkpoint/customs) -"ako" = ( +"anj" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/neutral, /area/security/checkpoint/customs) -"akp" = ( +"ank" = ( /obj/structure/table/reinforced, /obj/item/stack/packageWrap, /obj/item/hand_labeler, @@ -3867,41 +6104,41 @@ dir = 4 }, /area/security/checkpoint/customs) -"akq" = ( +"anl" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/white{ icon_state = "0-2" }, /turf/open/floor/plating, /area/security/checkpoint/customs) -"akr" = ( +"anm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/blue/corner{ dir = 8 }, /area/hallway/secondary/entry) -"aks" = ( +"ann" = ( /obj/structure/chair/comfy/brown{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/entry) -"akt" = ( +"ano" = ( /turf/open/floor/carpet, /area/hallway/secondary/entry) -"aku" = ( +"anp" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/carpet, /area/hallway/secondary/entry) -"akv" = ( +"anq" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/carpet, /area/hallway/secondary/entry) -"akw" = ( +"anr" = ( /obj/structure/chair/comfy/brown{ dir = 8 }, @@ -3910,42 +6147,44 @@ }, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/entry) -"akx" = ( +"ans" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/entry) -"aky" = ( +"ant" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/red/corner, /area/hallway/secondary/entry) -"akz" = ( +"anu" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/white{ icon_state = "0-2" }, /turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) -"akA" = ( +/area/security/checkpoint) +"anv" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/pen, /turf/open/floor/plasteel/red/side{ dir = 8 }, -/area/security/checkpoint/checkpoint2) -"akB" = ( +/area/security/checkpoint) +"anw" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/neutral, -/area/security/checkpoint/checkpoint2) -"akC" = ( -/obj/machinery/computer/prisoner, +/area/security/checkpoint) +"anx" = ( +/obj/machinery/computer/prisoner{ + dir = 8 + }, /obj/machinery/status_display{ pixel_x = 32 }, @@ -3957,20 +6196,20 @@ /turf/open/floor/plasteel/red/side{ dir = 6 }, -/area/security/checkpoint/checkpoint2) -"akD" = ( +/area/security/checkpoint) +"any" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/starboard/fore) -"akE" = ( +"anz" = ( /obj/machinery/computer/arcade, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"akF" = ( +"anA" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -3984,36 +6223,36 @@ /obj/structure/chair/stool/bar, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"akG" = ( +"anB" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/maintenance/starboard/fore) -"akH" = ( +"anC" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, /turf/open/floor/plasteel/redyellow, /area/maintenance/starboard/fore) -"akI" = ( +"anD" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/redyellow, /area/maintenance/starboard/fore) -"akJ" = ( +"anE" = ( /obj/structure/table/wood, /obj/item/clothing/suit/syndicatefake, /obj/item/clothing/head/syndicatefake, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/redyellow, /area/maintenance/starboard/fore) -"akP" = ( +"anF" = ( /turf/open/floor/plasteel/vault{ dir = 8 }, /area/engine/atmospherics_engine) -"akQ" = ( +"anG" = ( /obj/structure/reflector/double/anchored{ dir = 6 }, @@ -4021,7 +6260,49 @@ dir = 5 }, /area/engine/atmospherics_engine) -"akR" = ( +"anH" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/engine/atmospherics_engine) +"anI" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/engine/atmospherics_engine) +"anJ" = ( +/obj/machinery/camera{ + c_tag = "Supermatter Engine - Fore"; + name = "atmospherics camera"; + network = list("SS13","Engine") + }, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/engine/atmospherics_engine) +"anK" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/engine/atmospherics_engine) +"anL" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/engine/atmospherics_engine) +"anM" = ( /obj/structure/reflector/double/anchored{ dir = 10 }, @@ -4029,15 +6310,15 @@ dir = 5 }, /area/engine/atmospherics_engine) -"akS" = ( +"anN" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/electronic_marketing_den) -"akT" = ( +"anO" = ( /turf/open/floor/plasteel/black, /area/crew_quarters/electronic_marketing_den) -"akU" = ( +"anP" = ( /obj/structure/table/wood, /obj/item/clothing/neck/tie/red, /obj/item/clothing/head/that, @@ -4045,15 +6326,15 @@ dir = 5 }, /area/crew_quarters/electronic_marketing_den) -"akV" = ( +"anQ" = ( /turf/open/floor/wood{ icon_state = "wood-broken7" }, /area/crew_quarters/electronic_marketing_den) -"akW" = ( +"anR" = ( /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"akX" = ( +"anS" = ( /obj/structure/chair/comfy/brown{ dir = 4 }, @@ -4061,7 +6342,20 @@ icon_state = "wood-broken3" }, /area/crew_quarters/electronic_marketing_den) -"akZ" = ( +"anT" = ( +/obj/structure/table/wood, +/obj/item/poster/random_contraband{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/poster/random_contraband{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/poster/random_contraband, +/turf/open/floor/wood, +/area/crew_quarters/electronic_marketing_den) +"anU" = ( /obj/structure/chair/comfy/brown{ dir = 8 }, @@ -4069,12 +6363,15 @@ icon_state = "wood-broken5" }, /area/crew_quarters/electronic_marketing_den) -"ala" = ( +"anV" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, /turf/open/floor/wood{ icon_state = "wood-broken" }, /area/crew_quarters/electronic_marketing_den) -"alb" = ( +"anW" = ( /obj/structure/frame/computer, /obj/item/stack/cable_coil/white, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -4082,7 +6379,7 @@ }, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"alc" = ( +"anX" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -4091,7 +6388,7 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/port/fore) -"ald" = ( +"anY" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 }, @@ -4100,23 +6397,23 @@ dir = 4 }, /area/maintenance/port/fore) -"ale" = ( +"anZ" = ( /obj/machinery/airalarm{ dir = 4; pixel_x = -23 }, /turf/open/floor/plasteel/grimy, /area/security/vacantoffice) -"alf" = ( +"aoa" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /turf/open/floor/carpet, /area/security/vacantoffice) -"alg" = ( +"aob" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/security/vacantoffice) -"alh" = ( +"aoc" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -4125,7 +6422,7 @@ }, /turf/open/floor/wood, /area/security/vacantoffice) -"ali" = ( +"aod" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -4134,7 +6431,7 @@ }, /turf/open/floor/wood, /area/security/vacantoffice) -"alj" = ( +"aoe" = ( /obj/machinery/light_switch{ pixel_x = 26; pixel_y = -26 @@ -4148,7 +6445,7 @@ }, /turf/open/floor/wood, /area/security/vacantoffice) -"alk" = ( +"aof" = ( /obj/machinery/door/airlock/maintenance_hatch/abandoned{ name = "Office Maintenance"; req_access_txt = "32" @@ -4168,7 +6465,7 @@ }, /turf/open/floor/plasteel, /area/security/vacantoffice) -"all" = ( +"aog" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -4181,8 +6478,10 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"alm" = ( -/obj/machinery/computer/card, +"aoh" = ( +/obj/machinery/computer/card{ + dir = 4 + }, /obj/machinery/light{ dir = 8 }, @@ -4197,7 +6496,7 @@ }, /turf/open/floor/plasteel/blue, /area/security/checkpoint/customs) -"aln" = ( +"aoi" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -4209,7 +6508,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/checkpoint/customs) -"alo" = ( +"aoj" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -4220,7 +6519,7 @@ dir = 4 }, /area/security/checkpoint/customs) -"alp" = ( +"aok" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-8" @@ -4238,25 +6537,29 @@ }, /turf/open/floor/plasteel, /area/security/checkpoint/customs) -"alq" = ( +"aol" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"alr" = ( +"aom" = ( /turf/open/floor/plasteel/grimy, /area/hallway/secondary/entry) -"als" = ( +"aon" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/carpet, +/area/hallway/secondary/entry) +"aoo" = ( /obj/machinery/holopad, /turf/open/floor/carpet, /area/hallway/secondary/entry) -"alt" = ( +"aop" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"alu" = ( +"aoq" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "2-4" @@ -4268,8 +6571,8 @@ dir = 8 }, /turf/open/floor/plasteel, -/area/security/checkpoint/checkpoint2) -"alv" = ( +/area/security/checkpoint) +"aor" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -4285,8 +6588,8 @@ /turf/open/floor/plasteel/red/side{ dir = 8 }, -/area/security/checkpoint/checkpoint2) -"alw" = ( +/area/security/checkpoint) +"aos" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -4297,9 +6600,11 @@ dir = 8 }, /turf/open/floor/plasteel/neutral, -/area/security/checkpoint/checkpoint2) -"alx" = ( -/obj/machinery/computer/security, +/area/security/checkpoint) +"aot" = ( +/obj/machinery/computer/security{ + dir = 8 + }, /obj/machinery/light{ dir = 4 }, @@ -4308,14 +6613,14 @@ pixel_x = 26 }, /turf/open/floor/plasteel/red, -/area/security/checkpoint/checkpoint2) -"aly" = ( +/area/security/checkpoint) +"aou" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/starboard/fore) -"alz" = ( +"aov" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -4323,7 +6628,7 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"alA" = ( +"aow" = ( /obj/structure/table/wood, /obj/item/toy/plush/carpplushie, /obj/effect/decal/cleanable/cobweb, @@ -4331,34 +6636,34 @@ dir = 8 }, /area/maintenance/starboard/fore) -"alB" = ( +"aox" = ( /obj/machinery/computer/arcade, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/maintenance/starboard/fore) -"alC" = ( +"aoy" = ( /obj/machinery/computer/arcade, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/maintenance/starboard/fore) -"alD" = ( +"aoz" = ( /obj/structure/table/wood, /obj/item/coin/antagtoken, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/maintenance/starboard/fore) -"alE" = ( +"aoA" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/structure/chair/stool/bar, /turf/open/floor/plasteel/black, /area/maintenance/starboard/fore) -"alF" = ( +"aoB" = ( /obj/structure/table/wood, /obj/item/clipboard, /obj/item/folder, @@ -4367,27 +6672,27 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/redyellow, /area/maintenance/starboard/fore) -"alG" = ( +"aoC" = ( /obj/structure/chair/office/dark{ dir = 8 }, /turf/open/floor/plasteel/redyellow, /area/maintenance/starboard/fore) -"alH" = ( +"aoD" = ( /obj/structure/table/wood, /obj/item/clipboard, /obj/item/toy/syndicateballoon, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/redyellow, /area/maintenance/starboard/fore) -"alI" = ( +"aoE" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/disposal) -"alJ" = ( +"aoF" = ( /turf/closed/wall, /area/maintenance/disposal) -"alO" = ( +"aoG" = ( /obj/structure/cable{ icon_state = "0-2" }, @@ -4397,31 +6702,47 @@ }, /turf/open/floor/plasteel/airless/solarpanel, /area/solar/port/fore) -"alP" = ( -/obj/structure/reflector/double/anchored{ - dir = 6 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmospherics_engine) -"alQ" = ( +"aoH" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/engine/atmospherics_engine) -"alR" = ( +"aoI" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/engine/atmospherics_engine) +"aoJ" = ( +/obj/structure/reflector/double/anchored{ + dir = 10 + }, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/engine/atmospherics_engine) +"aoK" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/engine/atmospherics_engine) +"aoL" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/engine/atmospherics_engine) -"alS" = ( +"aoM" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/black, /area/crew_quarters/electronic_marketing_den) -"alT" = ( +"aoN" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, @@ -4429,19 +6750,19 @@ dir = 5 }, /area/crew_quarters/electronic_marketing_den) -"alU" = ( +"aoO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/black, /area/crew_quarters/electronic_marketing_den) -"alV" = ( +"aoP" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"alW" = ( +"aoQ" = ( /obj/structure/chair/comfy/black{ dir = 4 }, @@ -4450,7 +6771,7 @@ }, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"alX" = ( +"aoR" = ( /obj/structure/table/wood, /obj/item/clipboard, /obj/item/electronics/airalarm, @@ -4460,7 +6781,7 @@ }, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"alY" = ( +"aoS" = ( /obj/structure/chair/comfy/black{ dir = 8 }, @@ -4469,19 +6790,19 @@ }, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"alZ" = ( +"aoT" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"ama" = ( +"aoU" = ( /obj/structure/chair/office/dark{ dir = 4 }, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"amb" = ( +"aoV" = ( /obj/structure/frame/computer, /obj/item/circuitboard/computer/secure_data, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -4489,13 +6810,13 @@ icon_state = "wood-broken2" }, /area/crew_quarters/electronic_marketing_den) -"amc" = ( +"aoW" = ( /obj/machinery/light/small{ dir = 8 }, /turf/open/floor/plating, /area/maintenance/port/fore) -"amd" = ( +"aoX" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -4504,19 +6825,19 @@ icon_state = "platingdmg3" }, /area/maintenance/port/fore) -"ame" = ( +"aoY" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/maintenance/port/fore) -"amf" = ( +"aoZ" = ( /obj/structure/chair/office/dark, /turf/open/floor/plasteel/grimy, /area/security/vacantoffice) -"amg" = ( +"apa" = ( /mob/living/simple_animal/cockroach, /turf/open/floor/plasteel/grimy, /area/security/vacantoffice) -"amh" = ( +"apb" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -4525,7 +6846,7 @@ }, /turf/open/floor/wood, /area/security/vacantoffice) -"ami" = ( +"apc" = ( /obj/structure/table/wood, /obj/item/device/camera_film{ pixel_x = 3; @@ -4534,7 +6855,7 @@ /obj/item/device/camera_film, /turf/open/floor/wood, /area/security/vacantoffice) -"amj" = ( +"apd" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -4542,8 +6863,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/maintenance/port/fore) -"amk" = ( -/obj/machinery/computer/med_data, +"ape" = ( +/obj/machinery/computer/med_data{ + dir = 4 + }, /obj/machinery/status_display{ pixel_x = -32 }, @@ -4551,14 +6874,14 @@ dir = 9 }, /area/security/checkpoint/customs) -"aml" = ( +"apf" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/neutral, /area/security/checkpoint/customs) -"amm" = ( +"apg" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/pen, @@ -4566,23 +6889,23 @@ dir = 4 }, /area/security/checkpoint/customs) -"amn" = ( +"aph" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/white, /turf/open/floor/plating, /area/security/checkpoint/customs) -"amo" = ( +"api" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"amp" = ( +"apj" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/entry) -"amq" = ( +"apk" = ( /obj/structure/chair/comfy/brown{ dir = 4 }, @@ -4591,53 +6914,55 @@ }, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/entry) -"amr" = ( +"apl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/carpet, /area/hallway/secondary/entry) -"ams" = ( +"apm" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/carpet, /area/hallway/secondary/entry) -"amt" = ( +"apn" = ( /obj/structure/chair/comfy/brown{ dir = 8 }, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/entry) -"amu" = ( +"apo" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/white, /turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) -"amv" = ( +/area/security/checkpoint) +"app" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, /turf/open/floor/plasteel/red/side{ dir = 8 }, -/area/security/checkpoint/checkpoint2) -"amw" = ( +/area/security/checkpoint) +"apq" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/neutral, -/area/security/checkpoint/checkpoint2) -"amx" = ( -/obj/machinery/computer/secure_data, +/area/security/checkpoint) +"apr" = ( +/obj/machinery/computer/secure_data{ + dir = 8 + }, /obj/machinery/ai_status_display{ pixel_x = 32 }, /turf/open/floor/plasteel/red/side{ dir = 5 }, -/area/security/checkpoint/checkpoint2) -"amy" = ( +/area/security/checkpoint) +"aps" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -4646,34 +6971,34 @@ dir = 4 }, /area/maintenance/starboard/fore) -"amz" = ( +"apt" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"amA" = ( +"apu" = ( /obj/structure/chair/stool/bar, /turf/open/floor/plasteel/black, /area/maintenance/starboard/fore) -"amB" = ( +"apv" = ( /obj/structure/chair/stool/bar, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/black, /area/maintenance/starboard/fore) -"amC" = ( +"apw" = ( /turf/open/floor/plating, /area/maintenance/starboard/fore) -"amD" = ( +"apx" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/black, /area/maintenance/starboard/fore) -"amE" = ( +"apy" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/maintenance/starboard/fore) -"amF" = ( +"apz" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, /obj/item/coin/iron{ @@ -4693,18 +7018,18 @@ }, /turf/open/floor/plasteel/redyellow, /area/maintenance/starboard/fore) -"amG" = ( +"apA" = ( /obj/structure/table/wood, /obj/item/folder/blue, /obj/item/clothing/head/collectable/HoP, /turf/open/floor/plasteel/redyellow, /area/maintenance/starboard/fore) -"amH" = ( +"apB" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/disposal) -"amI" = ( +"apC" = ( /obj/machinery/light/small{ dir = 8 }, @@ -4719,14 +7044,13 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plating, /area/maintenance/disposal) -"amJ" = ( +"apD" = ( /obj/machinery/conveyor{ dir = 8; id = "garbage" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/sign/vacuum{ pixel_y = 32 @@ -4739,14 +7063,13 @@ }, /turf/open/floor/plating, /area/maintenance/disposal) -"amK" = ( +"apE" = ( /obj/machinery/conveyor{ dir = 8; id = "garbage" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/effect/turf_decal/stripes/line{ dir = 2 @@ -4756,7 +7079,7 @@ }, /turf/open/floor/plating, /area/maintenance/disposal) -"amL" = ( +"apF" = ( /obj/machinery/mass_driver{ dir = 4; id = "trash" @@ -4772,7 +7095,7 @@ }, /turf/open/floor/plating, /area/maintenance/disposal) -"amM" = ( +"apG" = ( /obj/machinery/door/poddoor{ id = "trash"; name = "Disposals Launch Seal" @@ -4783,7 +7106,17 @@ }, /turf/open/floor/plasteel, /area/maintenance/disposal) -"amW" = ( +"apH" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solar/port/fore) +"apI" = ( /obj/structure/cable{ icon_state = "2-4" }, @@ -4796,21 +7129,21 @@ /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/port/fore) -"amX" = ( +"apJ" = ( /obj/structure/cable{ icon_state = "0-8" }, /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/port/fore) -"amY" = ( +"apK" = ( /obj/structure/cable{ icon_state = "0-4" }, /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/port/fore) -"amZ" = ( +"apL" = ( /obj/structure/cable{ icon_state = "1-8" }, @@ -4823,32 +7156,36 @@ /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/port/fore) -"ana" = ( +"apM" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solar/port/fore) +"apN" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/engine/atmospherics_engine) -"anb" = ( -/obj/structure/reflector/box/anchored, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmospherics_engine) -"anc" = ( +"apO" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/engine/atmospherics_engine) -"and" = ( +"apP" = ( /obj/structure/table/wood, /obj/item/circuitboard/computer/arcade, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/electronic_marketing_den) -"ane" = ( +"apQ" = ( /obj/structure/table/wood, /obj/item/electronics/airalarm, /obj/item/circuitboard/computer/med_data, @@ -4856,11 +7193,16 @@ dir = 5 }, /area/crew_quarters/electronic_marketing_den) -"anf" = ( +"apR" = ( /obj/structure/chair/stool/bar, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"ang" = ( +"apS" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/crew_quarters/electronic_marketing_den) +"apT" = ( /obj/structure/chair/comfy/brown{ dir = 4 }, @@ -4869,7 +7211,7 @@ }, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"anh" = ( +"apU" = ( /obj/structure/table/wood, /obj/item/folder/red, /obj/item/pen, @@ -4878,7 +7220,7 @@ }, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"ani" = ( +"apV" = ( /obj/structure/chair/comfy/brown{ dir = 8 }, @@ -4888,13 +7230,13 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"anj" = ( +"apW" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"ank" = ( +"apX" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -4902,7 +7244,7 @@ icon_state = "wood-broken4" }, /area/crew_quarters/electronic_marketing_den) -"anl" = ( +"apY" = ( /obj/structure/frame/computer, /obj/machinery/status_display{ pixel_x = 32 @@ -4910,20 +7252,20 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"anm" = ( +"apZ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"ann" = ( +"aqa" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plasteel/neutral/side{ dir = 6 }, /area/maintenance/port/fore) -"ano" = ( +"aqb" = ( /obj/structure/table/wood, /obj/item/phone{ desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in."; @@ -4935,7 +7277,15 @@ }, /turf/open/floor/plasteel/grimy, /area/security/vacantoffice) -"anq" = ( +"aqc" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/machinery/light/small, +/obj/structure/sign/poster/official/work_for_a_future{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/grimy, +/area/security/vacantoffice) +"aqd" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, @@ -4944,7 +7294,7 @@ }, /turf/open/floor/plasteel/grimy, /area/security/vacantoffice) -"anr" = ( +"aqe" = ( /obj/structure/table/wood, /obj/item/clipboard, /obj/machinery/camera{ @@ -4954,11 +7304,11 @@ }, /turf/open/floor/plasteel/grimy, /area/security/vacantoffice) -"ans" = ( +"aqf" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/wood, /area/security/vacantoffice) -"ant" = ( +"aqg" = ( /obj/machinery/power/apc{ dir = 2; name = "Auxiliary Office APC"; @@ -4969,7 +7319,7 @@ /obj/structure/cable/white, /turf/open/floor/wood, /area/security/vacantoffice) -"anv" = ( +"aqh" = ( /obj/structure/table/wood, /obj/item/device/camera, /obj/machinery/light/small, @@ -4978,7 +7328,7 @@ }, /turf/open/floor/wood, /area/security/vacantoffice) -"anw" = ( +"aqi" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /obj/structure/sign/nosmoking_2{ @@ -4986,7 +7336,7 @@ }, /turf/open/floor/wood, /area/security/vacantoffice) -"anx" = ( +"aqj" = ( /obj/structure/closet/secure_closet/contraband/heads, /obj/machinery/airalarm{ dir = 1; @@ -4997,14 +7347,14 @@ dir = 10 }, /area/security/checkpoint/customs) -"any" = ( +"aqk" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/blue/side, /area/security/checkpoint/customs) -"anz" = ( +"aql" = ( /obj/structure/filingcabinet/medical, /obj/machinery/newscaster{ pixel_x = 32 @@ -5013,12 +7363,12 @@ dir = 6 }, /area/security/checkpoint/customs) -"anA" = ( +"aqm" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/snacks/chips, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/entry) -"anB" = ( +"aqn" = ( /obj/structure/chair/comfy/brown{ buildstackamount = 0; dir = 1 @@ -5030,7 +7380,7 @@ }, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/entry) -"anC" = ( +"aqo" = ( /obj/machinery/light, /obj/machinery/newscaster{ pixel_y = -32 @@ -5040,20 +7390,20 @@ }, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/entry) -"anD" = ( +"aqp" = ( /obj/structure/chair/comfy/brown{ buildstackamount = 0; dir = 1 }, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/entry) -"anE" = ( +"aqq" = ( /obj/structure/table/wood, /obj/item/folder, /obj/item/pen, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/entry) -"anF" = ( +"aqr" = ( /obj/structure/closet/wardrobe/red, /obj/machinery/newscaster{ pixel_x = -32 @@ -5061,15 +7411,15 @@ /turf/open/floor/plasteel/red/side{ dir = 10 }, -/area/security/checkpoint/checkpoint2) -"anG" = ( +/area/security/checkpoint) +"aqs" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/red/side, -/area/security/checkpoint/checkpoint2) -"anH" = ( +/area/security/checkpoint) +"aqt" = ( /obj/structure/closet/secure_closet/security, /obj/machinery/airalarm{ dir = 8; @@ -5078,14 +7428,14 @@ /turf/open/floor/plasteel/red/side{ dir = 6 }, -/area/security/checkpoint/checkpoint2) -"anI" = ( +/area/security/checkpoint) +"aqu" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"anJ" = ( +"aqv" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -5098,7 +7448,28 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"anK" = ( +"aqw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/maintenance_hatch/abandoned{ + name = "Maintenance Hatch"; + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/barricade/wooden, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/maintenance/starboard/fore) +"aqx" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -5110,7 +7481,7 @@ dir = 5 }, /area/maintenance/starboard/fore) -"anL" = ( +"aqy" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -5119,7 +7490,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"anM" = ( +"aqz" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -5130,7 +7501,7 @@ dir = 5 }, /area/maintenance/starboard/fore) -"anN" = ( +"aqA" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -5141,7 +7512,7 @@ dir = 5 }, /area/maintenance/starboard/fore) -"anO" = ( +"aqB" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -5150,13 +7521,13 @@ dir = 5 }, /area/maintenance/starboard/fore) -"anP" = ( +"aqC" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/maintenance/starboard/fore) -"anQ" = ( +"aqD" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on, @@ -5164,7 +7535,7 @@ dir = 8 }, /area/maintenance/disposal) -"anR" = ( +"aqE" = ( /obj/machinery/conveyor{ dir = 2; id = "garbage" @@ -5178,7 +7549,7 @@ }, /turf/open/floor/plating, /area/maintenance/disposal) -"anS" = ( +"aqF" = ( /obj/machinery/button/door{ id = "Disposal Exit"; name = "Disposal Vent Control"; @@ -5197,14 +7568,13 @@ dir = 8 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/disposal) -"anT" = ( +"aqG" = ( /obj/machinery/conveyor_switch/oneway{ convdir = -1; id = "garbage"; @@ -5217,7 +7587,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/disposal) -"anU" = ( +"aqH" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -5227,10 +7597,9 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/disposal) -"anV" = ( +"aqI" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -5238,7 +7607,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/disposal) -"anZ" = ( +"aqJ" = ( /obj/structure/cable, /obj/machinery/power/solar{ id = "foreport"; @@ -5246,7 +7615,21 @@ }, /turf/open/floor/plasteel/airless/solarpanel, /area/solar/port/fore) -"aoa" = ( +"aqK" = ( +/obj/structure/reflector/double/anchored{ + dir = 5 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/engine/atmospherics_engine) +"aqL" = ( +/obj/structure/reflector/box/anchored, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/engine/atmospherics_engine) +"aqM" = ( /obj/structure/reflector/single/anchored{ dir = 9 }, @@ -5254,7 +7637,7 @@ dir = 8 }, /area/engine/atmospherics_engine) -"aob" = ( +"aqN" = ( /obj/structure/table/wood, /obj/machinery/airalarm{ dir = 4; @@ -5270,7 +7653,7 @@ /obj/item/circuitboard/machine/microwave, /turf/open/floor/plasteel/black, /area/crew_quarters/electronic_marketing_den) -"aoc" = ( +"aqO" = ( /obj/machinery/newscaster{ pixel_y = -32 }, @@ -5279,7 +7662,20 @@ dir = 5 }, /area/crew_quarters/electronic_marketing_den) -"aoe" = ( +"aqP" = ( +/obj/structure/table/wood, +/obj/item/poster/random_contraband{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/poster/random_contraband{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/poster/random_contraband, +/turf/open/floor/plasteel/black, +/area/crew_quarters/electronic_marketing_den) +"aqQ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -5287,15 +7683,15 @@ icon_state = "wood-broken" }, /area/crew_quarters/electronic_marketing_den) -"aof" = ( +"aqR" = ( /obj/machinery/light/small, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"aog" = ( +"aqS" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"aoi" = ( +"aqT" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/structure/cable/white, /obj/machinery/power/apc{ @@ -5306,7 +7702,7 @@ }, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"aoj" = ( +"aqU" = ( /obj/structure/table/wood, /obj/machinery/newscaster{ pixel_x = 32 @@ -5316,11 +7712,28 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/electronic_marketing_den) -"aok" = ( +"aqV" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/port/fore) -"aom" = ( +"aqW" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Maintenance Hatch"; + req_access_txt = "12" + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/maintenance/port/fore) +"aqX" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -5328,7 +7741,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"aon" = ( +"aqY" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -5346,7 +7759,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"aoo" = ( +"aqZ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -5364,7 +7777,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"aop" = ( +"ara" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -5372,28 +7785,28 @@ dir = 4 }, /area/maintenance/starboard/fore) -"aor" = ( +"arb" = ( /obj/structure/chair/stool/bar, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/black, /area/maintenance/starboard/fore) -"aos" = ( +"arc" = ( /turf/open/floor/plasteel/black, /area/maintenance/starboard/fore) -"aot" = ( +"ard" = ( /obj/structure/table/wood, /obj/item/toy/talking/AI, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"aou" = ( +"are" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/brown{ dir = 8 }, /area/maintenance/disposal) -"aov" = ( +"arf" = ( /obj/machinery/disposal/deliveryChute{ dir = 4 }, @@ -5416,7 +7829,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/disposal) -"aow" = ( +"arg" = ( /obj/machinery/conveyor{ dir = 4; id = "garbage" @@ -5432,7 +7845,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/disposal) -"aox" = ( +"arh" = ( /obj/machinery/mineral/stacking_machine{ input_dir = 2 }, @@ -5446,7 +7859,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/disposal) -"aoy" = ( +"ari" = ( /obj/machinery/mineral/stacking_unit_console{ dir = 2; machinedir = 8; @@ -5458,12 +7871,12 @@ dir = 4 }, /area/maintenance/disposal) -"aoG" = ( +"arj" = ( /obj/structure/lattice/catwalk, /obj/effect/landmark/xeno_spawn, /turf/open/space, /area/solar/port/fore) -"aoH" = ( +"ark" = ( /obj/structure/cable{ icon_state = "0-2" }, @@ -5473,14 +7886,14 @@ }, /turf/open/floor/circuit/green, /area/engine/atmospherics_engine) -"aoI" = ( +"arl" = ( /obj/structure/sign/electricshock, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 + dir = 6 }, /turf/closed/wall/r_wall, /area/engine/atmospherics_engine) -"aoJ" = ( +"arm" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/atmos{ name = "Reflector Access"; @@ -5499,11 +7912,14 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aoK" = ( +"arn" = ( /obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, /turf/open/floor/plating, /area/engine/atmospherics_engine) -"aoL" = ( +"aro" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/atmos{ name = "Reflector Access"; @@ -5519,7 +7935,53 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aoN" = ( +"arp" = ( +/obj/structure/sign/electricshock, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/engine/atmospherics_engine) +"arq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-2"; + pixel_y = 1 + }, +/turf/open/floor/circuit/green, +/area/engine/atmospherics_engine) +"arr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "0-2"; + pixel_y = 1 + }, +/obj/machinery/power/emitter/anchored{ + dir = 1; + state = 2 + }, +/turf/open/floor/circuit/green, +/area/engine/atmospherics_engine) +"ars" = ( +/obj/structure/cable{ + icon_state = "0-2"; + pixel_y = 1 + }, +/obj/machinery/power/emitter/anchored{ + dir = 1; + state = 2 + }, +/turf/open/floor/circuit/green, +/area/engine/atmospherics_engine) +"art" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall, +/area/crew_quarters/electronic_marketing_den) +"aru" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -5537,7 +7999,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/electronic_marketing_den) -"aoO" = ( +"arv" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -5553,17 +8015,21 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/electronic_marketing_den) -"aoP" = ( +"arw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall, +/area/crew_quarters/electronic_marketing_den) +"arx" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/maintenance/port/fore) -"aoQ" = ( +"ary" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port/fore) -"aoR" = ( +"arz" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance{ @@ -5572,29 +8038,29 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aoS" = ( +"arA" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side{ dir = 1 }, /area/maintenance/port/fore) -"aoT" = ( +"arB" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port/fore) -"aoU" = ( +"arC" = ( /obj/structure/cable/white{ icon_state = "2-4" }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aoV" = ( +"arD" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aoW" = ( +"arE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -5603,7 +8069,7 @@ dir = 1 }, /area/maintenance/port/fore) -"aoX" = ( +"arF" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -5612,14 +8078,14 @@ dir = 1 }, /area/maintenance/port/fore) -"aoY" = ( +"arG" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aoZ" = ( +"arH" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -5633,7 +8099,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port/fore) -"apa" = ( +"arI" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -5642,7 +8108,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"apb" = ( +"arJ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-8" @@ -5654,14 +8120,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"apc" = ( +"arK" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/space_heater, /turf/open/floor/plasteel/neutral/side{ dir = 5 }, /area/maintenance/port/fore) -"apd" = ( +"arL" = ( /obj/machinery/light{ dir = 8 }, @@ -5670,7 +8136,7 @@ dir = 8 }, /area/hallway/secondary/entry) -"ape" = ( +"arM" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, @@ -5678,14 +8144,14 @@ dir = 4 }, /area/hallway/secondary/entry) -"apf" = ( +"arN" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"apg" = ( +"arO" = ( /obj/machinery/vending/cola/random, /obj/effect/decal/cleanable/dirt, /obj/machinery/camera{ @@ -5696,7 +8162,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"aph" = ( +"arP" = ( /obj/machinery/vending/snack/random, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -5705,7 +8171,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"api" = ( +"arQ" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, @@ -5713,21 +8179,21 @@ dir = 1 }, /area/hallway/secondary/entry) -"apj" = ( +"arR" = ( /obj/machinery/light{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/corner, /area/hallway/secondary/entry) -"apk" = ( +"arS" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/firecloset, /turf/open/floor/plasteel/neutral/side{ dir = 9 }, /area/maintenance/starboard/fore) -"apl" = ( +"arT" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -5735,7 +8201,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"apm" = ( +"arU" = ( /obj/machinery/light/small{ dir = 1 }, @@ -5746,7 +8212,14 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"apn" = ( +"arV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"arW" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, /obj/item/coin/iron{ @@ -5755,30 +8228,30 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"apo" = ( +"arX" = ( /obj/machinery/computer/arcade, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"app" = ( +"arY" = ( /obj/structure/table/wood, /obj/item/toy/talking/codex_gigas, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/maintenance/starboard/fore) -"apq" = ( +"arZ" = ( /obj/structure/table/wood, /obj/item/clothing/glasses/regular/hipster, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/maintenance/starboard/fore) -"apr" = ( +"asa" = ( /obj/machinery/computer/arcade, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"aps" = ( +"asb" = ( /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -5791,19 +8264,19 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"apt" = ( +"asc" = ( /obj/structure/table/wood, /obj/item/gun/ballistic/automatic/toy/pistol/unrestricted, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/maintenance/starboard/fore) -"apu" = ( +"asd" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/disposal) -"apv" = ( +"ase" = ( /obj/machinery/light/small{ dir = 8 }, @@ -5820,7 +8293,7 @@ }, /turf/open/floor/plating, /area/maintenance/disposal) -"apw" = ( +"asf" = ( /obj/machinery/conveyor{ dir = 4; id = "garbage" @@ -5830,7 +8303,7 @@ }, /turf/open/floor/plating, /area/maintenance/disposal) -"apx" = ( +"asg" = ( /obj/machinery/conveyor{ dir = 4; id = "garbage" @@ -5841,7 +8314,7 @@ }, /turf/open/floor/plating, /area/maintenance/disposal) -"apy" = ( +"ash" = ( /obj/machinery/conveyor{ dir = 6; id = "garbage" @@ -5860,24 +8333,28 @@ }, /turf/open/floor/plating, /area/maintenance/disposal) -"apz" = ( +"asi" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/brown{ dir = 4 }, /area/maintenance/disposal) -"apD" = ( +"asj" = ( /obj/structure/cable{ icon_state = "0-2" }, /turf/open/floor/plasteel/airless/solarpanel, /area/solar/port/fore) -"apE" = ( +"ask" = ( /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/port/fore) -"apF" = ( +"asl" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/atmospherics_engine) +"asm" = ( /obj/item/clothing/gloves/color/black, /obj/item/clothing/glasses/meson/engine, /obj/structure/table/reinforced, @@ -5887,16 +8364,16 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"apG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, +"asn" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"apH" = ( +"aso" = ( /obj/structure/cable{ icon_state = "1-4" }, @@ -5909,7 +8386,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"apI" = ( +"asp" = ( /obj/structure/cable{ icon_state = "1-2" }, @@ -5928,7 +8405,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"apJ" = ( +"asq" = ( /obj/structure/cable{ icon_state = "1-8" }, @@ -5940,7 +8417,61 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"apK" = ( +"asr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/atmospherics_engine) +"ass" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/engine/atmospherics_engine) +"ast" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/caution{ + dir = 4 + }, +/area/engine/atmospherics_engine) +"asu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/circuit/green, +/area/engine/atmospherics_engine) +"asv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/caution{ + dir = 8 + }, +/area/engine/atmospherics_engine) +"asw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/engine/atmospherics_engine) +"asx" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ dir = 1 @@ -5953,45 +8484,38 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"apL" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/engine/atmospherics_engine) -"apM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/caution{ - dir = 4 - }, -/area/engine/atmospherics_engine) -"apN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/circuit/green, -/area/engine/atmospherics_engine) -"apO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/caution{ - dir = 8 - }, -/area/engine/atmospherics_engine) -"apQ" = ( +"asy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/structure/cable{ + icon_state = "1-4" + }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"apR" = ( +"asz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/engine/atmospherics_engine) +"asA" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -5999,22 +8523,25 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, +/obj/structure/cable{ + icon_state = "1-8" + }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"apS" = ( +"asB" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"apT" = ( +"asC" = ( /obj/structure/table/reinforced, /obj/item/clothing/suit/radiation, /obj/item/clothing/head/radiation, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"apU" = ( +"asD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/barsign{ pixel_y = 32 @@ -6023,14 +8550,14 @@ dir = 1 }, /area/maintenance/port/fore) -"apV" = ( +"asE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "2-4" }, /turf/open/floor/plating, /area/maintenance/port/fore) -"apW" = ( +"asF" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -6039,7 +8566,7 @@ dir = 5 }, /area/maintenance/port/fore) -"apX" = ( +"asG" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -6048,13 +8575,13 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"apY" = ( +"asH" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"apZ" = ( +"asI" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -6063,7 +8590,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aqa" = ( +"asJ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -6073,7 +8600,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aqb" = ( +"asK" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -6082,7 +8609,18 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"aqc" = ( +"asL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"asM" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -6092,7 +8630,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aqd" = ( +"asN" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -6105,7 +8643,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port/fore) -"aqe" = ( +"asO" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -6115,7 +8653,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"aqf" = ( +"asP" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -6125,7 +8663,7 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"aqg" = ( +"asQ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -6134,7 +8672,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aqh" = ( +"asR" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -6146,20 +8684,20 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aqi" = ( +"asS" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral/corner, /area/maintenance/port/fore) -"aqj" = ( +"asT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"aqk" = ( +"asU" = ( /obj/structure/closet/crate{ icon_state = "crateopen"; opened = 1 @@ -6173,7 +8711,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aql" = ( +"asV" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -6182,7 +8720,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aqm" = ( +"asW" = ( /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance{ lootcount = 3; @@ -6193,37 +8731,36 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aqn" = ( +"asX" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"aqo" = ( +"asY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aqp" = ( +"asZ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aqq" = ( +"ata" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aqr" = ( +"atb" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -6235,7 +8772,7 @@ icon_state = "platingdmg2" }, /area/maintenance/port/fore) -"aqs" = ( +"atc" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -6245,7 +8782,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"aqt" = ( +"atd" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -6255,7 +8792,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"aqu" = ( +"ate" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -6267,7 +8804,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aqv" = ( +"atf" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -6290,7 +8827,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"aqw" = ( +"atg" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -6305,7 +8842,7 @@ dir = 8 }, /area/hallway/secondary/entry) -"aqx" = ( +"ath" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -6315,7 +8852,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/entry) -"aqy" = ( +"ati" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -6324,7 +8861,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/entry) -"aqz" = ( +"atj" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -6334,7 +8871,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/entry) -"aqA" = ( +"atk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -6347,7 +8884,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/entry) -"aqB" = ( +"atl" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, @@ -6356,14 +8893,14 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/entry) -"aqC" = ( +"atm" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/entry) -"aqD" = ( +"atn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -6373,7 +8910,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/secondary/entry) -"aqE" = ( +"ato" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -6392,17 +8929,16 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"aqF" = ( +"atp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"aqG" = ( +"atq" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -6412,7 +8948,7 @@ /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /turf/open/floor/plasteel/neutral, /area/maintenance/starboard/fore) -"aqH" = ( +"atr" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -6423,7 +8959,7 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral, /area/maintenance/starboard/fore) -"aqI" = ( +"ats" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -6436,7 +8972,7 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/starboard/fore) -"aqJ" = ( +"att" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-8" @@ -6445,7 +8981,7 @@ dir = 4 }, /area/maintenance/starboard/fore) -"aqK" = ( +"atu" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch/abandoned{ name = "Maintenance Hatch"; @@ -6460,26 +8996,25 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"aqL" = ( +"atv" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/closed/wall, /area/maintenance/starboard/fore) -"aqM" = ( +"atw" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/closed/wall, /area/maintenance/starboard/fore) -"aqN" = ( +"atx" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/closed/wall, /area/maintenance/disposal) -"aqO" = ( +"aty" = ( /obj/structure/rack, /obj/effect/decal/cleanable/dirt, /obj/item/weldingtool, @@ -6494,7 +9029,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/disposal) -"aqP" = ( +"atz" = ( /obj/machinery/light/small{ dir = 1 }, @@ -6509,14 +9044,14 @@ }, /turf/open/floor/plasteel, /area/maintenance/disposal) -"aqQ" = ( +"atA" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/disposal) -"aqR" = ( +"atB" = ( /obj/machinery/conveyor{ dir = 8; id = "garbage" @@ -6532,20 +9067,19 @@ }, /turf/open/floor/plating, /area/maintenance/disposal) -"aqS" = ( +"atC" = ( /obj/machinery/conveyor{ dir = 8; id = "garbage" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/maintenance/disposal) -"aqT" = ( +"atD" = ( /obj/machinery/conveyor{ dir = 8; id = "garbage" @@ -6556,7 +9090,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/maintenance/disposal) -"aqU" = ( +"atE" = ( /obj/machinery/conveyor{ dir = 8; id = "garbage" @@ -6566,7 +9100,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/maintenance/disposal) -"aqV" = ( +"atF" = ( /obj/machinery/door/window/eastright{ dir = 4; name = "Danger: Conveyor Access"; @@ -6582,19 +9116,33 @@ }, /turf/open/floor/plating, /area/maintenance/disposal) -"aqW" = ( +"atG" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/disposal) -"aqX" = ( +"atH" = ( /obj/structure/cable{ icon_state = "0-2" }, /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/port/fore) -"aqY" = ( +"atI" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/turf/open/space, +/area/space) +"atJ" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/obj/structure/lattice, +/turf/open/space, +/area/space) +"atK" = ( /obj/structure/table/reinforced, /obj/item/device/analyzer{ pixel_x = 7; @@ -6614,19 +9162,22 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aqZ" = ( +"atL" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"ara" = ( +"atM" = ( /obj/machinery/atmospherics/pipe/simple/orange/visible{ dir = 6 }, /turf/open/floor/plasteel/neutral, /area/engine/atmospherics_engine) -"arb" = ( +"atN" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ icon_state = "1-4" @@ -6636,7 +9187,7 @@ }, /turf/open/floor/plasteel/yellow, /area/engine/atmospherics_engine) -"arc" = ( +"atO" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -6646,7 +9197,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmospherics_engine) -"ard" = ( +"atP" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -6655,7 +9206,7 @@ }, /turf/open/floor/plasteel/yellow, /area/engine/atmospherics_engine) -"are" = ( +"atQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ icon_state = "4-8" @@ -6668,7 +9219,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"arf" = ( +"atR" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -6679,7 +9230,7 @@ dir = 4 }, /area/engine/atmospherics_engine) -"arg" = ( +"atS" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -6688,7 +9239,7 @@ }, /turf/open/floor/circuit/green, /area/engine/atmospherics_engine) -"arh" = ( +"atT" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -6699,7 +9250,7 @@ dir = 8 }, /area/engine/atmospherics_engine) -"ari" = ( +"atU" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ icon_state = "4-8" @@ -6712,20 +9263,26 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"arj" = ( +"atV" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, /turf/open/floor/plasteel/yellow, /area/engine/atmospherics_engine) -"ark" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +"atW" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/trinary/filter/critical{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/engine/atmospherics_engine) -"arl" = ( +"atX" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ icon_state = "4-8" @@ -6734,15 +9291,36 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, /turf/open/floor/plasteel/yellow, /area/engine/atmospherics_engine) -"arm" = ( +"atY" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral, +/area/engine/atmospherics_engine) +"atZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 10 + }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"arn" = ( +"aua" = ( /obj/structure/table/reinforced, /obj/item/tank/internals/emergency_oxygen/engi{ pixel_x = -5 @@ -6762,13 +9340,17 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"arp" = ( +"aub" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall, +/area/maintenance/port/fore) +"auc" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plating, /area/maintenance/port/fore) -"arq" = ( +"aud" = ( /obj/machinery/door/airlock/maintenance_hatch/abandoned{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -6783,7 +9365,11 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"arr" = ( +"aue" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall, +/area/maintenance/port/fore) +"auf" = ( /obj/machinery/door/airlock/maintenance_hatch/abandoned{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -6797,24 +9383,24 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"ars" = ( +"aug" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/port/fore) -"art" = ( +"auh" = ( /turf/closed/wall, /area/janitor) -"aru" = ( +"aui" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/port/fore) -"arv" = ( +"auj" = ( /turf/closed/wall, /area/crew_quarters/toilet/auxiliary) -"arw" = ( +"auk" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, @@ -6825,7 +9411,7 @@ dir = 8 }, /area/hallway/secondary/entry) -"arx" = ( +"aul" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -6836,7 +9422,7 @@ dir = 8 }, /area/hallway/secondary/entry) -"ary" = ( +"aum" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -6844,7 +9430,7 @@ dir = 8 }, /area/hallway/secondary/entry) -"arz" = ( +"aun" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, @@ -6853,7 +9439,7 @@ dir = 1 }, /area/hallway/secondary/entry) -"arA" = ( +"auo" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -6862,36 +9448,35 @@ dir = 4 }, /area/hallway/secondary/entry) -"arB" = ( +"aup" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/secondary/entry) -"arC" = ( +"auq" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/secondary/entry) -"arD" = ( +"aur" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/maintenance/starboard/fore) -"arE" = ( +"aus" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"arF" = ( +"aut" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -6905,7 +9490,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"arG" = ( +"auu" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 @@ -6915,13 +9500,13 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard/fore) -"arH" = ( +"auv" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"arI" = ( +"auw" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -6933,7 +9518,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"arJ" = ( +"aux" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -6948,7 +9533,7 @@ dir = 6 }, /area/maintenance/starboard/fore) -"arK" = ( +"auy" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -6962,7 +9547,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"arL" = ( +"auz" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -6976,7 +9561,7 @@ dir = 8 }, /area/maintenance/starboard/fore) -"arM" = ( +"auA" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -6988,7 +9573,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"arN" = ( +"auB" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -7001,7 +9586,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"arO" = ( +"auC" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -7015,7 +9600,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"arP" = ( +"auD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -7030,7 +9615,7 @@ dir = 4 }, /area/maintenance/starboard/fore) -"arQ" = ( +"auE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -7046,7 +9631,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"arR" = ( +"auF" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -7060,7 +9645,7 @@ dir = 4 }, /area/maintenance/starboard/fore) -"arS" = ( +"auG" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; @@ -7083,7 +9668,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/disposal) -"arT" = ( +"auH" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -7096,7 +9681,7 @@ }, /turf/open/floor/plating, /area/maintenance/disposal) -"arU" = ( +"auI" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -7110,7 +9695,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/maintenance/disposal) -"arV" = ( +"auJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -7124,7 +9709,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/disposal) -"arW" = ( +"auK" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -7137,7 +9722,24 @@ }, /turf/open/floor/plasteel/brown, /area/maintenance/disposal) -"arX" = ( +"auL" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/brown, +/area/maintenance/disposal) +"auM" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -7150,7 +9752,7 @@ /obj/effect/decal/cleanable/blood/splatter, /turf/open/floor/plating, /area/maintenance/disposal) -"arY" = ( +"auN" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -7164,7 +9766,7 @@ /obj/effect/decal/cleanable/blood/splatter, /turf/open/floor/plasteel/brown, /area/maintenance/disposal) -"arZ" = ( +"auO" = ( /obj/machinery/power/apc{ dir = 2; name = "Disposal APC"; @@ -7172,8 +9774,7 @@ pixel_y = -24 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -7183,27 +9784,35 @@ dir = 6 }, /area/maintenance/disposal) -"asa" = ( +"auP" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 6 }, /obj/structure/lattice/catwalk, /turf/open/space, /area/space) -"asb" = ( +"auQ" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/space) +"auR" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 4 }, /obj/structure/lattice/catwalk, /turf/open/space, /area/space) -"asc" = ( +"auS" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/junction{ dir = 8 }, /turf/closed/wall/r_wall, /area/engine/atmospherics_engine) -"asd" = ( +"auT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/simple/general/visible{ @@ -7211,7 +9820,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"ase" = ( +"auU" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -7223,18 +9832,18 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"asf" = ( +"auV" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/manifold/orange/visible{ dir = 4 }, /turf/open/floor/plasteel/yellow, /area/engine/atmospherics_engine) -"asg" = ( +"auW" = ( /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"ash" = ( +"auX" = ( /obj/machinery/light, /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/simple/cyan/visible{ @@ -7242,14 +9851,14 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"asi" = ( +"auY" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"asj" = ( +"auZ" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -32 }, @@ -7259,7 +9868,7 @@ /obj/machinery/atmospherics/pipe/manifold/cyan/visible, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"ask" = ( +"ava" = ( /obj/structure/sign/electricshock{ pixel_y = -32 }, @@ -7270,13 +9879,13 @@ dir = 4 }, /area/engine/atmospherics_engine) -"asl" = ( +"avb" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, /turf/open/floor/circuit/green, /area/engine/atmospherics_engine) -"asm" = ( +"avc" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, @@ -7284,7 +9893,7 @@ dir = 8 }, /area/engine/atmospherics_engine) -"asn" = ( +"avd" = ( /obj/structure/sign/nosmoking_2{ pixel_y = -32 }, @@ -7294,7 +9903,7 @@ /obj/machinery/atmospherics/pipe/manifold/cyan/visible, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aso" = ( +"ave" = ( /obj/effect/decal/cleanable/dirt, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -7307,7 +9916,13 @@ /obj/machinery/meter, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"asp" = ( +"avf" = ( +/obj/machinery/light, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible, +/turf/open/floor/plasteel, +/area/engine/atmospherics_engine) +"avg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -7317,41 +9932,62 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"asq" = ( +"avh" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 10 }, /turf/open/floor/plasteel/yellow, /area/engine/atmospherics_engine) -"asr" = ( +"avi" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 8; + name = "scrubbers pipe" + }, +/obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/machinery/meter, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"ass" = ( -/obj/item/twohanded/required/kirbyplants/random, -/obj/structure/sign/nosmoking_2{ - pixel_x = 32 +"avj" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 }, /obj/structure/cable{ icon_state = "1-2" }, -/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"ast" = ( +"avk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/atmospherics_engine) +"avl" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 8; + frequency = 1441; + id = "n2_in"; + volume_rate = 200 + }, +/turf/open/space, +/area/engine/atmospherics_engine) +"avm" = ( /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/port/fore) -"asu" = ( +"avn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/grille, /turf/open/floor/plating, /area/maintenance/port/fore) -"asv" = ( +"avo" = ( /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance{ lootcount = 2; @@ -7359,7 +9995,14 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"asw" = ( +"avp" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"avq" = ( /obj/structure/closet/crate{ icon_state = "crateopen"; opened = 1 @@ -7370,7 +10013,7 @@ dir = 4 }, /area/maintenance/port/fore) -"asx" = ( +"avr" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -7378,14 +10021,14 @@ /obj/item/clothing/head/rabbitears, /turf/open/floor/plating, /area/maintenance/port/fore) -"asy" = ( +"avs" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/redblue/redside{ dir = 8 }, /area/maintenance/port/fore) -"asz" = ( +"avt" = ( /obj/structure/table_frame/wood, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/airalarm{ @@ -7393,14 +10036,14 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"asA" = ( +"avu" = ( /obj/structure/easel, /obj/item/canvas/twentythreeXtwentythree, /obj/item/canvas/twentythreeXtwentythree, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port/fore) -"asB" = ( +"avv" = ( /obj/structure/easel, /obj/item/canvas/twentythreeXtwentythree, /obj/item/canvas/twentythreeXtwentythree, @@ -7408,13 +10051,13 @@ icon_state = "wood-broken7" }, /area/maintenance/port/fore) -"asC" = ( +"avw" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood{ icon_state = "wood-broken" }, /area/maintenance/port/fore) -"asD" = ( +"avx" = ( /obj/structure/table/wood, /obj/item/device/camera_film, /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -7423,7 +10066,7 @@ }, /turf/open/floor/wood, /area/maintenance/port/fore) -"asE" = ( +"avy" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -7432,7 +10075,7 @@ dir = 4 }, /area/maintenance/port/fore) -"asF" = ( +"avz" = ( /obj/structure/table/reinforced, /obj/machinery/light/small{ dir = 1 @@ -7458,7 +10101,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel/neutral, /area/janitor) -"asG" = ( +"avA" = ( /obj/vehicle/janicart, /obj/machinery/status_display{ pixel_y = 32 @@ -7469,7 +10112,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel/neutral, /area/janitor) -"asH" = ( +"avB" = ( /obj/structure/closet/jcloset, /obj/machinery/power/apc{ dir = 1; @@ -7485,7 +10128,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel/neutral, /area/janitor) -"asI" = ( +"avC" = ( /obj/structure/closet/l3closet/janitor, /obj/machinery/requests_console{ department = "Custodial Closet"; @@ -7502,7 +10145,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel/neutral, /area/janitor) -"asJ" = ( +"avD" = ( /obj/structure/table/reinforced, /obj/machinery/status_display{ pixel_y = 32 @@ -7511,7 +10154,7 @@ /obj/item/toy/figure/janitor, /turf/open/floor/plasteel/neutral, /area/janitor) -"asK" = ( +"avE" = ( /obj/structure/table/reinforced, /obj/machinery/light/small{ dir = 1 @@ -7524,13 +10167,13 @@ }, /turf/open/floor/plasteel/neutral, /area/janitor) -"asL" = ( +"avF" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/port/fore) -"asM" = ( +"avG" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, /obj/item/storage/firstaid/regular, @@ -7540,7 +10183,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/toilet/auxiliary) -"asN" = ( +"avH" = ( /obj/structure/urinal{ pixel_y = 28 }, @@ -7548,14 +10191,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/toilet/auxiliary) -"asO" = ( +"avI" = ( /obj/structure/urinal{ pixel_y = 28 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/toilet/auxiliary) -"asP" = ( +"avJ" = ( /obj/structure/urinal{ pixel_y = 28 }, @@ -7565,7 +10208,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/toilet/auxiliary) -"asQ" = ( +"avK" = ( /obj/machinery/door/airlock{ name = "Auxiliary Restroom" }, @@ -7580,7 +10223,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/toilet/auxiliary) -"asR" = ( +"avL" = ( /obj/structure/sign/directions/evac{ pixel_y = -8 }, @@ -7593,7 +10236,7 @@ }, /turf/closed/wall, /area/crew_quarters/toilet/auxiliary) -"asS" = ( +"avM" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Fore Primary Hallway" @@ -7608,7 +10251,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"asT" = ( +"avN" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Fore Primary Hallway" @@ -7621,7 +10264,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"asU" = ( +"avO" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/door/airlock/glass{ @@ -7635,7 +10278,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"asV" = ( +"avP" = ( /obj/structure/sign/directions/evac{ pixel_y = -8 }, @@ -7648,10 +10291,10 @@ }, /turf/closed/wall, /area/quartermaster/warehouse) -"asW" = ( +"avQ" = ( /turf/closed/wall, /area/quartermaster/warehouse) -"asX" = ( +"avR" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -7669,34 +10312,34 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"asY" = ( +"avS" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/closed/wall, /area/quartermaster/warehouse) -"asZ" = ( +"avT" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/quartermaster/warehouse) -"ata" = ( +"avU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/quartermaster/storage) -"atb" = ( +"avV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, /turf/closed/wall, /area/quartermaster/storage) -"atc" = ( +"avW" = ( /turf/closed/wall, /area/quartermaster/storage) -"atd" = ( +"avX" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch{ name = "Cargo Maintenance"; @@ -7712,33 +10355,38 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"ate" = ( +"avY" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, /turf/open/space, /area/solar/port/fore) -"atf" = ( +"avZ" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 5 }, /obj/structure/lattice/catwalk, /turf/open/space, /area/space) -"atg" = ( +"awa" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 4 }, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, /obj/structure/lattice, /turf/open/space, /area/space) -"ath" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 10 +"awb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/engine/atmospherics_engine) +"awc" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/structure/lattice, -/turf/open/space, -/area/space) -"atj" = ( +/turf/open/floor/plasteel, +/area/engine/atmospherics_engine) +"awd" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 1; icon_state = "pump_map"; @@ -7746,78 +10394,52 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmospherics_engine) -"atk" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, +"awe" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"atl" = ( +"awf" = ( /obj/machinery/ai_status_display, /turf/closed/wall/r_wall, /area/engine/supermatter) -"atm" = ( +"awg" = ( +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"awh" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/supermatter) +"awi" = ( /obj/machinery/status_display, /turf/closed/wall/r_wall, /area/engine/supermatter) -"atn" = ( +"awj" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"ato" = ( +"awk" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible, /turf/open/floor/plasteel/neutral, /area/engine/atmospherics_engine) -"atp" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ - dir = 8; - name = "scrubbers pipe" +"awl" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 5 }, -/obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/meter, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"atq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/engine/atmospherics_engine) -"atr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/plating, -/area/engine/atmospherics_engine) -"ats" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 8; - frequency = 1441; - id = "n2_in"; - volume_rate = 200 - }, -/turf/open/space, -/area/engine/atmospherics_engine) -"att" = ( +"awm" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/maintenance/port/fore) -"atu" = ( +"awn" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/blobstart, /obj/structure/cable/white{ @@ -7825,11 +10447,11 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"atv" = ( +"awo" = ( /obj/structure/grille, /turf/open/floor/plating, /area/maintenance/port/fore) -"atw" = ( +"awp" = ( /obj/structure/mirror{ pixel_x = -28 }, @@ -7839,7 +10461,7 @@ /obj/effect/spawner/lootdrop/costume, /turf/open/floor/plasteel/redblue, /area/maintenance/port/fore) -"atx" = ( +"awq" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, @@ -7847,7 +10469,7 @@ dir = 8 }, /area/maintenance/port/fore) -"aty" = ( +"awr" = ( /obj/effect/decal/cleanable/dirt, /obj/item/melee/skateboard, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ @@ -7855,36 +10477,42 @@ }, /turf/open/floor/plasteel/cafeteria, /area/maintenance/port/fore) -"atz" = ( +"aws" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"awt" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood{ icon_state = "wood-broken2" }, /area/maintenance/port/fore) -"atA" = ( +"awu" = ( /mob/living/simple_animal/cockroach, /turf/open/floor/wood, /area/maintenance/port/fore) -"atB" = ( +"awv" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/wood, /area/maintenance/port/fore) -"atC" = ( +"aww" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/wood, /area/maintenance/port/fore) -"atD" = ( +"awx" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/wood, /area/maintenance/port/fore) -"atE" = ( +"awy" = ( /obj/machinery/door/airlock/maintenance_hatch/abandoned{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -7900,14 +10528,14 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"atF" = ( +"awz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/port/fore) -"atG" = ( +"awA" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -7918,7 +10546,7 @@ dir = 4 }, /area/maintenance/port/fore) -"atH" = ( +"awB" = ( /obj/structure/mirror{ pixel_x = -28 }, @@ -7941,7 +10569,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel/neutral, /area/janitor) -"atI" = ( +"awC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/janitor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -7949,7 +10577,7 @@ }, /turf/open/floor/plating, /area/janitor) -"atJ" = ( +"awD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -7959,7 +10587,7 @@ }, /turf/open/floor/plating, /area/janitor) -"atK" = ( +"awE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -7967,7 +10595,7 @@ dir = 1 }, /area/janitor) -"atL" = ( +"awF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/janitor, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ @@ -7977,7 +10605,7 @@ dir = 5 }, /area/janitor) -"atM" = ( +"awG" = ( /obj/structure/reagent_dispensers/watertank, /obj/structure/sign/nosmoking_2{ pixel_x = 32 @@ -7987,13 +10615,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel/neutral, /area/janitor) -"atN" = ( +"awH" = ( /obj/effect/landmark/blobstart, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/port/fore) -"atO" = ( +"awI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/mirror{ pixel_x = -26 @@ -8005,25 +10633,25 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/toilet/auxiliary) -"atP" = ( +"awJ" = ( /turf/open/floor/plasteel/neutral/side{ dir = 1; heat_capacity = 1e+006 }, /area/crew_quarters/toilet/auxiliary) -"atQ" = ( +"awK" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side{ dir = 1; heat_capacity = 1e+006 }, /area/crew_quarters/toilet/auxiliary) -"atR" = ( +"awL" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/event_spawn, /turf/open/floor/plating, /area/crew_quarters/toilet/auxiliary) -"atS" = ( +"awM" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/camera{ c_tag = "Auxiliary Restroom"; @@ -8035,7 +10663,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/toilet/auxiliary) -"atT" = ( +"awN" = ( /obj/effect/decal/cleanable/dirt, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -8046,7 +10674,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/toilet/auxiliary) -"atU" = ( +"awO" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -8054,20 +10682,20 @@ dir = 5 }, /area/crew_quarters/toilet/auxiliary) -"atV" = ( +"awP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral/corner{ dir = 1 }, /area/hallway/primary/fore) -"atW" = ( +"awQ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"atX" = ( +"awR" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -8080,21 +10708,21 @@ dir = 4 }, /area/hallway/primary/fore) -"atY" = ( +"awS" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plasteel/neutral, /area/quartermaster/warehouse) -"atZ" = ( +"awT" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/quartermaster/warehouse) -"aua" = ( +"awU" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/quartermaster/warehouse) -"aub" = ( +"awV" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -8102,7 +10730,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/quartermaster/warehouse) -"auc" = ( +"awW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/light/small{ dir = 1 @@ -8111,7 +10739,7 @@ dir = 1 }, /area/quartermaster/warehouse) -"aud" = ( +"awX" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/camera{ @@ -8121,25 +10749,25 @@ }, /turf/open/floor/plating, /area/quartermaster/warehouse) -"aue" = ( +"awY" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/brown{ dir = 1 }, /area/quartermaster/warehouse) -"auf" = ( +"awZ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plating, /area/quartermaster/warehouse) -"aug" = ( +"axa" = ( /obj/item/stack/packageWrap, /obj/item/hand_labeler, /obj/structure/table, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) -"auh" = ( +"axb" = ( /obj/machinery/airalarm{ pixel_y = 22 }, @@ -8147,14 +10775,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aui" = ( +"axc" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/filingcabinet/filingcabinet, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) -"auj" = ( +"axd" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light{ dir = 1 @@ -8163,26 +10791,26 @@ dir = 1 }, /area/quartermaster/storage) -"auk" = ( +"axe" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aul" = ( +"axf" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/brown{ dir = 1 }, /area/quartermaster/storage) -"aum" = ( +"axg" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /turf/open/floor/plasteel/brown{ dir = 1 }, /area/quartermaster/storage) -"aun" = ( +"axh" = ( /obj/structure/table/reinforced, /obj/item/storage/box/lights/mixed, /obj/item/device/radio/intercom{ @@ -8193,14 +10821,14 @@ dir = 1 }, /area/quartermaster/storage) -"auo" = ( +"axi" = ( /obj/structure/table/reinforced, /obj/machinery/computer/stockexchange, /turf/open/floor/plasteel/brown{ dir = 1 }, /area/quartermaster/storage) -"aup" = ( +"axj" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light{ dir = 1 @@ -8210,12 +10838,12 @@ dir = 1 }, /area/quartermaster/storage) -"auq" = ( +"axk" = ( /turf/open/floor/plasteel/brown{ dir = 1 }, /area/quartermaster/storage) -"aur" = ( +"axl" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate{ icon_state = "crateopen"; @@ -8224,44 +10852,44 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aus" = ( +"axm" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aut" = ( +"axn" = ( /obj/machinery/status_display{ name = "cargo display"; supply_display = 1 }, /turf/closed/wall, /area/quartermaster/storage) -"auu" = ( +"axo" = ( /obj/item/stack/cable_coil, /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/port/fore) -"auv" = ( +"axp" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 4 }, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, /turf/open/space, /area/space) -"auw" = ( +"axq" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 9 }, -/obj/structure/lattice, /turf/open/space, /area/space) -"aux" = ( +"axr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/bot, /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"auy" = ( +"axs" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -8271,7 +10899,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"auz" = ( +"axt" = ( /obj/machinery/meter, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/green/visible{ @@ -8279,19 +10907,16 @@ }, /turf/open/floor/plasteel/yellow, /area/engine/atmospherics_engine) -"auA" = ( +"axu" = ( /obj/structure/cable{ icon_state = "2-4" }, -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"auB" = ( +"axv" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -8305,13 +10930,13 @@ }, /turf/open/floor/plating, /area/engine/supermatter) -"auC" = ( +"axw" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/open/floor/engine, /area/engine/supermatter) -"auD" = ( +"axx" = ( /obj/machinery/power/rad_collector/anchored, /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 6 @@ -8324,19 +10949,22 @@ }, /turf/open/floor/circuit/green, /area/engine/supermatter) -"auE" = ( +"axy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/engine, /area/engine/supermatter) -"auF" = ( +"axz" = ( +/turf/open/floor/engine, +/area/engine/supermatter) +"axA" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/engine, /area/engine/supermatter) -"auG" = ( +"axB" = ( /obj/machinery/power/rad_collector/anchored, /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 10 @@ -8349,7 +10977,7 @@ }, /turf/open/floor/circuit/green, /area/engine/supermatter) -"auH" = ( +"axC" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -8360,7 +10988,7 @@ }, /turf/open/floor/engine, /area/engine/supermatter) -"auI" = ( +"axD" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -8373,7 +11001,7 @@ }, /turf/open/floor/plating, /area/engine/supermatter) -"auJ" = ( +"axE" = ( /obj/structure/cable{ icon_state = "2-8" }, @@ -8383,31 +11011,27 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"auK" = ( +"axF" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Filter to Gas" }, /turf/open/floor/plasteel/yellow, /area/engine/atmospherics_engine) -"auL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/atmospherics_engine) -"auM" = ( +"axG" = ( /obj/item/twohanded/required/kirbyplants/random, +/obj/structure/sign/nosmoking_2{ + pixel_x = 32 + }, /obj/structure/cable{ icon_state = "1-2" }, -/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"auN" = ( +"axH" = ( /turf/open/floor/plasteel/neutral, /area/maintenance/port/fore) -"auO" = ( +"axI" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -8415,39 +11039,39 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/port/fore) -"auP" = ( +"axJ" = ( /obj/structure/rack, /obj/item/reagent_containers/food/drinks/bottle/whiskey, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/port/fore) -"auQ" = ( +"axK" = ( /obj/structure/table_frame/wood, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/redblue, /area/maintenance/port/fore) -"auR" = ( +"axL" = ( /turf/open/floor/plasteel/redblue, /area/maintenance/port/fore) -"auS" = ( +"axM" = ( /turf/open/floor/plasteel/redblue/redside{ dir = 8 }, /area/maintenance/port/fore) -"auT" = ( +"axN" = ( /obj/structure/dresser, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/cafeteria, /area/maintenance/port/fore) -"auU" = ( +"axO" = ( /obj/structure/table/wood, /obj/item/device/camera, /turf/open/floor/wood{ icon_state = "wood-broken3" }, /area/maintenance/port/fore) -"auV" = ( +"axP" = ( /obj/structure/chair/comfy/brown{ dir = 8 }, @@ -8455,18 +11079,27 @@ icon_state = "wood-broken3" }, /area/maintenance/port/fore) -"auW" = ( +"axQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/nosmoking_2{ pixel_y = -32 }, /turf/open/floor/plating, /area/maintenance/port/fore) -"auY" = ( +"axR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/maintenance/port/fore) +"axS" = ( /obj/machinery/photocopier, /turf/open/floor/plating, /area/maintenance/port/fore) -"auZ" = ( +"axT" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -8476,7 +11109,7 @@ /mob/living/simple_animal/cockroach, /turf/open/floor/plating, /area/maintenance/port/fore) -"ava" = ( +"axU" = ( /obj/structure/table/reinforced, /obj/machinery/airalarm{ dir = 4; @@ -8493,13 +11126,13 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/janitor) -"avb" = ( +"axV" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/whitegreen/side{ dir = 8 }, /area/janitor) -"avc" = ( +"axW" = ( /obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "1-2" @@ -8507,7 +11140,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel/neutral, /area/janitor) -"avd" = ( +"axX" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /obj/effect/landmark/event_spawn, @@ -8517,12 +11150,20 @@ }, /turf/open/floor/plasteel/neutral, /area/janitor) -"ave" = ( +"axY" = ( /turf/open/floor/plasteel/whitepurple/side{ dir = 4 }, /area/janitor) -"avg" = ( +"axZ" = ( +/obj/structure/janitorialcart, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/official/work_for_a_future{ + pixel_x = 32 + }, +/turf/open/floor/plating, +/area/janitor) +"aya" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, @@ -8530,27 +11171,27 @@ dir = 4 }, /area/maintenance/port/fore) -"avh" = ( +"ayb" = ( /obj/machinery/light/small, /obj/structure/extinguisher_cabinet{ pixel_y = -32 }, /turf/open/floor/plating, /area/crew_quarters/toilet/auxiliary) -"avi" = ( +"ayc" = ( /turf/open/floor/plasteel/neutral/side, /area/crew_quarters/toilet/auxiliary) -"avj" = ( +"ayd" = ( /obj/machinery/status_display{ pixel_y = -32 }, /turf/open/floor/plasteel/neutral/side, /area/crew_quarters/toilet/auxiliary) -"avk" = ( +"aye" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side, /area/crew_quarters/toilet/auxiliary) -"avl" = ( +"ayf" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -8563,7 +11204,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/toilet/auxiliary) -"avm" = ( +"ayg" = ( /obj/machinery/airalarm{ dir = 8; pixel_x = 24 @@ -8576,17 +11217,16 @@ dir = 6 }, /area/crew_quarters/toilet/auxiliary) -"avn" = ( +"ayh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/neutral/corner{ dir = 1 }, /area/hallway/primary/fore) -"avo" = ( +"ayi" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -8595,7 +11235,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"avp" = ( +"ayj" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -8603,14 +11243,13 @@ dir = 8 }, /obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; dir = 4 }, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/hallway/primary/fore) -"avq" = ( +"ayk" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -8633,7 +11272,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"avr" = ( +"ayl" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "2-8" @@ -8642,18 +11281,17 @@ dir = 10 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating, /area/quartermaster/warehouse) -"avs" = ( +"aym" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate/secure/loot, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"avt" = ( +"ayn" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, /obj/structure/cable/white{ @@ -8664,7 +11302,7 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/warehouse) -"avu" = ( +"ayo" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate, /obj/effect/spawner/lootdrop/maintenance, @@ -8675,7 +11313,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"avv" = ( +"ayp" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -8683,7 +11321,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"avw" = ( +"ayq" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/cardboard, /obj/effect/spawner/lootdrop/maintenance{ @@ -8696,7 +11334,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"avx" = ( +"ayr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -8704,7 +11342,7 @@ dir = 4 }, /area/quartermaster/warehouse) -"avy" = ( +"ays" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining{ name = "Cargo Warehouse"; @@ -8721,7 +11359,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"avz" = ( +"ayt" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -8730,7 +11368,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"avA" = ( +"ayu" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -8740,7 +11378,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"avB" = ( +"ayv" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -8750,7 +11388,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"avC" = ( +"ayw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -8759,7 +11397,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"avD" = ( +"ayx" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -8769,7 +11407,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"avE" = ( +"ayy" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -8777,34 +11415,34 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"avF" = ( +"ayz" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"avG" = ( +"ayA" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"avH" = ( +"ayB" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 5 }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"avI" = ( +"ayC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/loadingarea{ dir = 8 }, /area/quartermaster/storage) -"avJ" = ( +"ayD" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/conveyor{ dir = 1; @@ -8812,17 +11450,17 @@ }, /turf/open/floor/plating, /area/quartermaster/storage) -"avK" = ( +"ayE" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/storage) -"avL" = ( +"ayF" = ( /turf/closed/wall/mineral/titanium, /area/shuttle/supply) -"avN" = ( +"ayG" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -8834,7 +11472,11 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"avO" = ( +"ayH" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/open/floor/plasteel/neutral, +/area/engine/atmospherics_engine) +"ayI" = ( /obj/structure/cable{ icon_state = "2-4" }, @@ -8847,11 +11489,11 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"avP" = ( -/obj/machinery/power/rad_collector/anchored, +"ayJ" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 8 }, +/obj/machinery/power/rad_collector/anchored, /obj/structure/cable{ icon_state = "0-8" }, @@ -8860,15 +11502,15 @@ }, /turf/open/floor/circuit/green, /area/engine/supermatter) -"avQ" = ( +"ayK" = ( /obj/machinery/power/supermatter_shard/crystal/engine, /turf/open/floor/engine, /area/engine/supermatter) -"avR" = ( -/obj/machinery/power/rad_collector/anchored, +"ayL" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 4 }, +/obj/machinery/power/rad_collector/anchored, /obj/structure/cable{ icon_state = "0-4" }, @@ -8877,7 +11519,7 @@ }, /turf/open/floor/circuit/green, /area/engine/supermatter) -"avS" = ( +"ayM" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -8891,7 +11533,7 @@ }, /turf/open/floor/plating, /area/engine/supermatter) -"avT" = ( +"ayN" = ( /obj/structure/cable{ icon_state = "2-8" }, @@ -8906,7 +11548,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"avU" = ( +"ayO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/cyan/visible, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ @@ -8914,21 +11556,40 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmospherics_engine) -"avV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 5 +"ayP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/securearea{ + pixel_x = 32 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/machinery/camera{ + c_tag = "Supermatter Engine - Starboard"; + dir = 8; + name = "atmospherics camera"; + network = list("SS13","Engine") }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"avW" = ( +"ayQ" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/closet/radiation, +/turf/open/floor/plasteel/caution{ + dir = 1 + }, +/area/engine/atmospherics_engine) +"ayR" = ( +/obj/structure/sign/radiation, +/turf/closed/wall/r_wall, +/area/engine/atmospherics_engine) +"ayS" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port/fore) -"avX" = ( +"ayT" = ( /obj/structure/closet/crate, /obj/effect/spawner/lootdrop/maintenance{ lootcount = 2; @@ -8936,7 +11597,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"avY" = ( +"ayU" = ( /obj/machinery/light/small, /obj/machinery/power/apc{ dir = 2; @@ -8947,7 +11608,14 @@ /obj/structure/cable/white, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"awa" = ( +"ayV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/redblue, +/area/maintenance/port/fore) +"ayW" = ( /obj/machinery/vending/autodrobe{ req_access_txt = "0" }, @@ -8957,7 +11625,17 @@ dir = 8 }, /area/maintenance/port/fore) -"awc" = ( +"ayX" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt, +/obj/item/clothing/shoes/jackboots, +/obj/effect/spawner/lootdrop/costume, +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/cafeteria, +/area/maintenance/port/fore) +"ayY" = ( /obj/structure/table/wood, /obj/item/lipstick/random{ pixel_x = 3; @@ -8974,7 +11652,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/cafeteria, /area/maintenance/port/fore) -"awd" = ( +"ayZ" = ( /obj/structure/table/wood, /obj/item/canvas/twentythreeXnineteen, /obj/item/canvas/nineteenXnineteen, @@ -8986,7 +11664,29 @@ icon_state = "wood-broken6" }, /area/maintenance/port/fore) -"awf" = ( +"aza" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12 + }, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, +/obj/effect/decal/cleanable/dirt, +/obj/item/mop, +/obj/item/mop, +/obj/item/device/radio/intercom{ + name = "Station Intercom"; + pixel_y = -26 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/light/small, +/obj/effect/turf_decal/bot, +/obj/structure/sign/poster/official/cleanliness{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/neutral, +/area/janitor) +"azb" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable/white{ icon_state = "2-4" @@ -8995,7 +11695,7 @@ dir = 10 }, /area/janitor) -"awg" = ( +"azc" = ( /obj/machinery/light_switch{ pixel_y = -26 }, @@ -9007,20 +11707,19 @@ dir = 1 }, /area/janitor) -"awh" = ( +"azd" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel/neutral, /area/janitor) -"awi" = ( +"aze" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel/neutral, /area/janitor) -"awj" = ( +"azf" = ( /obj/machinery/disposal/bin, /obj/structure/extinguisher_cabinet{ pixel_x = 26 @@ -9033,7 +11732,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel/neutral, /area/janitor) -"awk" = ( +"azg" = ( /obj/machinery/door/airlock{ name = "Toilet Unit" }, @@ -9045,39 +11744,37 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/toilet/auxiliary) -"awl" = ( +"azh" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/toilet/auxiliary) -"awm" = ( +"azi" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/corner{ dir = 1 }, /area/hallway/primary/fore) -"awn" = ( +"azj" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"awo" = ( +"azk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/hallway/primary/fore) -"awp" = ( +"azl" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -9086,7 +11783,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/quartermaster/warehouse) -"awq" = ( +"azm" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm{ dir = 4; @@ -9096,11 +11793,11 @@ dir = 8 }, /area/quartermaster/warehouse) -"awr" = ( +"azn" = ( /obj/item/storage/box/lights/mixed, /turf/open/floor/plating, /area/quartermaster/warehouse) -"aws" = ( +"azo" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -9108,7 +11805,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/quartermaster/warehouse) -"awt" = ( +"azp" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 @@ -9116,7 +11813,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"awu" = ( +"azq" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/lootdrop/maintenance, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -9125,7 +11822,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"awv" = ( +"azr" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate/internals, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -9134,14 +11831,14 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/quartermaster/warehouse) -"aww" = ( +"azs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"awx" = ( +"azt" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -9150,7 +11847,7 @@ dir = 4 }, /area/quartermaster/warehouse) -"awy" = ( +"azu" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining{ name = "Cargo Warehouse"; @@ -9167,7 +11864,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"awz" = ( +"azv" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -9176,7 +11873,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"awA" = ( +"azw" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -9184,7 +11881,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/quartermaster/storage) -"awB" = ( +"azx" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 @@ -9194,16 +11891,16 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"awC" = ( +"azy" = ( /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"awD" = ( +"azz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"awE" = ( +"azA" = ( /obj/structure/closet/crate{ icon_state = "crateopen"; opened = 1 @@ -9212,33 +11909,33 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) -"awF" = ( +"azB" = ( /obj/effect/landmark/start/cargo_technician, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) -"awG" = ( +"azC" = ( /obj/effect/spawner/lootdrop/maintenance, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) -"awH" = ( +"azD" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/storage) -"awI" = ( +"azE" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"awJ" = ( +"azF" = ( /turf/open/floor/plasteel/loadingarea{ dir = 8 }, /area/quartermaster/storage) -"awK" = ( +"azG" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-2" @@ -9246,47 +11943,57 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/storage) -"awL" = ( +"azH" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plasteel, /area/shuttle/supply) -"awM" = ( +"azI" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/shuttle/supply) -"awN" = ( +"azJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/shuttle/supply) +"azK" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/shuttle/supply) -"awO" = ( +"azL" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 }, /turf/open/floor/plasteel, /area/shuttle/supply) -"awP" = ( +"azM" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ icon_state = "0-2" }, /turf/open/space, /area/solar/port/fore) -"awQ" = ( +"azN" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 9 }, /obj/structure/lattice/catwalk, /turf/open/space, /area/space) -"awR" = ( +"azO" = ( /obj/structure/sign/securearea{ pixel_x = -32 }, @@ -9304,7 +12011,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"awS" = ( +"azP" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 4 }, @@ -9313,12 +12020,24 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"awT" = ( +"azQ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/green/visible, /turf/open/floor/plasteel/yellow, /area/engine/atmospherics_engine) -"awU" = ( +"azR" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmospherics_engine) +"azS" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -9331,7 +12050,33 @@ }, /turf/open/floor/plating, /area/engine/supermatter) -"awV" = ( +"azT" = ( +/obj/machinery/power/rad_collector/anchored, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/window/plasma/reinforced{ + dir = 4 + }, +/turf/open/floor/circuit/green, +/area/engine/supermatter) +"azU" = ( +/obj/machinery/power/rad_collector/anchored, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/turf/open/floor/circuit/green, +/area/engine/supermatter) +"azV" = ( /obj/structure/cable{ icon_state = "2-8" }, @@ -9347,43 +12092,68 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"awW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/securearea{ - pixel_x = 32 - }, -/obj/machinery/camera{ - c_tag = "Supermatter Engine - Starboard"; - dir = 8; - name = "atmospherics camera"; - network = list("SS13","Engine") +"azW" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/plasteel/yellow, +/area/engine/atmospherics_engine) +"azX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/engine/atmospherics_engine) +"azY" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"awX" = ( +"azZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/airlock/highsecurity{ + name = "Emergency Access"; + req_access_txt = "24;10" + }, +/turf/open/floor/plasteel, +/area/engine/atmospherics_engine) +"aAa" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/engine/atmospherics_engine) +"aAb" = ( /turf/closed/wall, /area/hydroponics/garden/abandoned) -"awY" = ( +"aAc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall, +/area/hydroponics/garden/abandoned) +"aAd" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side{ dir = 9 }, /area/maintenance/port/fore) -"awZ" = ( +"aAe" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/maintenance/port/fore) -"axa" = ( +"aAf" = ( +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral/side{ dir = 1 }, /area/maintenance/port/fore) -"axb" = ( +"aAg" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -9393,11 +12163,11 @@ dir = 4 }, /area/maintenance/port/fore) -"axc" = ( +"aAh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/janitor) -"axd" = ( +"aAi" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock{ name = "Custodial Closet"; @@ -9415,7 +12185,7 @@ }, /turf/open/floor/plasteel, /area/janitor) -"axe" = ( +"aAj" = ( /obj/machinery/door/poddoor/shutters{ id = "custodialshutters"; name = "Custodial Closet Shutters" @@ -9428,7 +12198,7 @@ }, /turf/open/floor/plasteel, /area/janitor) -"axf" = ( +"aAk" = ( /obj/machinery/door/poddoor/shutters{ id = "custodialshutters"; name = "Custodial Closet Shutters" @@ -9448,12 +12218,12 @@ }, /turf/open/floor/plasteel, /area/janitor) -"axg" = ( +"aAl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"axh" = ( +"aAm" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/vomit/old, /obj/structure/toilet{ @@ -9465,7 +12235,7 @@ /obj/machinery/light/small, /turf/open/floor/plating, /area/crew_quarters/toilet/auxiliary) -"axi" = ( +"aAn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/toilet{ dir = 8 @@ -9477,7 +12247,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/toilet/auxiliary) -"axj" = ( +"aAo" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/toilet{ dir = 8 @@ -9490,26 +12260,26 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/toilet/auxiliary) -"axk" = ( +"aAp" = ( /obj/machinery/vending/cigarette, /obj/machinery/light/small, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/toilet/auxiliary) -"axl" = ( +"aAq" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"axm" = ( +"aAr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/hallway/primary/fore) -"axn" = ( +"aAs" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -9517,13 +12287,20 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/quartermaster/warehouse) -"axo" = ( +"aAt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light_switch{ + pixel_x = -26 + }, +/turf/open/floor/plating, +/area/quartermaster/warehouse) +"aAu" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/plating, /area/quartermaster/warehouse) -"axp" = ( +"aAv" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -9532,7 +12309,7 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/warehouse) -"axq" = ( +"aAw" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/cargo_technician, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ @@ -9540,7 +12317,7 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/warehouse) -"axr" = ( +"aAx" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/blobstart, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -9548,25 +12325,25 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/warehouse) -"axs" = ( +"aAy" = ( /obj/effect/decal/cleanable/oil, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/warehouse) -"axt" = ( +"aAz" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/warehouse) -"axu" = ( +"aAA" = ( /turf/open/floor/plasteel/brown{ dir = 4 }, /area/quartermaster/warehouse) -"axv" = ( +"aAB" = ( /obj/machinery/navbeacon{ codes_txt = "delivery;dir=4"; dir = 4; @@ -9576,7 +12353,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/storage) -"axw" = ( +"aAC" = ( /obj/structure/window/reinforced{ dir = 1 }, @@ -9584,7 +12361,7 @@ dir = 4 }, /area/quartermaster/storage) -"axx" = ( +"aAD" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/corner{ @@ -9592,13 +12369,13 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"axy" = ( +"aAE" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"axz" = ( +"aAF" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 @@ -9606,11 +12383,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"axA" = ( +"aAG" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"axB" = ( +"aAH" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/conveyor_switch{ id = "cargounload" @@ -9619,20 +12396,7 @@ dir = 4 }, /area/quartermaster/storage) -"axC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Virology - Break Room"; - dir = 8; - name = "virology camera" - }, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 4 - }, -/area/medical/virology) -"axD" = ( +"aAI" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-4" @@ -9640,7 +12404,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/storage) -"axE" = ( +"aAJ" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -9651,7 +12415,7 @@ /obj/structure/sign/vacuum, /turf/open/floor/plating, /area/quartermaster/storage) -"axF" = ( +"aAK" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -9661,42 +12425,46 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/storage) -"axG" = ( +"aAL" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/shuttle/supply) -"axH" = ( +"aAM" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/shuttle/supply) -"axI" = ( +"aAN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/shuttle/supply) -"axJ" = ( +"aAO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/shuttle/supply) -"axK" = ( +"aAP" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ icon_state = "1-2" }, /turf/open/space, /area/solar/port/fore) -"axL" = ( +"aAQ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + icon_state = "freezer"; + dir = 4 + }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"axM" = ( +"aAR" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, @@ -9705,12 +12473,12 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"axN" = ( +"aAS" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/green/visible, /turf/open/floor/plasteel/neutral, /area/engine/atmospherics_engine) -"axO" = ( +"aAT" = ( /obj/structure/cable{ icon_state = "1-2" }, @@ -9722,20 +12490,20 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"axP" = ( +"aAU" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 5 }, /turf/closed/wall/r_wall, /area/engine/supermatter) -"axQ" = ( +"aAV" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 10 }, /obj/machinery/meter, /turf/closed/wall/r_wall, /area/engine/supermatter) -"axR" = ( +"aAW" = ( /obj/machinery/door/airlock/glass_atmos{ heat_proof = 1; name = "Supermatter Chamber"; @@ -9744,20 +12512,20 @@ }, /turf/open/floor/engine, /area/engine/supermatter) -"axS" = ( +"aAX" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 6 }, /obj/machinery/meter, /turf/closed/wall/r_wall, /area/engine/supermatter) -"axT" = ( +"aAY" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 9 }, /turf/closed/wall/r_wall, /area/engine/supermatter) -"axU" = ( +"aAZ" = ( /obj/structure/cable{ icon_state = "1-2" }, @@ -9771,7 +12539,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"axV" = ( +"aBa" = ( /obj/machinery/meter, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/cyan/visible{ @@ -9779,7 +12547,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmospherics_engine) -"axW" = ( +"aBb" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8; icon_state = "pump_map"; @@ -9790,7 +12558,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"axX" = ( +"aBc" = ( /obj/structure/cable{ icon_state = "1-2" }, @@ -9800,28 +12568,47 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"axY" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ +"aBd" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + tag = "icon-intact (EAST)"; + icon_state = "intact"; dir = 4 }, -/turf/open/floor/plating, +/obj/structure/sign/directions/engineering{ + desc = "A sign that shows there are doors here. There are doors everywhere!"; + icon_state = "doors"; + name = "WARNING: PRESSURIZED DOORS" + }, +/turf/closed/wall/r_wall, /area/engine/atmospherics_engine) -"axZ" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ +"aBe" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + tag = "icon-intact (SOUTHWEST)"; + icon_state = "intact"; dir = 10 }, -/turf/open/space, -/area/space) -"aya" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet{ + dir = 4; + pixel_y = -27 + }, +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/caution, +/area/engine/atmospherics_engine) +"aBf" = ( +/obj/structure/sign/securearea, +/turf/closed/wall/r_wall, +/area/engine/atmospherics_engine) +"aBg" = ( /obj/machinery/hydroponics/soil, /obj/item/seeds/sunflower, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"ayb" = ( +"aBh" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light/small{ dir = 1 @@ -9830,19 +12617,19 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"ayc" = ( +"aBi" = ( /obj/structure/table, /obj/item/clothing/suit/apron/overalls, /obj/item/cultivator, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"ayd" = ( +"aBj" = ( /obj/machinery/biogenerator, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"aye" = ( +"aBk" = ( /obj/structure/table, /obj/item/seeds/poppy/lily{ pixel_x = 4; @@ -9859,14 +12646,14 @@ }, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"ayf" = ( +"aBl" = ( /obj/machinery/hydroponics/soil, /obj/item/seeds/tea, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"ayg" = ( +"aBm" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/status_display{ pixel_y = 32 @@ -9874,7 +12661,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"ayh" = ( +"aBn" = ( /obj/structure/table, /obj/item/stack/packageWrap, /obj/effect/decal/cleanable/dirt, @@ -9885,24 +12672,33 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"ayi" = ( +"aBo" = ( +/obj/item/twohanded/required/kirbyplants/random, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/hydroponics/garden/abandoned) +"aBp" = ( /obj/machinery/hydroponics/soil, /obj/item/seeds/poppy, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"ayj" = ( +"aBq" = ( /obj/structure/cable/white{ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plating, /area/maintenance/port/fore) -"ayk" = ( +"aBr" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -9915,7 +12711,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"ayl" = ( +"aBs" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -9928,7 +12724,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aym" = ( +"aBt" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -9940,7 +12736,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"ayn" = ( +"aBu" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -9953,7 +12749,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"ayo" = ( +"aBv" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -9965,7 +12761,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"ayp" = ( +"aBw" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -9981,21 +12777,20 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"ayq" = ( +"aBx" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 8 }, /turf/open/floor/plasteel/neutral/side{ dir = 9 }, /area/maintenance/port/fore) -"ayr" = ( +"aBy" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-8" @@ -10007,16 +12802,15 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 8; - icon_state = "pipe-j2s"; name = "Bar Junction"; sortType = 19 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"ays" = ( +"aBz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -10027,7 +12821,7 @@ dir = 1 }, /area/maintenance/port/fore) -"ayt" = ( +"aBA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -10037,21 +12831,20 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"ayu" = ( +"aBB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 8; - icon_state = "pipe-j1s"; name = "Custodial Junction"; sortType = 22 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"ayv" = ( +"aBC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -10063,7 +12856,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"ayw" = ( +"aBD" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -10075,26 +12868,25 @@ dir = 1 }, /area/maintenance/port/fore) -"ayx" = ( +"aBE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/neutral/side{ dir = 5 }, /area/maintenance/port/fore) -"ayy" = ( +"aBF" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/crew_quarters/toilet/auxiliary) -"ayA" = ( +"aBG" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -10102,7 +12894,15 @@ dir = 1 }, /area/hallway/primary/fore) -"ayB" = ( +"aBH" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/hallway/primary/fore) +"aBI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -10111,15 +12911,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/quartermaster/warehouse) -"ayC" = ( +"aBJ" = ( /turf/open/floor/plating, /area/quartermaster/warehouse) -"ayD" = ( +"aBK" = ( /obj/effect/spawner/lootdrop/maintenance, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"ayE" = ( +"aBL" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -10127,14 +12927,14 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral, /area/quartermaster/warehouse) -"ayF" = ( +"aBM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/deadcockroach, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"ayG" = ( +"aBN" = ( /obj/structure/closet/crate{ icon_state = "crateopen"; opened = 1 @@ -10145,18 +12945,18 @@ }, /turf/open/floor/plating, /area/quartermaster/warehouse) -"ayH" = ( +"aBO" = ( /obj/effect/decal/cleanable/dirt, /obj/item/storage/box/mousetraps, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"ayI" = ( +"aBP" = ( /obj/effect/spawner/lootdrop/maintenance, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"ayJ" = ( +"aBQ" = ( /obj/structure/plasticflaps{ opacity = 1 }, @@ -10164,7 +12964,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"ayK" = ( +"aBR" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/navbeacon{ codes_txt = "delivery;dir=4"; @@ -10179,30 +12979,30 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"ayL" = ( +"aBS" = ( /turf/open/floor/plasteel/loadingarea{ dir = 4 }, /area/quartermaster/storage) -"ayM" = ( +"aBT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"ayN" = ( +"aBU" = ( /obj/effect/decal/cleanable/oil, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"ayO" = ( +"aBV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"ayP" = ( +"aBW" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) -"ayQ" = ( +"aBX" = ( /obj/structure/closet/crate, /obj/effect/spawner/lootdrop/maintenance{ lootcount = 2; @@ -10211,13 +13011,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) -"ayR" = ( +"aBY" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/lootdrop/maintenance, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/storage) -"ayS" = ( +"aBZ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -10225,13 +13025,13 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"ayT" = ( +"aCa" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/brown{ dir = 4 }, /area/quartermaster/storage) -"ayU" = ( +"aCb" = ( /obj/machinery/conveyor{ dir = 8; id = "cargounload" @@ -10242,7 +13042,7 @@ }, /turf/open/floor/plating, /area/quartermaster/storage) -"ayV" = ( +"aCc" = ( /obj/machinery/conveyor{ dir = 8; id = "cargounload" @@ -10250,7 +13050,7 @@ /obj/structure/plasticflaps, /turf/open/floor/plating, /area/quartermaster/storage) -"ayW" = ( +"aCd" = ( /obj/machinery/conveyor{ dir = 8; id = "cargounload" @@ -10264,7 +13064,7 @@ }, /turf/open/floor/plating, /area/quartermaster/storage) -"ayX" = ( +"aCe" = ( /obj/machinery/conveyor{ dir = 8; id = "cargounload" @@ -10275,41 +13075,60 @@ }, /turf/open/floor/plating, /area/shuttle/supply) -"ayY" = ( +"aCf" = ( /obj/effect/decal/cleanable/oil, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/shuttle/supply) -"ayZ" = ( +"aCg" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/shuttle/supply) -"aza" = ( +"aCh" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, +/obj/machinery/meter, +/turf/open/floor/plasteel, +/area/engine/atmospherics_engine) +"aCi" = ( /obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ filter_type = "n2"; name = "nitrogen filter" }, /turf/open/floor/plasteel/yellow, /area/engine/atmospherics_engine) -"azc" = ( +"aCj" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmospherics_engine) +"aCk" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/machinery/portable_atmospherics/scrubber, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"azd" = ( +"aCl" = ( /obj/structure/sign/radiation, /turf/closed/wall/r_wall, -/area/engine/atmospherics_engine) -"aze" = ( +/area/engine/supermatter) +"aCm" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Gas to Filter" }, /turf/open/floor/engine, /area/engine/supermatter) -"azf" = ( +"aCn" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 1; icon_state = "pump_map"; @@ -10317,7 +13136,7 @@ }, /turf/open/floor/engine, /area/engine/supermatter) -"azg" = ( +"aCo" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/structure/extinguisher_cabinet{ pixel_y = 32 @@ -10325,13 +13144,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"azh" = ( +"aCp" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"azi" = ( +"aCq" = ( /obj/structure/cable{ icon_state = "1-2" }, @@ -10342,14 +13161,14 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"azj" = ( +"aCr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/cyan/visible{ dir = 8 }, /turf/open/floor/plasteel/yellow, /area/engine/atmospherics_engine) -"azk" = ( +"aCs" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, @@ -10358,31 +13177,44 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"azl" = ( +"aCt" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 }, -/obj/machinery/portable_atmospherics/scrubber, /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/portable_atmospherics/canister, /turf/open/floor/plasteel/escape{ dir = 4 }, /area/engine/atmospherics_engine) -"azm" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/space, -/area/space) -"azn" = ( +"aCu" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/closed/wall/r_wall, +/area/engine/atmospherics_engine) +"aCv" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/hydrofloor, /area/hydroponics/garden/abandoned) -"azo" = ( +"aCw" = ( /turf/open/floor/plasteel/hydrofloor, /area/hydroponics/garden/abandoned) -"azp" = ( +"aCx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/hydrofloor, +/area/hydroponics/garden/abandoned) +"aCy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/hydrofloor, +/area/hydroponics/garden/abandoned) +"aCz" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -10392,24 +13224,24 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/port/fore) -"azq" = ( +"aCA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/closed/wall, /area/maintenance/port/fore) -"azr" = ( +"aCB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/closed/wall, /area/maintenance/port/fore) -"azs" = ( +"aCC" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/closed/wall, /area/maintenance/port/fore) -"azt" = ( +"aCD" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -10418,7 +13250,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/port/fore) -"azu" = ( +"aCE" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -10430,7 +13262,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"azv" = ( +"aCF" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -10441,14 +13273,24 @@ /obj/machinery/light/small, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"azw" = ( +"aCG" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral/side, +/area/maintenance/port/fore) +"aCH" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plating, /area/maintenance/port/fore) -"azx" = ( +"aCI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -10461,7 +13303,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port/fore) -"azy" = ( +"aCJ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -10473,7 +13315,7 @@ dir = 4 }, /area/maintenance/port/fore) -"azz" = ( +"aCK" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; @@ -10493,7 +13335,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"azA" = ( +"aCL" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -10505,7 +13347,7 @@ dir = 1 }, /area/hallway/primary/fore) -"azB" = ( +"aCM" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -10518,7 +13360,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"azC" = ( +"aCN" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -10526,7 +13368,7 @@ dir = 4 }, /area/hallway/primary/fore) -"azD" = ( +"aCO" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-4" @@ -10535,12 +13377,11 @@ dir = 5 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/quartermaster/warehouse) -"azE" = ( +"aCP" = ( /obj/machinery/door/firedoor, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -10564,7 +13405,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"azF" = ( +"aCQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -10572,16 +13413,15 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 4; - icon_state = "pipe-j1s"; sortType = 1 }, /turf/open/floor/plasteel/brown{ dir = 8 }, /area/quartermaster/warehouse) -"azG" = ( +"aCR" = ( /obj/effect/decal/cleanable/oil, /obj/structure/cable/white{ icon_state = "2-8" @@ -10598,7 +13438,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"azH" = ( +"aCS" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -10614,20 +13454,19 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/warehouse) -"azI" = ( +"aCT" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"azJ" = ( +"aCU" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -10635,14 +13474,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"azK" = ( +"aCV" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"azL" = ( +"aCW" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate, /obj/structure/cable/white{ @@ -10655,7 +13494,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/warehouse) -"azM" = ( +"aCX" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "0-8" @@ -10670,7 +13509,7 @@ dir = 4 }, /area/quartermaster/warehouse) -"azN" = ( +"aCY" = ( /obj/machinery/light{ dir = 8 }, @@ -10683,26 +13522,26 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/storage) -"azO" = ( +"aCZ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/loadingarea{ dir = 4 }, /area/quartermaster/storage) -"azP" = ( +"aDa" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"azQ" = ( +"aDb" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"azR" = ( +"aDc" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -10710,19 +13549,19 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"azS" = ( +"aDd" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"azT" = ( +"aDe" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"azU" = ( +"aDf" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/external{ cyclelinkeddir = 4; @@ -10737,14 +13576,14 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"azV" = ( +"aDg" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 2 }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"azW" = ( +"aDh" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -10762,7 +13601,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"azX" = ( +"aDi" = ( /obj/machinery/door/airlock/shuttle{ name = "Supply Shuttle Airlock"; req_access_txt = "31" @@ -10770,20 +13609,30 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/shuttle/supply) -"azY" = ( +"aDj" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/shuttle/supply) -"azZ" = ( +"aDk" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/space) +"aDl" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/structure/lattice, +/turf/open/space, +/area/space) +"aDm" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aAb" = ( +"aDn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 5 }, @@ -10791,23 +13640,27 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aAc" = ( +"aDo" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ dir = 4 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aAd" = ( +"aDp" = ( /obj/machinery/atmospherics/pipe/simple/green/visible, /turf/closed/wall/r_wall, /area/engine/supermatter) -"aAe" = ( +"aDq" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"aDr" = ( /obj/machinery/atmospherics/components/binary/pump, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aAf" = ( +"aDs" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "External Gas to Loop" }, @@ -10815,13 +13668,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aAg" = ( +"aDt" = ( /obj/machinery/atmospherics/pipe/manifold/cyan/visible{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/engine/atmospherics_engine) -"aAh" = ( +"aDu" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -10831,7 +13684,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aAi" = ( +"aDv" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 }, @@ -10843,12 +13696,12 @@ dir = 4 }, /area/engine/atmospherics_engine) -"aAj" = ( +"aDw" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/simple/orange/visible, /turf/open/space, /area/space) -"aAk" = ( +"aDx" = ( /obj/structure/sink{ dir = 8; pixel_x = -12; @@ -10860,11 +13713,15 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"aAl" = ( +"aDy" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/hydrofloor, /area/hydroponics/garden/abandoned) -"aAm" = ( +"aDz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/hydrofloor, +/area/hydroponics/garden/abandoned) +"aDA" = ( /obj/structure/sink{ dir = 4; pixel_x = 11 @@ -10875,7 +13732,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"aAn" = ( +"aDB" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -10887,23 +13744,23 @@ dir = 8 }, /area/maintenance/port/fore) -"aAo" = ( +"aDC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/hallway/secondary/service) -"aAp" = ( +"aDD" = ( /obj/structure/table/wood, /obj/item/paper_bin, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/service) -"aAq" = ( +"aDE" = ( /obj/structure/closet/secure_closet/personal/cabinet, /obj/machinery/airalarm{ pixel_y = 23 }, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/service) -"aAr" = ( +"aDF" = ( /obj/structure/bed, /obj/machinery/status_display{ pixel_y = 32 @@ -10911,25 +13768,25 @@ /obj/item/bedsheet/rainbow, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/service) -"aAs" = ( +"aDG" = ( /turf/open/floor/plasteel/grimy, /area/hallway/secondary/service) -"aAt" = ( +"aDH" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/structure/sign/nanotrasen{ pixel_x = 32 }, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/service) -"aAu" = ( +"aDI" = ( /turf/closed/wall, /area/hallway/secondary/service) -"aAv" = ( +"aDJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, /turf/closed/wall, /area/hallway/secondary/service) -"aAw" = ( +"aDK" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -10948,10 +13805,10 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"aAx" = ( +"aDL" = ( /turf/closed/wall, /area/crew_quarters/bar) -"aAy" = ( +"aDM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/light{ dir = 8 @@ -10960,7 +13817,7 @@ dir = 1 }, /area/hallway/primary/fore) -"aAz" = ( +"aDN" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 26 }, @@ -10969,17 +13826,17 @@ dir = 4 }, /area/hallway/primary/fore) -"aAA" = ( +"aDO" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/firecloset, /turf/open/floor/plasteel/brown, /area/quartermaster/warehouse) -"aAB" = ( +"aDP" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/quartermaster/warehouse) -"aAC" = ( +"aDQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -10987,14 +13844,14 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/brown, /area/quartermaster/warehouse) -"aAD" = ( +"aDR" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, /turf/open/floor/plasteel/brown, /area/quartermaster/warehouse) -"aAE" = ( +"aDS" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 @@ -11002,26 +13859,26 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/quartermaster/warehouse) -"aAF" = ( +"aDT" = ( /obj/machinery/light/small, /turf/open/floor/plating, /area/quartermaster/warehouse) -"aAG" = ( +"aDU" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/brown, /area/quartermaster/warehouse) -"aAH" = ( +"aDV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/brown, /area/quartermaster/warehouse) -"aAI" = ( +"aDW" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/brown{ dir = 6 }, /area/quartermaster/warehouse) -"aAJ" = ( +"aDX" = ( /obj/machinery/camera{ c_tag = "Cargo Bay - Port"; dir = 4; @@ -11041,48 +13898,55 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aAK" = ( +"aDY" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/window/reinforced, /turf/open/floor/plasteel/loadingarea{ dir = 4 }, /area/quartermaster/storage) -"aAL" = ( +"aDZ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/corner{ dir = 1 }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aAM" = ( +"aEa" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/quartermaster/storage) +"aEb" = ( /obj/structure/closet/cardboard, /obj/effect/spawner/lootdrop/maintenance, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aAN" = ( +"aEc" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/cargo_technician, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aAO" = ( +"aEd" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/lootdrop/maintenance, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aAP" = ( +"aEe" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aAQ" = ( +"aEf" = ( /turf/open/floor/plasteel/brown{ dir = 4 }, /area/quartermaster/storage) -"aAR" = ( +"aEg" = ( /obj/machinery/button/door{ dir = 2; id = "cargounload"; @@ -11098,7 +13962,9 @@ pixel_x = 24; pixel_y = -8 }, -/obj/machinery/computer/cargo, +/obj/machinery/computer/cargo{ + dir = 8 + }, /obj/machinery/camera{ c_tag = "Cargo Bay - Starboard"; dir = 8; @@ -11107,11 +13973,11 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aAS" = ( +"aEh" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/storage) -"aAT" = ( +"aEi" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -11119,7 +13985,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/storage) -"aAU" = ( +"aEj" = ( /obj/machinery/button/door{ dir = 2; id = "cargounload"; @@ -11141,7 +14007,16 @@ }, /turf/open/floor/plasteel, /area/shuttle/supply) -"aAV" = ( +"aEk" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/shuttle/supply) +"aEl" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8; name = "Gas to Cooling Loop"; @@ -11152,12 +14027,12 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aAW" = ( +"aEm" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/manifold/green/visible, /turf/open/floor/plasteel/yellow, /area/engine/atmospherics_engine) -"aAX" = ( +"aEn" = ( /obj/structure/cable{ icon_state = "1-4" }, @@ -11169,7 +14044,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aAY" = ( +"aEo" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -11181,7 +14056,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aAZ" = ( +"aEp" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -11197,7 +14072,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aBa" = ( +"aEq" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -11213,7 +14088,7 @@ /obj/machinery/atmospherics/pipe/manifold/green/visible, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aBb" = ( +"aEr" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8; name = "Gas to Filter"; @@ -11227,7 +14102,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aBc" = ( +"aEs" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -11242,7 +14117,7 @@ /obj/machinery/atmospherics/pipe/manifold/cyan/visible, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aBd" = ( +"aEt" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -11258,7 +14133,7 @@ }, /turf/open/floor/plasteel, /area/engine/supermatter) -"aBe" = ( +"aEu" = ( /obj/machinery/meter, /obj/structure/cable{ icon_state = "4-8" @@ -11269,7 +14144,7 @@ /obj/machinery/atmospherics/pipe/manifold/cyan/visible, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aBf" = ( +"aEv" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -11280,7 +14155,7 @@ /obj/machinery/atmospherics/pipe/manifold/cyan/visible, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aBg" = ( +"aEw" = ( /obj/structure/cable{ icon_state = "1-8" }, @@ -11299,7 +14174,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aBh" = ( +"aEx" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -11308,7 +14183,7 @@ }, /turf/open/floor/plasteel/yellow, /area/engine/atmospherics_engine) -"aBi" = ( +"aEy" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -11317,7 +14192,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aBj" = ( +"aEz" = ( /obj/machinery/power/apc{ dir = 4; name = "Atmospherics Engine APC"; @@ -11331,20 +14206,25 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aBk" = ( +"aEA" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/open/space, +/area/space) +"aEB" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "2-4" }, /turf/open/floor/plasteel/hydrofloor, /area/hydroponics/garden/abandoned) -"aBl" = ( +"aEC" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/hydrofloor, /area/hydroponics/garden/abandoned) -"aBm" = ( +"aED" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -11352,13 +14232,18 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/hydrofloor, /area/hydroponics/garden/abandoned) -"aBn" = ( +"aEE" = ( /obj/structure/cable/white{ icon_state = "2-8" }, /turf/open/floor/plasteel/hydrofloor, /area/hydroponics/garden/abandoned) -"aBo" = ( +"aEF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/hydrofloor, +/area/hydroponics/garden/abandoned) +"aEG" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -11367,7 +14252,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/port/fore) -"aBp" = ( +"aEH" = ( /obj/structure/table/wood, /obj/item/folder, /obj/item/pen, @@ -11376,25 +14261,25 @@ }, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/service) -"aBq" = ( +"aEI" = ( /obj/structure/chair/office/dark{ dir = 8 }, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/service) -"aBr" = ( +"aEJ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/service) -"aBs" = ( +"aEK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/service) -"aBt" = ( +"aEL" = ( /obj/machinery/door/airlock{ id_tag = "AuxCabinA"; name = "Cabin A"; @@ -11405,7 +14290,7 @@ }, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/service) -"aBu" = ( +"aEM" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -11418,7 +14303,7 @@ dir = 1 }, /area/hallway/secondary/service) -"aBv" = ( +"aEN" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -11430,7 +14315,7 @@ dir = 4 }, /area/hallway/secondary/service) -"aBw" = ( +"aEO" = ( /obj/structure/table/wood, /obj/structure/reagent_dispensers/beerkeg, /obj/item/device/radio/intercom{ @@ -11441,7 +14326,7 @@ dir = 8 }, /area/crew_quarters/bar) -"aBx" = ( +"aEP" = ( /obj/structure/closet/secure_closet/bar, /obj/machinery/power/apc{ dir = 1; @@ -11459,7 +14344,7 @@ dir = 5 }, /area/crew_quarters/bar) -"aBy" = ( +"aEQ" = ( /obj/structure/sink/kitchen{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; name = "sink"; @@ -11473,7 +14358,7 @@ }, /turf/open/floor/plasteel/black, /area/crew_quarters/bar) -"aBz" = ( +"aER" = ( /obj/structure/closet/secure_closet/bar, /obj/machinery/status_display{ pixel_y = 32 @@ -11485,7 +14370,7 @@ dir = 5 }, /area/crew_quarters/bar) -"aBA" = ( +"aES" = ( /obj/structure/table/wood, /obj/machinery/light_switch{ pixel_x = 26; @@ -11497,7 +14382,11 @@ /obj/item/storage/box/beanbag, /turf/open/floor/plasteel/black, /area/crew_quarters/bar) -"aBC" = ( +"aET" = ( +/obj/structure/sign/poster/random, +/turf/closed/wall, +/area/crew_quarters/bar) +"aEU" = ( /obj/structure/table/wood, /obj/structure/sign/barsign{ pixel_y = 32 @@ -11505,21 +14394,21 @@ /obj/machinery/chem_dispenser/drinks, /turf/open/floor/plasteel/black, /area/crew_quarters/bar) -"aBD" = ( +"aEV" = ( /obj/structure/table/wood, /obj/machinery/chem_dispenser/drinks/beer, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/bar) -"aBE" = ( +"aEW" = ( /obj/machinery/vending/boozeomat, /obj/machinery/status_display{ pixel_y = 32 }, /turf/open/floor/plasteel/black, /area/crew_quarters/bar) -"aBF" = ( +"aEX" = ( /obj/structure/table/wood, /obj/machinery/light{ dir = 1 @@ -11538,7 +14427,7 @@ dir = 5 }, /area/crew_quarters/bar) -"aBG" = ( +"aEY" = ( /obj/structure/table/wood, /obj/machinery/status_display{ pixel_y = 32 @@ -11547,7 +14436,7 @@ /obj/item/toy/figure/bartender, /turf/open/floor/plasteel/black, /area/crew_quarters/bar) -"aBH" = ( +"aEZ" = ( /obj/structure/table/wood, /obj/item/storage/fancy/cigarettes/cigars{ pixel_y = 6 @@ -11564,13 +14453,13 @@ dir = 5 }, /area/crew_quarters/bar) -"aBI" = ( +"aFa" = ( /obj/machinery/disposal/bin, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/crew_quarters/bar) -"aBJ" = ( +"aFb" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/white{ icon_state = "0-4" @@ -11586,7 +14475,7 @@ dir = 1 }, /area/hallway/primary/fore) -"aBK" = ( +"aFc" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -11596,7 +14485,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"aBL" = ( +"aFd" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/airalarm{ dir = 8; @@ -11606,14 +14495,14 @@ dir = 4 }, /area/hallway/primary/fore) -"aBM" = ( +"aFe" = ( /turf/closed/wall, /area/quartermaster/sorting) -"aBN" = ( +"aFf" = ( /obj/structure/disposalpipe/segment, /turf/closed/wall, /area/quartermaster/sorting) -"aBO" = ( +"aFg" = ( /obj/machinery/door/firedoor, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -11632,21 +14521,21 @@ }, /turf/open/floor/plasteel, /area/quartermaster/sorting) -"aBP" = ( +"aFh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/quartermaster/sorting) -"aBQ" = ( +"aFi" = ( /turf/closed/wall, /area/security/checkpoint/supply) -"aBR" = ( +"aFj" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/corner{ dir = 4 }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aBS" = ( +"aFk" = ( /obj/machinery/door/airlock/external{ cyclelinkeddir = 4; name = "Supply Dock Airlock"; @@ -11660,7 +14549,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aBT" = ( +"aFl" = ( /obj/docking_port/mobile/supply{ dwidth = 5; roundstart_move = "supply_away"; @@ -11676,36 +14565,36 @@ }, /turf/closed/wall/mineral/titanium, /area/shuttle/supply) -"aBU" = ( +"aFm" = ( /turf/closed/wall/r_wall, /area/security/prison) -"aBV" = ( +"aFn" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/prison) -"aBW" = ( +"aFo" = ( /obj/structure/lattice, /obj/structure/grille/broken, /turf/open/space, /area/space) -"aBX" = ( +"aFp" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/solars/port/fore) -"aBY" = ( +"aFq" = ( /turf/closed/wall/r_wall, /area/maintenance/solars/port/fore) -"aBZ" = ( +"aFr" = ( /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) -"aCa" = ( +"aFs" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/disposal/incinerator) -"aCb" = ( +"aFt" = ( /obj/structure/table/reinforced, /obj/item/tank/internals/plasma, /obj/machinery/light/small, @@ -11721,7 +14610,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aCc" = ( +"aFu" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -11731,7 +14620,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aCd" = ( +"aFv" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_x = -28; @@ -11745,27 +14634,33 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aCe" = ( +"aFw" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/yellow, /area/engine/atmospherics_engine) -"aCf" = ( +"aFx" = ( /turf/open/floor/plasteel/neutral, /area/engine/atmospherics_engine) -"aCg" = ( +"aFy" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, /turf/open/floor/plasteel/yellow, /area/engine/atmospherics_engine) -"aCh" = ( +"aFz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral, +/area/engine/atmospherics_engine) +"aFA" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /turf/open/floor/plasteel/yellow, /area/engine/atmospherics_engine) -"aCi" = ( +"aFB" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -11773,14 +14668,21 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aCj" = ( +"aFC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/yellow, +/area/engine/atmospherics_engine) +"aFD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/yellow, /area/engine/atmospherics_engine) -"aCk" = ( +"aFE" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -11789,7 +14691,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmospherics_engine) -"aCl" = ( +"aFF" = ( /obj/structure/cable{ icon_state = "1-2" }, @@ -11801,7 +14703,7 @@ }, /turf/open/floor/plasteel/yellow, /area/engine/atmospherics_engine) -"aCm" = ( +"aFG" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-8" @@ -11809,14 +14711,14 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aCn" = ( +"aFH" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aCo" = ( +"aFI" = ( /obj/structure/table/reinforced, /obj/item/crowbar/red, /obj/item/wrench, @@ -11825,20 +14727,20 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aCp" = ( +"aFJ" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"aCq" = ( +"aFK" = ( /obj/machinery/hydroponics/soil, /obj/item/seeds/harebell, /obj/machinery/light/small, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"aCr" = ( +"aFL" = ( /obj/structure/table, /obj/item/shovel/spade, /obj/item/reagent_containers/glass/bottle/nutrient/rh{ @@ -11859,7 +14761,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"aCs" = ( +"aFM" = ( /obj/machinery/seed_extractor, /obj/machinery/status_display{ pixel_y = -32 @@ -11868,7 +14770,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"aCt" = ( +"aFN" = ( /obj/structure/table, /obj/item/device/plant_analyzer, /obj/item/hatchet, @@ -11876,12 +14778,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"aCu" = ( +"aFO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"aCv" = ( +"aFP" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -11889,7 +14791,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"aCw" = ( +"aFQ" = ( /obj/structure/table, /obj/item/crowbar, /obj/item/wrench, @@ -11897,7 +14799,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"aCx" = ( +"aFR" = ( /obj/machinery/hydroponics/soil, /obj/item/seeds/tower, /obj/effect/decal/cleanable/dirt, @@ -11906,7 +14808,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"aCy" = ( +"aFS" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -11914,7 +14816,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/port/fore) -"aCz" = ( +"aFT" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /obj/machinery/button/door{ @@ -11928,46 +14830,45 @@ }, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/service) -"aCA" = ( +"aFU" = ( /obj/structure/table/wood, /obj/item/device/paicard, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/service) -"aCB" = ( +"aFV" = ( /obj/machinery/light, /obj/structure/closet/wardrobe/mixed, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/service) -"aCC" = ( +"aFW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/service) -"aCD" = ( +"aFX" = ( /obj/structure/dresser, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/hallway/secondary/service) -"aCE" = ( +"aFY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/hallway/secondary/service) -"aCF" = ( +"aFZ" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/neutral/corner{ dir = 1 }, /area/hallway/secondary/service) -"aCG" = ( +"aGa" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -11982,7 +14883,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"aCH" = ( +"aGb" = ( /obj/structure/plasticflaps{ opacity = 1 }, @@ -12002,7 +14903,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/bar) -"aCI" = ( +"aGc" = ( /obj/machinery/firealarm{ dir = 8; pixel_x = -24; @@ -12017,7 +14918,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/bar) -"aCJ" = ( +"aGd" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -12029,14 +14930,14 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar) -"aCK" = ( +"aGe" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar) -"aCL" = ( +"aGf" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -12045,7 +14946,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar) -"aCM" = ( +"aGg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -12056,7 +14957,7 @@ dir = 5 }, /area/crew_quarters/bar) -"aCN" = ( +"aGh" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ name = "Bar Backroom"; @@ -12072,7 +14973,7 @@ dir = 8 }, /area/crew_quarters/bar) -"aCO" = ( +"aGi" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -12081,7 +14982,7 @@ }, /turf/open/floor/plasteel/black, /area/crew_quarters/bar) -"aCP" = ( +"aGj" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -12093,7 +14994,7 @@ dir = 8 }, /area/crew_quarters/bar) -"aCQ" = ( +"aGk" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, @@ -12102,24 +15003,23 @@ }, /turf/open/floor/plasteel/black, /area/crew_quarters/bar) -"aCR" = ( +"aGl" = ( /obj/machinery/newscaster{ pixel_x = 32 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/bar) -"aCS" = ( +"aGm" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"aCT" = ( +"aGn" = ( /obj/machinery/conveyor{ dir = 4; id = "cargodeliver" @@ -12130,7 +15030,7 @@ }, /turf/open/floor/plating, /area/quartermaster/sorting) -"aCU" = ( +"aGo" = ( /obj/machinery/conveyor{ dir = 4; id = "cargodeliver" @@ -12138,7 +15038,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/quartermaster/sorting) -"aCV" = ( +"aGp" = ( /obj/machinery/conveyor{ dir = 2; id = "cargodeliver" @@ -12146,10 +15046,9 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/quartermaster/sorting) -"aCW" = ( +"aGq" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/trunk{ - icon_state = "pipe-t"; dir = 1 }, /obj/structure/disposaloutlet, @@ -12162,7 +15061,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/sorting) -"aCX" = ( +"aGr" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -12172,7 +15071,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/sorting) -"aCY" = ( +"aGs" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -12188,15 +15087,14 @@ }, /turf/open/floor/plasteel, /area/quartermaster/sorting) -"aCZ" = ( +"aGt" = ( /obj/structure/disposalpipe/trunk{ - icon_state = "pipe-t"; dir = 1 }, /obj/structure/disposaloutlet, /turf/open/floor/plating, /area/quartermaster/sorting) -"aDa" = ( +"aGu" = ( /obj/machinery/status_display{ pixel_y = 32 }, @@ -12218,7 +15116,7 @@ dir = 9 }, /area/security/checkpoint/supply) -"aDb" = ( +"aGv" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, /obj/machinery/light{ @@ -12232,7 +15130,7 @@ dir = 1 }, /area/security/checkpoint/supply) -"aDc" = ( +"aGw" = ( /obj/machinery/ai_status_display{ pixel_y = 32 }, @@ -12251,23 +15149,23 @@ dir = 5 }, /area/security/checkpoint/supply) -"aDd" = ( +"aGx" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/red/corner{ dir = 8 }, /area/quartermaster/storage) -"aDe" = ( +"aGy" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aDf" = ( +"aGz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aDg" = ( +"aGA" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate, /obj/effect/spawner/lootdrop/maintenance{ @@ -12279,7 +15177,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aDh" = ( +"aGB" = ( /obj/item/clothing/suit/hazardvest{ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; name = "emergency lifejacket" @@ -12359,7 +15257,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aDi" = ( +"aGC" = ( /obj/machinery/conveyor{ dir = 4; id = "cargoload" @@ -12367,7 +15265,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/quartermaster/storage) -"aDj" = ( +"aGD" = ( /obj/machinery/conveyor{ dir = 4; id = "cargoload" @@ -12379,7 +15277,7 @@ }, /turf/open/floor/plating, /area/quartermaster/storage) -"aDk" = ( +"aGE" = ( /obj/machinery/conveyor{ dir = 4; id = "cargoload" @@ -12388,7 +15286,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/quartermaster/storage) -"aDl" = ( +"aGF" = ( /obj/machinery/conveyor{ dir = 4; id = "cargoload" @@ -12403,7 +15301,7 @@ }, /turf/open/floor/plating, /area/quartermaster/storage) -"aDm" = ( +"aGG" = ( /obj/machinery/door/poddoor{ id = "cargoload"; name = "supply dock loading door" @@ -12414,7 +15312,7 @@ }, /turf/open/floor/plating, /area/shuttle/supply) -"aDn" = ( +"aGH" = ( /obj/machinery/hydroponics/constructable, /obj/machinery/light/small{ dir = 8 @@ -12427,7 +15325,7 @@ dir = 1 }, /area/security/prison) -"aDo" = ( +"aGI" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -12436,7 +15334,7 @@ dir = 1 }, /area/security/prison) -"aDp" = ( +"aGJ" = ( /obj/structure/sink/kitchen{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; name = "old sink"; @@ -12459,7 +15357,7 @@ dir = 1 }, /area/security/prison) -"aDq" = ( +"aGK" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -12470,7 +15368,7 @@ dir = 4 }, /area/security/prison) -"aDr" = ( +"aGL" = ( /obj/machinery/hydroponics/constructable, /obj/machinery/light/small{ dir = 4 @@ -12486,7 +15384,7 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plating, /area/security/prison) -"aDs" = ( +"aGM" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_y = 26 @@ -12497,7 +15395,7 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/fore) -"aDt" = ( +"aGN" = ( /obj/machinery/power/smes, /obj/structure/cable/white{ icon_state = "0-4" @@ -12510,7 +15408,7 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/fore) -"aDu" = ( +"aGO" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -12529,7 +15427,7 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/fore) -"aDv" = ( +"aGP" = ( /obj/machinery/disposal/bin, /obj/structure/sign/deathsposal{ pixel_y = 32 @@ -12539,15 +15437,14 @@ }, /turf/open/floor/plasteel/vault, /area/maintenance/disposal/incinerator) -"aDw" = ( +"aGQ" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault, /area/maintenance/disposal/incinerator) -"aDx" = ( +"aGR" = ( /obj/machinery/atmospherics/components/unary/tank/toxins, /obj/structure/sign/nosmoking_2{ pixel_y = 32 @@ -12555,7 +15452,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault, /area/maintenance/disposal/incinerator) -"aDy" = ( +"aGS" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/machinery/light{ dir = 1 @@ -12566,7 +15463,7 @@ /obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/plasteel/vault, /area/maintenance/disposal/incinerator) -"aDz" = ( +"aGT" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/structure/extinguisher_cabinet{ pixel_y = 32 @@ -12578,14 +15475,14 @@ }, /turf/open/floor/plasteel/vault, /area/maintenance/disposal/incinerator) -"aDA" = ( +"aGU" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 6 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault, /area/maintenance/disposal/incinerator) -"aDB" = ( +"aGV" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 10 }, @@ -12594,7 +15491,7 @@ }, /turf/open/floor/plasteel/vault, /area/maintenance/disposal/incinerator) -"aDC" = ( +"aGW" = ( /obj/machinery/power/smes{ charge = 1e+006 }, @@ -12606,7 +15503,7 @@ }, /turf/open/floor/plasteel/vault, /area/maintenance/disposal/incinerator) -"aDD" = ( +"aGX" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -12616,7 +15513,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aDE" = ( +"aGY" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "2-4" @@ -12627,7 +15524,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aDF" = ( +"aGZ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -12637,7 +15534,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aDG" = ( +"aHa" = ( /obj/machinery/status_display{ pixel_y = -32 }, @@ -12654,7 +15551,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aDH" = ( +"aHb" = ( /obj/machinery/firealarm{ dir = 1; pixel_y = -24 @@ -12668,7 +15565,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aDI" = ( +"aHc" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -12681,7 +15578,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aDJ" = ( +"aHd" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -12693,7 +15590,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmospherics_engine) -"aDK" = ( +"aHe" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -12703,7 +15600,7 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aDL" = ( +"aHf" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -12716,7 +15613,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aDM" = ( +"aHg" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -12728,7 +15625,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aDN" = ( +"aHh" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -12741,14 +15638,14 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aDO" = ( +"aHi" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aDP" = ( +"aHj" = ( /obj/effect/decal/cleanable/dirt, /obj/item/twohanded/required/kirbyplants/random, /obj/effect/turf_decal/stripes/line{ @@ -12756,12 +15653,16 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aDQ" = ( +"aHk" = ( +/obj/structure/sign/fire, +/turf/closed/wall/r_wall, +/area/engine/atmospherics_engine) +"aHl" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/barricade/wooden, /turf/open/floor/plating, /area/hydroponics/garden/abandoned) -"aDR" = ( +"aHm" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -12778,7 +15679,7 @@ }, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"aDS" = ( +"aHn" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -12796,7 +15697,13 @@ }, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) -"aDT" = ( +"aHo" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/barricade/wooden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/hydroponics/garden/abandoned) +"aHp" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -12805,7 +15712,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"aDU" = ( +"aHq" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/newscaster{ pixel_x = -32 @@ -12820,7 +15727,7 @@ dir = 1 }, /area/hallway/secondary/service) -"aDV" = ( +"aHr" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -12831,13 +15738,12 @@ dir = 8 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"aDW" = ( +"aHs" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -12860,7 +15766,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/bar) -"aDX" = ( +"aHt" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -12868,13 +15774,12 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/bar) -"aDY" = ( +"aHu" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -12883,33 +15788,40 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar) -"aDZ" = ( +"aHv" = ( /obj/effect/landmark/start/bartender, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar) -"aEa" = ( +"aHw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar) -"aEb" = ( +"aHx" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/black, /area/crew_quarters/bar) -"aEd" = ( +"aHy" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/sign/poster/random, +/turf/closed/wall, +/area/crew_quarters/bar) +"aHz" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/black, /area/crew_quarters/bar) -"aEe" = ( +"aHA" = ( /obj/effect/landmark/start/bartender, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -12918,36 +15830,36 @@ dir = 5 }, /area/crew_quarters/bar) -"aEf" = ( +"aHB" = ( /turf/open/floor/plasteel/black, /area/crew_quarters/bar) -"aEg" = ( +"aHC" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/bar) -"aEh" = ( +"aHD" = ( /obj/effect/landmark/start/bartender, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/bar) -"aEi" = ( +"aHE" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 26 }, /turf/open/floor/plasteel/black, /area/crew_quarters/bar) -"aEj" = ( +"aHF" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"aEk" = ( +"aHG" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/sorting) -"aEl" = ( +"aHH" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -12958,14 +15870,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/sorting) -"aEm" = ( +"aHI" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/quartermaster/sorting) -"aEn" = ( +"aHJ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line{ @@ -12973,7 +15885,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/sorting) -"aEo" = ( +"aHK" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/conveyor{ dir = 2; @@ -12981,26 +15893,28 @@ }, /turf/open/floor/plating, /area/quartermaster/sorting) -"aEp" = ( +"aHL" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/supply) -"aEq" = ( -/obj/machinery/computer/secure_data, +"aHM" = ( +/obj/machinery/computer/secure_data{ + dir = 4 + }, /turf/open/floor/plasteel/red/side{ dir = 6 }, /area/security/checkpoint/supply) -"aEr" = ( +"aHN" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/security/checkpoint/supply) -"aEs" = ( +"aHO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -13008,7 +15922,7 @@ dir = 4 }, /area/security/checkpoint/supply) -"aEt" = ( +"aHP" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ name = "Security Post - Cargo"; @@ -13025,19 +15939,18 @@ }, /turf/open/floor/plasteel, /area/security/checkpoint/supply) -"aEu" = ( +"aHQ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/red/side{ dir = 8 }, /area/quartermaster/storage) -"aEv" = ( +"aHR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -13046,7 +15959,7 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aEw" = ( +"aHS" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -13057,18 +15970,17 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aEx" = ( +"aHT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aEy" = ( +"aHU" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/conveyor_switch{ id = "cargoload" @@ -13077,7 +15989,7 @@ dir = 4 }, /area/quartermaster/storage) -"aEz" = ( +"aHV" = ( /obj/machinery/conveyor{ dir = 1; id = "cargoload" @@ -13085,7 +15997,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/quartermaster/storage) -"aEA" = ( +"aHW" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -13095,7 +16007,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/storage) -"aEB" = ( +"aHX" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -13103,36 +16015,36 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/storage) -"aEC" = ( +"aHY" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plasteel, /area/shuttle/supply) -"aED" = ( +"aHZ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/shuttle/supply) -"aEE" = ( +"aIa" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/shuttle/supply) -"aEF" = ( +"aIb" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/plasteel, /area/shuttle/supply) -"aEG" = ( +"aIc" = ( /obj/structure/cable/white{ icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/prison) -"aEH" = ( +"aId" = ( /obj/machinery/seed_extractor, /obj/structure/cable/white{ icon_state = "4-8" @@ -13140,14 +16052,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/security/prison) -"aEI" = ( +"aIe" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/neutral, /area/security/prison) -"aEJ" = ( +"aIf" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -13159,14 +16071,14 @@ }, /turf/open/floor/plasteel/neutral, /area/security/prison) -"aEK" = ( +"aIg" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/neutral, /area/security/prison) -"aEL" = ( +"aIh" = ( /obj/machinery/biogenerator, /obj/structure/cable/white{ icon_state = "4-8" @@ -13174,23 +16086,23 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/security/prison) -"aEM" = ( +"aIi" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/prison) -"aEN" = ( +"aIj" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/machinery/door/airlock/external{ cyclelinkeddir = 4; name = "External Solar Access"; - req_access_txt = "10"; + req_access_txt = "0"; req_one_access = null; - req_one_access_txt = "13; 24" + req_one_access_txt = "13; 24; 10" }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -13200,7 +16112,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/solars/port/fore) -"aEO" = ( +"aIk" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ icon_state = "4-8" @@ -13209,7 +16121,26 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/solars/port/fore) -"aEP" = ( +"aIl" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/external{ + cyclelinkeddir = 8; + name = "External Solar Access"; + req_access_txt = "0"; + req_one_access = null; + req_one_access_txt = "13; 24; 10" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/maintenance/solars/port/fore) +"aIm" = ( /obj/structure/cable{ icon_state = "2-8" }, @@ -13222,7 +16153,7 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/fore) -"aEQ" = ( +"aIn" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/power/terminal{ dir = 1 @@ -13233,7 +16164,7 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/maintenance/solars/port/fore) -"aER" = ( +"aIo" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -13249,7 +16180,7 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/fore) -"aES" = ( +"aIp" = ( /obj/machinery/door/firedoor, /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/atmos{ @@ -13272,13 +16203,16 @@ }, /turf/open/floor/plasteel, /area/maintenance/solars/port/fore) -"aET" = ( +"aIq" = ( /obj/effect/decal/cleanable/dirt, +/obj/structure/cable/white{ + icon_state = "2-8" + }, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/maintenance/disposal/incinerator) -"aEU" = ( +"aIr" = ( /obj/structure/cable{ icon_state = "2-4" }, @@ -13289,7 +16223,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) -"aEV" = ( +"aIs" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Gas to Turbine" }, @@ -13302,7 +16236,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) -"aEW" = ( +"aIt" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Gas to Turbine" }, @@ -13314,7 +16248,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) -"aEX" = ( +"aIu" = ( /obj/machinery/atmospherics/pipe/simple/general/visible, /obj/structure/cable{ icon_state = "4-8" @@ -13324,7 +16258,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) -"aEY" = ( +"aIv" = ( /obj/machinery/atmospherics/pipe/simple/general/visible, /obj/structure/cable{ icon_state = "4-8" @@ -13338,7 +16272,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) -"aEZ" = ( +"aIw" = ( /obj/machinery/power/terminal{ dir = 1 }, @@ -13351,7 +16285,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) -"aFa" = ( +"aIx" = ( /obj/machinery/light{ dir = 1 }, @@ -13370,7 +16304,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) -"aFb" = ( +"aIy" = ( /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -13384,7 +16318,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) -"aFc" = ( +"aIz" = ( /obj/machinery/door/firedoor, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -13404,16 +16338,12 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aFd" = ( -/obj/structure/sign/securearea, -/turf/closed/wall/r_wall, -/area/engine/atmospherics_engine) -"aFe" = ( +"aIA" = ( /obj/structure/sign/biohazard, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/engine/atmospherics_engine) -"aFf" = ( +"aIB" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -13432,12 +16362,12 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aFg" = ( +"aIC" = ( /obj/structure/sign/radiation, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, /area/engine/atmospherics_engine) -"aFh" = ( +"aID" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -13451,7 +16381,7 @@ /obj/effect/spawner/structure/window/plasma/reinforced, /turf/open/floor/plating, /area/engine/atmospherics_engine) -"aFi" = ( +"aIE" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -13473,7 +16403,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aFj" = ( +"aIF" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -13481,7 +16411,17 @@ /obj/effect/spawner/structure/window/plasma/reinforced, /turf/open/floor/plating, /area/engine/atmospherics_engine) -"aFk" = ( +"aIG" = ( +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/engine/atmospherics_engine) +"aIH" = ( +/turf/open/floor/plasteel/neutral/side{ + dir = 1 + }, +/area/maintenance/port/fore) +"aII" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -13489,7 +16429,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"aFl" = ( +"aIJ" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -13498,7 +16438,17 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aFm" = ( +"aIK" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aIL" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -13510,7 +16460,7 @@ dir = 1 }, /area/maintenance/port/fore) -"aFn" = ( +"aIM" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -13525,13 +16475,13 @@ dir = 5 }, /area/maintenance/port/fore) -"aFo" = ( +"aIN" = ( /obj/structure/table/wood, /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /turf/open/floor/wood, /area/hallway/secondary/service) -"aFp" = ( +"aIO" = ( /obj/structure/table/wood, /obj/structure/table/wood, /obj/item/folder, @@ -13541,7 +16491,7 @@ }, /turf/open/floor/wood, /area/hallway/secondary/service) -"aFq" = ( +"aIP" = ( /obj/structure/bed, /obj/machinery/status_display{ pixel_y = 32 @@ -13549,17 +16499,17 @@ /obj/item/bedsheet/orange, /turf/open/floor/wood, /area/hallway/secondary/service) -"aFr" = ( +"aIQ" = ( /obj/structure/dresser, /turf/open/floor/wood{ icon_state = "wood-broken6" }, /area/hallway/secondary/service) -"aFs" = ( +"aIR" = ( /obj/structure/closet/secure_closet/personal/cabinet, /turf/open/floor/wood, /area/hallway/secondary/service) -"aFt" = ( +"aIS" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_x = -26 @@ -13571,7 +16521,7 @@ dir = 1 }, /area/hallway/secondary/service) -"aFu" = ( +"aIT" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -13584,32 +16534,41 @@ }, /turf/open/floor/plasteel/loadingarea, /area/hallway/secondary/service) -"aFv" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, +"aIU" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, /area/crew_quarters/bar) -"aFw" = ( +"aIV" = ( /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar) -"aFx" = ( +"aIW" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar) -"aFy" = ( -/obj/structure/table/wood, -/obj/item/gun/ballistic/revolver/doublebarrel, +"aIX" = ( +/obj/machinery/chem_master/condimaster{ + name = "HoochMaster 2000" + }, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/bar) -"aFz" = ( +"aIY" = ( /obj/machinery/status_display, /turf/closed/wall, /area/crew_quarters/bar) -"aFA" = ( +"aIZ" = ( /obj/structure/table/reinforced, /obj/item/lighter{ pixel_x = 3; @@ -13623,11 +16582,11 @@ }, /turf/open/floor/plasteel/vault, /area/crew_quarters/bar) -"aFB" = ( +"aJa" = ( /obj/structure/table/reinforced, /turf/open/floor/plasteel/vault, /area/crew_quarters/bar) -"aFC" = ( +"aJb" = ( /obj/structure/table/reinforced, /obj/item/storage/box/matches{ pixel_x = -3; @@ -13635,11 +16594,11 @@ }, /turf/open/floor/plasteel/vault, /area/crew_quarters/bar) -"aFD" = ( +"aJc" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall, /area/crew_quarters/bar) -"aFE" = ( +"aJd" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -13652,7 +16611,7 @@ dir = 1 }, /area/hallway/primary/fore) -"aFF" = ( +"aJe" = ( /obj/effect/landmark/lightsout, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 @@ -13663,14 +16622,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"aFG" = ( +"aJf" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/pen, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/sorting) -"aFH" = ( +"aJg" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/conveyor_switch/oneway{ convdir = -1; @@ -13680,14 +16639,14 @@ }, /turf/open/floor/plasteel/loadingarea, /area/quartermaster/sorting) -"aFI" = ( +"aJh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, /turf/open/floor/plasteel/loadingarea, /area/quartermaster/sorting) -"aFJ" = ( +"aJi" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -13696,14 +16655,14 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/sorting) -"aFK" = ( +"aJj" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/quartermaster/sorting) -"aFL" = ( +"aJk" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/conveyor{ dir = 2; @@ -13712,7 +16671,7 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/quartermaster/sorting) -"aFM" = ( +"aJl" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -13723,14 +16682,16 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/supply) -"aFN" = ( -/obj/machinery/computer/security, +"aJm" = ( +/obj/machinery/computer/security{ + dir = 4 + }, /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/red, /area/security/checkpoint/supply) -"aFO" = ( +"aJn" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -13742,7 +16703,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/checkpoint/supply) -"aFP" = ( +"aJo" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -13750,43 +16711,43 @@ dir = 4 }, /area/security/checkpoint/supply) -"aFQ" = ( +"aJp" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/white{ icon_state = "0-8" }, /turf/open/floor/plating, /area/security/checkpoint/supply) -"aFR" = ( +"aJq" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/red/side{ dir = 8 }, /area/quartermaster/storage) -"aFS" = ( +"aJr" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aFT" = ( +"aJs" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aFU" = ( +"aJt" = ( /obj/effect/spawner/lootdrop/maintenance, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aFV" = ( +"aJu" = ( /obj/effect/landmark/start/cargo_technician, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aFW" = ( +"aJv" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate{ icon_state = "crateopen"; @@ -13799,16 +16760,16 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aFX" = ( +"aJw" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/shuttle/supply) -"aFY" = ( +"aJx" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/shuttle/supply) -"aFZ" = ( +"aJy" = ( /obj/machinery/hydroponics/constructable, /obj/item/seeds/glowshroom, /obj/effect/decal/cleanable/dirt, @@ -13816,7 +16777,7 @@ dir = 8 }, /area/security/prison) -"aGa" = ( +"aJz" = ( /obj/item/reagent_containers/glass/bucket, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -13824,28 +16785,29 @@ icon_state = "panelscorched" }, /area/security/prison) -"aGb" = ( +"aJA" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel, /area/security/prison) -"aGc" = ( +"aJB" = ( /obj/item/device/plant_analyzer, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/corner, /area/security/prison) -"aGd" = ( +"aJC" = ( /obj/machinery/hydroponics/constructable, /obj/item/seeds/ambrosia, /turf/open/floor/plating, /area/security/prison) -"aGe" = ( +"aJD" = ( /turf/closed/wall, /area/space) -"aGf" = ( +"aJE" = ( /obj/machinery/power/solar_control{ + dir = 4; id = "foreport"; name = "Port Bow Solar Control"; track = 0 @@ -13856,7 +16818,7 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/fore) -"aGg" = ( +"aJF" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -13867,7 +16829,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/maintenance/solars/port/fore) -"aGh" = ( +"aJG" = ( /obj/structure/cable/white, /obj/machinery/power/apc/highcap/ten_k{ dir = 2; @@ -13880,22 +16842,25 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/fore) -"aGi" = ( +"aJH" = ( /obj/structure/sign/electricshock, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, /area/maintenance/solars/port/fore) -"aGj" = ( +"aJI" = ( /obj/structure/rack, /obj/item/storage/toolbox/emergency, /obj/item/wrench, /obj/item/tank/internals/emergency_oxygen/engi, /obj/effect/decal/cleanable/dirt, +/obj/structure/cable/white{ + icon_state = "1-4" + }, /turf/open/floor/plasteel/caution{ dir = 9 }, /area/maintenance/disposal/incinerator) -"aGk" = ( +"aJJ" = ( /obj/structure/cable{ icon_state = "1-2" }, @@ -13903,32 +16868,38 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) -"aGl" = ( +"aJK" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 5 }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/neutral, /area/maintenance/disposal/incinerator) -"aGm" = ( +"aJL" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible, /obj/machinery/meter, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/maintenance/disposal/incinerator) -"aGn" = ( +"aJM" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible, /turf/open/floor/plasteel/neutral, /area/maintenance/disposal/incinerator) -"aGo" = ( +"aJN" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 9 }, /turf/open/floor/plasteel/neutral, /area/maintenance/disposal/incinerator) -"aGp" = ( +"aJO" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Mix to Turbine" }, @@ -13938,7 +16909,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/maintenance/disposal/incinerator) -"aGq" = ( +"aJP" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -13947,7 +16918,7 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/disposal/incinerator) -"aGr" = ( +"aJQ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -13963,7 +16934,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/maintenance/disposal/incinerator) -"aGs" = ( +"aJR" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -13974,7 +16945,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) -"aGt" = ( +"aJS" = ( /obj/machinery/door/firedoor, /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/atmos{ @@ -13995,7 +16966,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) -"aGu" = ( +"aJT" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -14008,7 +16979,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aGv" = ( +"aJU" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -14020,13 +16991,26 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aGw" = ( +"aJV" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/secure_closet/atmospherics, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aGy" = ( +"aJW" = ( +/obj/structure/closet/radiation, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera{ + c_tag = "Atmospherics - Engine Access"; + name = "atmospherics camera" + }, +/obj/effect/turf_decal/bot, +/obj/structure/sign/poster/official/cleanliness{ + pixel_x = -32 + }, +/turf/open/floor/plasteel, +/area/engine/atmospherics_engine) +"aJX" = ( /obj/machinery/shower{ dir = 4; name = "emergency shower" @@ -14040,7 +17024,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aGz" = ( +"aJY" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -14051,7 +17035,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aGA" = ( +"aJZ" = ( /obj/machinery/shower{ dir = 8; name = "emergency shower" @@ -14062,13 +17046,13 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aGB" = ( +"aKa" = ( /obj/structure/closet/radiation, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aGC" = ( +"aKb" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -14085,7 +17069,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aGD" = ( +"aKc" = ( /obj/structure/cable, /obj/machinery/power/terminal, /obj/structure/cable{ @@ -14094,10 +17078,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aGE" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 26 - }, +"aKd" = ( /obj/machinery/power/terminal, /obj/structure/cable{ icon_state = "0-8" @@ -14105,13 +17086,38 @@ /obj/effect/turf_decal/stripes/line{ dir = 6 }, +/obj/machinery/button/door{ + id = "atmos1storage"; + name = "Atmospherics Secure Storage Control"; + pixel_x = 24; + pixel_y = 24; + req_access_txt = "11" + }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aGF" = ( +"aKe" = ( +/obj/machinery/door/poddoor{ + id = "atmos1storage"; + name = "Atmospherics Secure Storage Lockdown" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmospherics_engine) +"aKf" = ( +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/engine/atmospherics_engine) +"aKg" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/maintenance/port/fore) -"aGG" = ( +"aKh" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance{ @@ -14120,19 +17126,23 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"aGH" = ( +"aKi" = ( /obj/structure/closet, /turf/open/floor/plating, /area/maintenance/port/fore) -"aGI" = ( +"aKj" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"aGJ" = ( +"aKk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/neutral/side, +/area/maintenance/port/fore) +"aKl" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"aGK" = ( +"aKm" = ( /obj/structure/table/wood, /obj/item/device/camera, /obj/machinery/newscaster{ @@ -14140,25 +17150,25 @@ }, /turf/open/floor/wood, /area/hallway/secondary/service) -"aGL" = ( +"aKn" = ( /obj/structure/chair/office/dark{ dir = 1 }, /turf/open/floor/wood, /area/hallway/secondary/service) -"aGM" = ( +"aKo" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/wood, /area/hallway/secondary/service) -"aGN" = ( +"aKp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/wood, /area/hallway/secondary/service) -"aGO" = ( +"aKq" = ( /obj/machinery/door/airlock{ id_tag = "AuxCabinB"; name = "Cabin B" @@ -14168,7 +17178,7 @@ }, /turf/open/floor/wood, /area/hallway/secondary/service) -"aGP" = ( +"aKr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -14177,7 +17187,7 @@ dir = 1 }, /area/hallway/secondary/service) -"aGQ" = ( +"aKs" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -14188,31 +17198,24 @@ dir = 4 }, /area/hallway/secondary/service) -"aGR" = ( -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/obj/machinery/newscaster{ - pixel_y = -32 - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, +"aKt" = ( +/obj/structure/sign/poster/contraband/random, +/turf/closed/wall, /area/crew_quarters/bar) -"aGS" = ( -/obj/machinery/chem_master/condimaster{ - name = "HoochMaster 2000" - }, +"aKu" = ( +/obj/structure/table/wood, +/obj/item/stack/packageWrap, +/obj/item/hand_labeler, +/turf/open/floor/plasteel/black, +/area/crew_quarters/bar) +"aKv" = ( +/obj/structure/table/wood, +/obj/item/gun/ballistic/revolver/doublebarrel, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/bar) -"aGT" = ( +"aKw" = ( /obj/structure/closet/gmcloset, /obj/item/wrench, /obj/item/stack/sheet/glass{ @@ -14226,42 +17229,31 @@ /obj/machinery/light, /turf/open/floor/plasteel/black, /area/crew_quarters/bar) -"aGU" = ( +"aKx" = ( /obj/structure/table/wood, /obj/machinery/reagentgrinder{ desc = "Used to grind things up into raw materials and liquids."; pixel_y = 5 }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/bar) -"aGV" = ( -/obj/structure/table/wood, -/obj/item/stack/packageWrap, -/obj/item/hand_labeler, /turf/open/floor/plasteel/black, /area/crew_quarters/bar) -"aGW" = ( +"aKy" = ( /obj/structure/chair/stool/bar, /obj/machinery/newscaster{ pixel_x = -32 }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aGX" = ( +"aKz" = ( /obj/structure/chair/stool/bar, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aGY" = ( -/turf/open/floor/plasteel/redyellow, -/area/crew_quarters/bar/atrium) -"aGZ" = ( +"aKA" = ( /obj/structure/chair/stool/bar, /obj/effect/landmark/start/assistant, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aHa" = ( +"aKB" = ( /obj/structure/chair/stool/bar, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -14269,10 +17261,10 @@ }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aHb" = ( +"aKC" = ( /turf/closed/wall, /area/crew_quarters/bar/atrium) -"aHc" = ( +"aKD" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/item/folder/yellow, @@ -14285,7 +17277,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/sorting) -"aHd" = ( +"aKE" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -14294,7 +17286,7 @@ dir = 9 }, /area/quartermaster/sorting) -"aHe" = ( +"aKF" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, @@ -14302,7 +17294,7 @@ dir = 1 }, /area/quartermaster/sorting) -"aHf" = ( +"aKG" = ( /obj/effect/landmark/lightsout, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -14312,7 +17304,7 @@ dir = 1 }, /area/quartermaster/sorting) -"aHg" = ( +"aKH" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -14323,7 +17315,7 @@ dir = 5 }, /area/quartermaster/sorting) -"aHh" = ( +"aKI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 @@ -14338,18 +17330,20 @@ }, /turf/open/floor/plasteel, /area/quartermaster/sorting) -"aHi" = ( +"aKJ" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/supply) -"aHj" = ( -/obj/machinery/computer/cargo, +"aKK" = ( +/obj/machinery/computer/cargo{ + dir = 4 + }, /turf/open/floor/plasteel/red/side{ dir = 5 }, /area/security/checkpoint/supply) -"aHk" = ( +"aKL" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -14359,7 +17353,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/checkpoint/supply) -"aHl" = ( +"aKM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -14367,7 +17361,7 @@ dir = 4 }, /area/security/checkpoint/supply) -"aHm" = ( +"aKN" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/machinery/door/window/brigdoor/southright{ @@ -14386,7 +17380,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/security/checkpoint/supply) -"aHn" = ( +"aKO" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -14395,33 +17389,33 @@ dir = 8 }, /area/quartermaster/storage) -"aHo" = ( +"aKP" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aHp" = ( +"aKQ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aHq" = ( +"aKR" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aHr" = ( +"aKS" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aHs" = ( +"aKT" = ( /obj/structure/window/reinforced{ dir = 1 }, @@ -14429,7 +17423,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/shuttle/supply) -"aHt" = ( +"aKU" = ( /obj/structure/window/reinforced{ dir = 1 }, @@ -14438,10 +17432,10 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/shuttle/supply) -"aHu" = ( +"aKV" = ( /turf/closed/wall, /area/security/prison) -"aHv" = ( +"aKW" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -14452,7 +17446,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/security/prison) -"aHw" = ( +"aKX" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -14467,7 +17461,7 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"aHx" = ( +"aKY" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -14478,10 +17472,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/security/prison) -"aHy" = ( +"aKZ" = ( /turf/closed/wall/r_wall, /area/security/execution/education) -"aHz" = ( +"aLa" = ( /obj/machinery/door/poddoor{ id = "justiceblast"; name = "Justice Blast door" @@ -14494,12 +17488,16 @@ }, /turf/open/floor/plasteel/black, /area/security/execution/education) -"aHA" = ( +"aLb" = ( /obj/structure/lattice/catwalk, /obj/item/wrench, /turf/open/space, /area/space) -"aHB" = ( +"aLc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall, +/area/maintenance/disposal/incinerator) +"aLd" = ( /obj/machinery/status_display{ pixel_x = -32 }, @@ -14512,7 +17510,7 @@ dir = 8 }, /area/maintenance/disposal/incinerator) -"aHC" = ( +"aLe" = ( /obj/structure/cable{ icon_state = "1-2" }, @@ -14523,26 +17521,26 @@ }, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) -"aHD" = ( +"aLf" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 6 }, /turf/open/floor/plasteel/caution/corner, /area/maintenance/disposal/incinerator) -"aHE" = ( +"aLg" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 4 }, /turf/open/floor/plasteel/caution, /area/maintenance/disposal/incinerator) -"aHF" = ( +"aLh" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 4 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/caution, /area/maintenance/disposal/incinerator) -"aHG" = ( +"aLi" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 4 }, @@ -14550,32 +17548,32 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) -"aHH" = ( +"aLj" = ( /obj/machinery/meter, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/general/visible, /turf/open/floor/plasteel/caution, /area/maintenance/disposal/incinerator) -"aHI" = ( +"aLk" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8; name = "Port to Turbine" }, /turf/open/floor/plasteel/caution, /area/maintenance/disposal/incinerator) -"aHJ" = ( +"aLl" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 10 }, /turf/open/floor/plasteel/caution, /area/maintenance/disposal/incinerator) -"aHK" = ( +"aLm" = ( /obj/structure/reagent_dispensers/watertank, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) -"aHL" = ( +"aLn" = ( /obj/structure/sign/vacuum{ pixel_x = -32 }, @@ -14592,7 +17590,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aHM" = ( +"aLo" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 @@ -14602,7 +17600,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aHN" = ( +"aLp" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 26 }, @@ -14610,7 +17608,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aHO" = ( +"aLq" = ( /obj/structure/closet/radiation, /obj/effect/decal/cleanable/dirt, /obj/structure/extinguisher_cabinet{ @@ -14619,7 +17617,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aHP" = ( +"aLr" = ( /obj/machinery/shower{ dir = 4; name = "emergency shower" @@ -14631,7 +17629,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aHQ" = ( +"aLs" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -14641,7 +17639,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aHR" = ( +"aLt" = ( /obj/machinery/shower{ dir = 8; name = "emergency shower" @@ -14656,7 +17654,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aHS" = ( +"aLu" = ( /obj/structure/closet/radiation, /obj/effect/decal/cleanable/dirt, /obj/machinery/firealarm{ @@ -14670,11 +17668,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmospherics_engine) -"aHT" = ( +"aLv" = ( /obj/structure/cable/white{ icon_state = "1-4" }, /obj/machinery/computer/monitor{ + dir = 1; name = "Engineering Power Monitoring Console" }, /obj/structure/cable/white, @@ -14683,7 +17682,7 @@ }, /turf/open/floor/plasteel/vault, /area/engine/atmospherics_engine) -"aHU" = ( +"aLw" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -14696,7 +17695,7 @@ }, /turf/open/floor/circuit/green, /area/engine/atmospherics_engine) -"aHV" = ( +"aLx" = ( /obj/structure/sign/nosmoking_2{ pixel_x = 32 }, @@ -14712,10 +17711,19 @@ }, /turf/open/floor/plasteel/vault, /area/engine/atmospherics_engine) -"aHW" = ( +"aLy" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/turf/open/floor/plasteel, +/area/engine/atmospherics_engine) +"aLz" = ( /turf/closed/wall, -/area/crew_quarters/abandoned_gambling_den) -"aHX" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aLA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall, +/area/crew_quarters/abandoned_gambling_den/secondary) +"aLB" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -14725,7 +17733,7 @@ dir = 4 }, /area/maintenance/port/fore) -"aHY" = ( +"aLC" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/machinery/button/door{ @@ -14739,13 +17747,13 @@ }, /turf/open/floor/wood, /area/hallway/secondary/service) -"aHZ" = ( +"aLD" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/wood, /area/hallway/secondary/service) -"aIa" = ( +"aLE" = ( /obj/machinery/light, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -14753,7 +17761,7 @@ /obj/structure/closet/wardrobe/mixed, /turf/open/floor/wood, /area/hallway/secondary/service) -"aIb" = ( +"aLF" = ( /obj/structure/table/wood, /obj/item/storage/briefcase, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -14761,14 +17769,14 @@ }, /turf/open/floor/wood, /area/hallway/secondary/service) -"aIc" = ( +"aLG" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/wood, /area/hallway/secondary/service) -"aId" = ( +"aLH" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -26 }, @@ -14779,7 +17787,7 @@ dir = 1 }, /area/hallway/secondary/service) -"aIe" = ( +"aLI" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -14792,7 +17800,17 @@ dir = 4 }, /area/hallway/secondary/service) -"aIf" = ( +"aLJ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock{ + name = "Bar Backroom"; + req_access_txt = "25" + }, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/crew_quarters/bar) +"aLK" = ( /obj/machinery/light{ dir = 8 }, @@ -14801,7 +17819,10 @@ }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aIg" = ( +"aLL" = ( +/turf/open/floor/plasteel/redyellow, +/area/crew_quarters/bar/atrium) +"aLM" = ( /obj/machinery/airalarm{ dir = 8; pixel_x = 24 @@ -14811,25 +17832,25 @@ }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aIh" = ( +"aLN" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/loadingarea, /area/hallway/primary/fore) -"aIi" = ( +"aLO" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/brown{ dir = 8 }, /area/quartermaster/sorting) -"aIj" = ( +"aLP" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral, /area/quartermaster/sorting) -"aIk" = ( +"aLQ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/quartermaster/sorting) -"aIl" = ( +"aLR" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -14838,7 +17859,7 @@ dir = 4 }, /area/quartermaster/sorting) -"aIm" = ( +"aLS" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -14852,7 +17873,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/sorting) -"aIn" = ( +"aLT" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -14872,7 +17893,7 @@ dir = 10 }, /area/security/checkpoint/supply) -"aIo" = ( +"aLU" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -14884,7 +17905,7 @@ }, /turf/open/floor/plasteel/red/side, /area/security/checkpoint/supply) -"aIp" = ( +"aLV" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/airalarm{ dir = 8; @@ -14902,20 +17923,20 @@ dir = 6 }, /area/security/checkpoint/supply) -"aIq" = ( +"aLW" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/red/corner{ dir = 1 }, /area/quartermaster/storage) -"aIr" = ( +"aLX" = ( /obj/effect/spawner/lootdrop/maintenance, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aIs" = ( +"aLY" = ( /obj/machinery/conveyor{ dir = 1; id = "cargoload" @@ -14926,22 +17947,22 @@ }, /turf/open/floor/plating, /area/quartermaster/storage) -"aIt" = ( +"aLZ" = ( /obj/structure/shuttle/engine/propulsion/burst/left, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/shuttle/supply) -"aIu" = ( +"aMa" = ( /obj/structure/shuttle/engine/propulsion, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/shuttle/supply) -"aIv" = ( +"aMb" = ( /obj/structure/shuttle/engine/propulsion/burst/right, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/shuttle/supply) -"aIw" = ( +"aMc" = ( /obj/machinery/shower{ dir = 4 }, @@ -14949,7 +17970,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/floorgrime, /area/security/prison) -"aIx" = ( +"aMd" = ( /obj/structure/table, /obj/item/storage/crayons, /obj/item/storage/crayons, @@ -14961,7 +17982,7 @@ icon_state = "platingdmg2" }, /area/security/prison) -"aIy" = ( +"aMe" = ( /obj/structure/table, /obj/machinery/computer/libraryconsole/bookmanagement, /obj/structure/cable/white{ @@ -14969,7 +17990,7 @@ }, /turf/open/floor/plating, /area/security/prison) -"aIz" = ( +"aMf" = ( /obj/structure/easel, /obj/structure/cable/white{ icon_state = "4-8" @@ -14981,11 +18002,13 @@ /obj/machinery/light/small{ dir = 1 }, +/obj/item/canvas/twentythreeXtwentythree, +/obj/item/canvas/twentythreeXtwentythree, /turf/open/floor/plasteel/red/corner{ dir = 1 }, /area/security/prison) -"aIA" = ( +"aMg" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -14994,7 +18017,7 @@ dir = 1 }, /area/security/prison) -"aIB" = ( +"aMh" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -15004,7 +18027,7 @@ dir = 1 }, /area/security/prison) -"aIC" = ( +"aMi" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -15018,7 +18041,7 @@ dir = 1 }, /area/security/prison) -"aID" = ( +"aMj" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -15028,7 +18051,7 @@ dir = 4 }, /area/security/prison) -"aIE" = ( +"aMk" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -15037,7 +18060,7 @@ dir = 1 }, /area/security/prison) -"aIF" = ( +"aMl" = ( /obj/structure/table, /obj/structure/cable/white{ icon_state = "4-8" @@ -15050,7 +18073,7 @@ dir = 4 }, /area/security/prison) -"aIG" = ( +"aMm" = ( /obj/structure/table, /obj/item/clipboard, /obj/structure/cable/white{ @@ -15064,7 +18087,7 @@ dir = 1 }, /area/security/prison) -"aIH" = ( +"aMn" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -15076,7 +18099,7 @@ dir = 4 }, /area/security/prison) -"aII" = ( +"aMo" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -15086,7 +18109,7 @@ dir = 1 }, /area/security/prison) -"aIJ" = ( +"aMp" = ( /obj/machinery/light/small{ dir = 4 }, @@ -15096,7 +18119,7 @@ icon_state = "platingdmg3" }, /area/security/prison) -"aIK" = ( +"aMq" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ dir = 8 @@ -15108,12 +18131,12 @@ dir = 8 }, /area/security/execution/education) -"aIL" = ( +"aMr" = ( /turf/open/floor/plasteel/vault{ dir = 8 }, /area/security/execution/education) -"aIM" = ( +"aMs" = ( /obj/machinery/light/small{ dir = 4 }, @@ -15127,23 +18150,23 @@ dir = 8 }, /area/security/execution/education) -"aIN" = ( +"aMt" = ( /obj/structure/sign/fire, /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) -"aIO" = ( +"aMu" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/engine/vacuum, /area/maintenance/disposal/incinerator) -"aIP" = ( +"aMv" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 4 }, /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) -"aIQ" = ( +"aMw" = ( /obj/machinery/doorButtons/access_button{ idDoor = "incinerator_airlock_exterior"; idSelf = "incinerator_access_control"; @@ -15168,14 +18191,21 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine, /area/maintenance/disposal/incinerator) -"aIR" = ( +"aMx" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall, +/area/maintenance/disposal/incinerator) +"aMy" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/caution{ dir = 10 }, /area/maintenance/disposal/incinerator) -"aIS" = ( +"aMz" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 10 }, @@ -15188,23 +18218,23 @@ }, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) -"aIT" = ( +"aMA" = ( /obj/machinery/atmospherics/pipe/simple/general/visible, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/caution{ dir = 4 }, /area/maintenance/disposal/incinerator) -"aIU" = ( +"aMB" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/engine/atmos) -"aIV" = ( +"aMC" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/engine/atmos) -"aIW" = ( +"aMD" = ( /obj/machinery/door/airlock/atmos{ name = "Turbine Generator Access"; req_access_txt = "24" @@ -15217,19 +18247,19 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aIX" = ( +"aME" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/general/visible, /turf/open/floor/plating, /area/engine/atmos) -"aIY" = ( +"aMF" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, /area/engine/atmos) -"aIZ" = ( +"aMG" = ( /turf/closed/wall/r_wall, /area/engine/atmos) -"aJa" = ( +"aMH" = ( /obj/machinery/door/firedoor, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -15245,12 +18275,12 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aJb" = ( +"aMI" = ( /obj/structure/sign/radiation, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/engine/atmos) -"aJc" = ( +"aMJ" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -15268,83 +18298,93 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aJd" = ( +"aMK" = ( /obj/structure/sign/fire, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, /area/engine/atmos) -"aJe" = ( +"aML" = ( /obj/structure/sign/electricshock, /turf/closed/wall/r_wall, /area/engine/atmos) -"aJf" = ( +"aMM" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/simple/orange/visible{ dir = 5 }, /turf/open/space, /area/space) -"aJg" = ( +"aMN" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/simple/orange/visible{ dir = 4 }, /turf/open/space, /area/space) -"aJh" = ( +"aMO" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/orange/visible{ dir = 4 }, /turf/open/space, /area/space) -"aJj" = ( +"aMP" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 10 + }, +/turf/open/space, +/area/space) +"aMQ" = ( /obj/structure/table/wood, /obj/item/clothing/glasses/sunglasses, /turf/open/floor/plasteel/grimy, -/area/crew_quarters/abandoned_gambling_den) -"aJk" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aMR" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/grimy, -/area/crew_quarters/abandoned_gambling_den) -"aJl" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aMS" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, /turf/open/floor/plasteel/grimy, -/area/crew_quarters/abandoned_gambling_den) -"aJm" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aMT" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm{ + pixel_y = 23 + }, /turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"aJn" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aMU" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/machinery/power/apc{ + areastring = "/area/crew_quarters/abandoned_gambling_den/secondary"; dir = 1; name = "Abandoned Gambling Den APC"; - areastring = "/area/crew_quarters/abandoned_gambling_den"; pixel_y = 24 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood{ icon_state = "wood-broken7" }, -/area/crew_quarters/abandoned_gambling_den) -"aJo" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aMV" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"aJp" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aMW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/crew_quarters/theatre) -"aJq" = ( +"aMX" = ( /turf/closed/wall, /area/crew_quarters/theatre) -"aJr" = ( +"aMY" = ( /obj/structure/sign/nosmoking_2{ pixel_x = -32 }, @@ -15353,16 +18393,17 @@ dir = 1 }, /area/hallway/secondary/service) -"aJs" = ( +"aMZ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/hallway/secondary/service) -"aJt" = ( +"aNa" = ( /obj/structure/table/wood, /obj/machinery/status_display{ pixel_x = -32 @@ -15376,7 +18417,17 @@ dir = 5 }, /area/crew_quarters/bar/atrium) -"aJv" = ( +"aNb" = ( +/obj/structure/table/wood, +/obj/item/soap/nanotrasen, +/obj/structure/sign/poster/random{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/crew_quarters/bar/atrium) +"aNc" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -15396,35 +18447,44 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar/atrium) -"aJx" = ( +"aNd" = ( +/turf/open/floor/plasteel/grimy, +/area/crew_quarters/bar/atrium) +"aNe" = ( /obj/structure/window/reinforced{ dir = 4 }, /obj/machinery/status_display{ pixel_y = 32 }, -/obj/item/twohanded/required/kirbyplants/random, +/obj/structure/easel, +/obj/item/canvas/twentythreeXtwentythree, +/obj/item/canvas/twentythreeXtwentythree, /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar/atrium) -"aJy" = ( +"aNf" = ( /obj/machinery/vending/cigarette, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/bar/atrium) -"aJz" = ( +"aNg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aJA" = ( +"aNh" = ( /obj/structure/chair/stool, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aJB" = ( +"aNi" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/redyellow, +/area/crew_quarters/bar/atrium) +"aNj" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/crew_quarters/bar/atrium) -"aJC" = ( +"aNk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -15434,7 +18494,7 @@ dir = 4 }, /area/hallway/primary/fore) -"aJD" = ( +"aNl" = ( /obj/structure/filingcabinet/filingcabinet, /obj/machinery/light{ dir = 8 @@ -15443,21 +18503,21 @@ dir = 8 }, /area/quartermaster/sorting) -"aJE" = ( +"aNm" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/quartermaster/sorting) -"aJF" = ( +"aNn" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/sorting) -"aJG" = ( +"aNo" = ( /obj/machinery/status_display, /turf/closed/wall, /area/quartermaster/sorting) -"aJH" = ( +"aNp" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/conveyor{ dir = 2; @@ -15466,14 +18526,14 @@ /obj/structure/plasticflaps, /turf/open/floor/plating, /area/quartermaster/sorting) -"aJI" = ( +"aNq" = ( /obj/structure/cable/white{ icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/supply) -"aJJ" = ( +"aNr" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -15490,14 +18550,14 @@ }, /turf/open/floor/plasteel/red, /area/security/checkpoint/supply) -"aJK" = ( +"aNs" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/supply) -"aJL" = ( +"aNt" = ( /obj/machinery/light{ dir = 8 }, @@ -15511,18 +18571,22 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aJM" = ( +"aNu" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aJN" = ( +"aNv" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/quartermaster/storage) +"aNw" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/loadingarea{ dir = 1 }, /area/quartermaster/storage) -"aJO" = ( +"aNx" = ( /obj/structure/toilet{ dir = 4 }, @@ -15537,13 +18601,25 @@ icon_state = "platingdmg3" }, /area/security/prison) -"aJQ" = ( +"aNy" = ( +/obj/machinery/door/airlock{ + name = "Bathroom" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/sign/poster/official/cleanliness{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/floorgrime, +/area/security/prison) +"aNz" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/security/prison) -"aJR" = ( +"aNA" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -15552,13 +18628,13 @@ /mob/living/simple_animal/mouse, /turf/open/floor/plasteel/neutral, /area/security/prison) -"aJS" = ( +"aNB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/security/prison) -"aJT" = ( +"aNC" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -15566,7 +18642,7 @@ icon_state = "platingdmg1" }, /area/security/prison) -"aJU" = ( +"aND" = ( /obj/structure/table, /obj/item/storage/pill_bottle/dice, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -15577,7 +18653,7 @@ icon_state = "platingdmg3" }, /area/security/prison) -"aJV" = ( +"aNE" = ( /obj/structure/table, /obj/structure/cable/white{ icon_state = "1-2" @@ -15590,12 +18666,12 @@ }, /turf/open/floor/plasteel/neutral, /area/security/prison) -"aJW" = ( +"aNF" = ( /obj/structure/chair/stool, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/neutral, /area/security/prison) -"aJX" = ( +"aNG" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -15604,13 +18680,13 @@ icon_state = "platingdmg3" }, /area/security/prison) -"aJY" = ( +"aNH" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/security/prison) -"aJZ" = ( +"aNI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -15619,12 +18695,12 @@ dir = 4 }, /area/security/prison) -"aKa" = ( +"aNJ" = ( /turf/open/floor/plating{ icon_state = "platingdmg3" }, /area/security/prison) -"aKb" = ( +"aNK" = ( /obj/machinery/airalarm{ dir = 8; pixel_x = 24 @@ -15632,7 +18708,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/security/prison) -"aKc" = ( +"aNL" = ( /obj/machinery/sparker{ dir = 1; id = "justicespark"; @@ -15643,14 +18719,14 @@ dir = 1 }, /area/security/execution/education) -"aKd" = ( +"aNM" = ( /obj/structure/chair, /obj/effect/decal/cleanable/blood/splatter, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/security/execution/education) -"aKe" = ( +"aNN" = ( /obj/machinery/flasher{ id = "justiceflash"; pixel_x = 26; @@ -15661,14 +18737,14 @@ dir = 4 }, /area/security/execution/education) -"aKf" = ( +"aNO" = ( /obj/machinery/door/poddoor{ id = "turbinevent"; name = "Turbine Vent" }, /turf/open/floor/engine/vacuum, /area/maintenance/disposal/incinerator) -"aKg" = ( +"aNP" = ( /obj/machinery/power/turbine{ icon_state = "turbine"; dir = 8; @@ -15682,7 +18758,7 @@ }, /turf/open/floor/engine/vacuum, /area/maintenance/disposal/incinerator) -"aKh" = ( +"aNQ" = ( /obj/machinery/power/compressor{ icon_state = "compressor"; dir = 4; @@ -15698,7 +18774,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/vacuum, /area/maintenance/disposal/incinerator) -"aKi" = ( +"aNR" = ( /obj/machinery/igniter{ icon_state = "igniter0"; id = "Incinerator"; @@ -15710,7 +18786,7 @@ }, /turf/open/floor/engine/vacuum, /area/maintenance/disposal/incinerator) -"aKj" = ( +"aNS" = ( /obj/machinery/door/airlock/glass{ autoclose = 0; frequency = 1449; @@ -15727,7 +18803,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine, /area/maintenance/disposal/incinerator) -"aKk" = ( +"aNT" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, @@ -15737,7 +18813,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine, /area/maintenance/disposal/incinerator) -"aKl" = ( +"aNU" = ( /obj/machinery/door/airlock/glass{ autoclose = 0; frequency = 1449; @@ -15754,7 +18830,7 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/engine, /area/maintenance/disposal/incinerator) -"aKm" = ( +"aNV" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -15765,7 +18841,7 @@ dir = 8 }, /area/maintenance/disposal/incinerator) -"aKn" = ( +"aNW" = ( /obj/structure/cable{ icon_state = "1-8" }, @@ -15779,7 +18855,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) -"aKo" = ( +"aNX" = ( /obj/machinery/atmospherics/pipe/simple/general/visible, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -15787,20 +18863,27 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) -"aKp" = ( +"aNY" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/atmos) +"aNZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/vault, /area/engine/atmos) -"aKq" = ( +"aOa" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/vault, /area/engine/atmos) -"aKr" = ( +"aOb" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/general/visible, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -15808,7 +18891,7 @@ }, /turf/open/floor/plasteel/vault, /area/engine/atmos) -"aKs" = ( +"aOc" = ( /obj/machinery/light{ dir = 1 }, @@ -15820,7 +18903,7 @@ }, /turf/open/floor/plasteel/vault, /area/engine/atmos) -"aKt" = ( +"aOd" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_y = 26 @@ -15830,7 +18913,7 @@ }, /turf/open/floor/plasteel/vault, /area/engine/atmos) -"aKu" = ( +"aOe" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, @@ -15838,14 +18921,14 @@ dir = 10 }, /area/engine/atmos) -"aKv" = ( +"aOf" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/atmos) -"aKw" = ( +"aOg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, @@ -15853,7 +18936,7 @@ dir = 6 }, /area/engine/atmos) -"aKx" = ( +"aOh" = ( /obj/machinery/status_display{ pixel_y = 32 }, @@ -15865,13 +18948,13 @@ }, /turf/open/floor/plasteel/vault, /area/engine/atmos) -"aKy" = ( +"aOi" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, /turf/open/floor/plasteel/vault, /area/engine/atmos) -"aKz" = ( +"aOj" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, @@ -15880,7 +18963,7 @@ dir = 10 }, /area/engine/atmos) -"aKA" = ( +"aOk" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -15890,7 +18973,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/atmos) -"aKB" = ( +"aOl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, @@ -15899,7 +18982,7 @@ dir = 6 }, /area/engine/atmos) -"aKC" = ( +"aOm" = ( /obj/machinery/light{ dir = 1 }, @@ -15908,38 +18991,41 @@ }, /turf/open/floor/plasteel/vault, /area/engine/atmos) -"aKD" = ( +"aOn" = ( /turf/open/floor/plasteel/vault, /area/engine/atmos) -"aKE" = ( +"aOo" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/vault, /area/engine/atmos) -"aKF" = ( +"aOp" = ( /obj/machinery/light/small{ dir = 8 }, /turf/open/floor/plasteel/grimy, -/area/crew_quarters/abandoned_gambling_den) -"aKG" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aOq" = ( /obj/structure/chair/office/dark{ dir = 4 }, /turf/open/floor/plasteel/grimy, -/area/crew_quarters/abandoned_gambling_den) -"aKH" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aOr" = ( /obj/structure/table/wood, /obj/item/clipboard, /obj/item/folder/red, /turf/open/floor/plasteel/grimy, -/area/crew_quarters/abandoned_gambling_den) -"aKI" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aOs" = ( /obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, /turf/open/floor/wood{ icon_state = "wood-broken" }, -/area/crew_quarters/abandoned_gambling_den) -"aKJ" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aOt" = ( /obj/structure/chair/stool/bar, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, @@ -15950,8 +19036,20 @@ dir = 4 }, /turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"aKL" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aOu" = ( +/obj/machinery/computer/slot_machine, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken2" + }, +/area/crew_quarters/abandoned_gambling_den/secondary) +"aOv" = ( /obj/structure/dresser, /obj/machinery/newscaster{ pixel_y = 32 @@ -15961,7 +19059,18 @@ }, /turf/open/floor/plasteel/redblue, /area/crew_quarters/theatre) -"aKN" = ( +"aOw" = ( +/obj/structure/table/wood, +/obj/item/device/instrument/eguitar, +/obj/item/toy/crayon/spraycan/lubecan{ + charges = 5 + }, +/obj/structure/sign/poster/contraband/clown{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/redblue, +/area/crew_quarters/theatre) +"aOx" = ( /obj/machinery/vending/autodrobe, /obj/structure/cable/white{ icon_state = "0-2" @@ -15977,7 +19086,14 @@ }, /turf/open/floor/plasteel/redblue, /area/crew_quarters/theatre) -"aKP" = ( +"aOy" = ( +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/obj/structure/closet/crate/wooden/toy, +/turf/open/floor/plasteel/redblue, +/area/crew_quarters/theatre) +"aOz" = ( /obj/structure/table/wood, /obj/structure/extinguisher_cabinet{ pixel_x = 26 @@ -15995,57 +19111,67 @@ /obj/item/clipboard, /turf/open/floor/plasteel/redblue, /area/crew_quarters/theatre) -"aKQ" = ( +"aOA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/corner{ dir = 1 }, /area/hallway/secondary/service) -"aKS" = ( +"aOB" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/neutral/corner{ + dir = 4 + }, +/area/hallway/secondary/service) +"aOC" = ( +/obj/structure/sign/poster/random, +/turf/closed/wall, +/area/crew_quarters/bar/atrium) +"aOD" = ( /obj/structure/table/wood, /obj/item/device/instrument/guitar, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/bar/atrium) -"aKT" = ( -/turf/open/floor/plasteel/grimy, -/area/crew_quarters/bar/atrium) -"aKU" = ( +"aOE" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/carpet, /area/crew_quarters/bar/atrium) -"aKV" = ( +"aOF" = ( /turf/open/floor/carpet, /area/crew_quarters/bar/atrium) -"aKW" = ( +"aOG" = ( /obj/structure/window/reinforced{ dir = 4 }, /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar/atrium) -"aKX" = ( +"aOH" = ( /obj/structure/table/wood, /obj/item/clothing/head/fedora, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/bar/atrium) -"aKY" = ( +"aOI" = ( /obj/structure/chair/stool, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aKZ" = ( +"aOJ" = ( /obj/structure/table/wood, /obj/item/storage/pill_bottle/dice, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aLa" = ( +"aOK" = ( /obj/item/reagent_containers/food/condiment/saltshaker{ pixel_x = -8; pixel_y = 5 @@ -16056,12 +19182,12 @@ /obj/structure/table/wood, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aLb" = ( +"aOL" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/soda_cans/cola, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aLc" = ( +"aOM" = ( /obj/structure/table, /obj/structure/cable/white{ icon_state = "0-4" @@ -16082,7 +19208,7 @@ dir = 8 }, /area/quartermaster/sorting) -"aLd" = ( +"aON" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -16092,7 +19218,7 @@ /obj/effect/landmark/start/cargo_technician, /turf/open/floor/plasteel/neutral, /area/quartermaster/sorting) -"aLe" = ( +"aOO" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -16104,7 +19230,7 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/sorting) -"aLf" = ( +"aOP" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -16116,13 +19242,13 @@ dir = 4 }, /area/quartermaster/sorting) -"aLg" = ( +"aOQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/plasticflaps, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/sorting) -"aLh" = ( +"aOR" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -16132,7 +19258,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/supply) -"aLi" = ( +"aOS" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -16144,7 +19270,7 @@ dir = 9 }, /area/security/checkpoint/supply) -"aLj" = ( +"aOT" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -16155,7 +19281,7 @@ dir = 1 }, /area/security/checkpoint/supply) -"aLk" = ( +"aOU" = ( /obj/structure/chair{ dir = 8 }, @@ -16163,50 +19289,50 @@ dir = 5 }, /area/security/checkpoint/supply) -"aLl" = ( +"aOV" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aLm" = ( +"aOW" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aLn" = ( +"aOX" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aLo" = ( +"aOY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aLp" = ( +"aOZ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aLq" = ( +"aPa" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aLr" = ( +"aPb" = ( /obj/structure/cable/white{ icon_state = "2-4" }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aLs" = ( +"aPc" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -16219,7 +19345,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aLt" = ( +"aPd" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -16228,7 +19354,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aLu" = ( +"aPe" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -16236,14 +19362,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aLv" = ( +"aPf" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aLw" = ( +"aPg" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/white{ @@ -16251,7 +19377,7 @@ }, /turf/open/floor/plating, /area/quartermaster/storage) -"aLx" = ( +"aPh" = ( /obj/structure/table, /obj/item/book/manual/chef_recipes, /obj/item/storage/box/donkpockets, @@ -16260,20 +19386,20 @@ dir = 8 }, /area/security/prison) -"aLy" = ( +"aPi" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/security/prison) -"aLz" = ( +"aPj" = ( /obj/effect/decal/cleanable/blood/old, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plating, /area/security/prison) -"aLA" = ( +"aPk" = ( /obj/structure/chair/stool, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -16281,7 +19407,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/prison) -"aLB" = ( +"aPl" = ( /obj/structure/table, /obj/item/reagent_containers/food/snacks/deadmouse{ pixel_y = 5 @@ -16291,7 +19417,7 @@ }, /turf/open/floor/plating, /area/security/prison) -"aLC" = ( +"aPm" = ( /obj/structure/table, /obj/structure/cable/white{ icon_state = "1-2" @@ -16299,48 +19425,55 @@ /obj/item/toy/cards/deck, /turf/open/floor/plasteel/neutral, /area/security/prison) -"aLD" = ( +"aPn" = ( /obj/structure/chair/stool, /turf/open/floor/plating, /area/security/prison) -"aLE" = ( +"aPo" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/security/prison) -"aLF" = ( +"aPp" = ( /turf/open/floor/plasteel/neutral, /area/security/prison) -"aLG" = ( +"aPq" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/security/prison) -"aLH" = ( +"aPr" = ( /obj/structure/chair/stool, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/security/prison) -"aLI" = ( +"aPs" = ( /obj/machinery/vending/coffee, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/redyellow/side, /area/security/prison) -"aLJ" = ( +"aPt" = ( /turf/open/floor/plasteel/redyellow/side, /obj/machinery/vending/sustenance, /turf/open/floor/plating{ icon_state = "platingdmg2" }, /area/security/prison) -"aLK" = ( +"aPu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/vault, /area/security/execution/education) -"aLL" = ( +"aPv" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on, /turf/open/floor/plasteel/vault, /area/security/execution/education) -"aLN" = ( +"aPw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/sign/poster/official/help_others{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/vault, +/area/security/execution/education) +"aPx" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 4; frequency = 1441; @@ -16350,21 +19483,21 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/vacuum, /area/maintenance/disposal/incinerator) -"aLO" = ( +"aPy" = ( /obj/structure/sign/fire, /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 4 }, /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) -"aLP" = ( +"aPz" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8 }, /obj/machinery/light/small, /turf/open/floor/engine, /area/maintenance/disposal/incinerator) -"aLQ" = ( +"aPA" = ( /obj/machinery/doorButtons/airlock_controller{ idExterior = "incinerator_airlock_exterior"; idInterior = "incinerator_airlock_interior"; @@ -16394,6 +19527,7 @@ req_access_txt = "12" }, /obj/machinery/computer/turbine_computer{ + dir = 1; id = "incineratorturbine" }, /obj/machinery/atmospherics/pipe/simple/general/visible{ @@ -16404,7 +19538,7 @@ dir = 10 }, /area/maintenance/disposal/incinerator) -"aLR" = ( +"aPB" = ( /obj/structure/table/reinforced, /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 4 @@ -16417,7 +19551,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/caution, /area/maintenance/disposal/incinerator) -"aLS" = ( +"aPC" = ( /obj/structure/table/reinforced, /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 9 @@ -16429,7 +19563,7 @@ /obj/item/pen, /turf/open/floor/plasteel/caution, /area/maintenance/disposal/incinerator) -"aLT" = ( +"aPD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, @@ -16437,7 +19571,7 @@ dir = 5 }, /area/engine/atmos) -"aLU" = ( +"aPE" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -16455,7 +19589,7 @@ dir = 9 }, /area/engine/atmos) -"aLV" = ( +"aPF" = ( /obj/structure/window/reinforced{ dir = 1; pixel_y = 1 @@ -16468,7 +19602,7 @@ dir = 1 }, /area/engine/atmos) -"aLW" = ( +"aPG" = ( /obj/structure/window/reinforced{ dir = 1; pixel_y = 1 @@ -16481,7 +19615,7 @@ dir = 1 }, /area/engine/atmos) -"aLX" = ( +"aPH" = ( /obj/structure/window/reinforced{ dir = 1; pixel_y = 1 @@ -16495,7 +19629,7 @@ dir = 1 }, /area/engine/atmos) -"aLY" = ( +"aPI" = ( /obj/structure/window/reinforced{ dir = 1; pixel_y = 1 @@ -16511,7 +19645,7 @@ dir = 1 }, /area/engine/atmos) -"aLZ" = ( +"aPJ" = ( /obj/structure/table/reinforced, /obj/item/tank/internals/emergency_oxygen{ pixel_x = 6 @@ -16535,17 +19669,17 @@ dir = 5 }, /area/engine/atmos) -"aMa" = ( +"aPK" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/engine/atmos) -"aMb" = ( +"aPL" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/atmos) -"aMd" = ( +"aPM" = ( /obj/structure/window/reinforced{ dir = 1; pixel_y = 1 @@ -16565,7 +19699,7 @@ dir = 9 }, /area/engine/atmos) -"aMe" = ( +"aPN" = ( /obj/structure/window/reinforced{ dir = 1; pixel_y = 1 @@ -16583,7 +19717,7 @@ dir = 5 }, /area/engine/atmos) -"aMf" = ( +"aPO" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 @@ -16592,7 +19726,7 @@ dir = 8 }, /area/engine/atmos) -"aMg" = ( +"aPP" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -16600,14 +19734,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/atmos) -"aMh" = ( +"aPQ" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/engine/atmos) -"aMi" = ( +"aPR" = ( /obj/structure/window/reinforced{ dir = 1; pixel_y = 1 @@ -16625,7 +19759,7 @@ dir = 9 }, /area/engine/atmos) -"aMj" = ( +"aPS" = ( /obj/structure/window/reinforced{ dir = 1; pixel_y = 1 @@ -16637,15 +19771,13 @@ dir = 1 }, /area/engine/atmos) -"aMk" = ( +"aPT" = ( /obj/structure/window/reinforced{ dir = 1; pixel_y = 1 }, /obj/structure/table/reinforced, -/obj/item/stack/sheet/plasteel{ - amount = 20 - }, +/obj/item/stack/sheet/plasteel/twenty, /obj/item/stack/sheet/rglass{ amount = 20; pixel_x = 2; @@ -16655,7 +19787,7 @@ dir = 5 }, /area/engine/atmos) -"aMl" = ( +"aPU" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -16663,43 +19795,59 @@ dir = 8 }, /area/engine/atmos) -"aMm" = ( +"aPV" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/engine/atmos) -"aMn" = ( +"aPW" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/port/fore) -"aMp" = ( +"aPX" = ( +/obj/structure/sign/poster/contraband/random{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/grimy, +/area/crew_quarters/abandoned_gambling_den/secondary) +"aPY" = ( /obj/structure/table/wood, /obj/item/storage/briefcase, /turf/open/floor/plasteel/grimy, -/area/crew_quarters/abandoned_gambling_den) -"aMq" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aPZ" = ( /obj/structure/table/wood, /obj/item/toy/cards/deck/syndicate{ icon_state = "deck_syndicate_full"; pixel_y = 6 }, /turf/open/floor/plasteel/grimy, -/area/crew_quarters/abandoned_gambling_den) -"aMr" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aQa" = ( /turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"aMs" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aQb" = ( /obj/structure/chair/stool/bar, /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"aMu" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aQc" = ( +/obj/machinery/computer/slot_machine, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken4" + }, +/area/crew_quarters/abandoned_gambling_den/secondary) +"aQd" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -16710,28 +19858,28 @@ dir = 4 }, /area/maintenance/port/fore) -"aMv" = ( +"aQe" = ( /obj/structure/mirror{ pixel_x = -28 }, /turf/open/floor/plasteel/redblue, /area/crew_quarters/theatre) -"aMw" = ( +"aQf" = ( /obj/effect/landmark/start/clown, /turf/open/floor/plasteel/redblue, /area/crew_quarters/theatre) -"aMx" = ( +"aQg" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/redblue, /area/crew_quarters/theatre) -"aMy" = ( +"aQh" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/theatre) -"aMz" = ( +"aQi" = ( /obj/structure/plasticflaps{ opacity = 1 }, @@ -16745,12 +19893,12 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/theatre) -"aMA" = ( +"aQj" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"aMB" = ( +"aQk" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -16762,7 +19910,7 @@ dir = 4 }, /area/hallway/secondary/service) -"aMC" = ( +"aQl" = ( /obj/structure/table/wood, /obj/machinery/firealarm{ dir = 8; @@ -16773,24 +19921,28 @@ dir = 5 }, /area/crew_quarters/bar/atrium) -"aMD" = ( +"aQm" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/grimy, +/area/crew_quarters/bar/atrium) +"aQn" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/carpet, /area/crew_quarters/bar/atrium) -"aME" = ( +"aQo" = ( /obj/structure/chair/wood/normal, /turf/open/floor/carpet, /area/crew_quarters/bar/atrium) -"aMF" = ( +"aQp" = ( /obj/structure/window/reinforced{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar/atrium) -"aMG" = ( +"aQq" = ( /obj/structure/chair/comfy/brown{ dir = 8 }, @@ -16798,14 +19950,14 @@ dir = 5 }, /area/crew_quarters/bar/atrium) -"aMH" = ( +"aQr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, /obj/structure/chair/stool, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aMI" = ( +"aQs" = ( /obj/structure/table/wood, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -16813,7 +19965,7 @@ /obj/item/reagent_containers/food/drinks/bottle/orangejuice, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aMJ" = ( +"aQt" = ( /obj/structure/table/wood, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -16821,7 +19973,7 @@ /obj/item/reagent_containers/food/snacks/cheesiehonkers, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aMK" = ( +"aQu" = ( /obj/structure/table/wood, /obj/item/toy/cards/deck, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -16829,20 +19981,20 @@ }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aML" = ( +"aQv" = ( /obj/structure/chair/stool, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aMM" = ( +"aQw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aMN" = ( +"aQx" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -16858,7 +20010,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/bar/atrium) -"aMO" = ( +"aQy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -16867,7 +20019,7 @@ dir = 1 }, /area/hallway/primary/fore) -"aMP" = ( +"aQz" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -16879,7 +20031,7 @@ dir = 1 }, /area/hallway/primary/fore) -"aMQ" = ( +"aQA" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -16890,7 +20042,7 @@ dir = 4 }, /area/hallway/primary/fore) -"aMR" = ( +"aQB" = ( /obj/structure/table, /obj/item/storage/box{ pixel_x = 3; @@ -16912,20 +20064,20 @@ dir = 10 }, /area/quartermaster/sorting) -"aMS" = ( +"aQC" = ( /obj/structure/table, /obj/item/folder/yellow, /obj/item/device/destTagger, /turf/open/floor/plasteel/brown, /area/quartermaster/sorting) -"aMT" = ( +"aQD" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/brown, /area/quartermaster/sorting) -"aMU" = ( +"aQE" = ( /obj/effect/decal/cleanable/dirt, /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/airalarm{ @@ -16937,7 +20089,7 @@ dir = 6 }, /area/quartermaster/sorting) -"aMV" = ( +"aQF" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/trunk, /obj/machinery/disposal/deliveryChute{ @@ -16945,13 +20097,13 @@ }, /turf/open/floor/plating, /area/quartermaster/sorting) -"aMW" = ( +"aQG" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/red/side{ dir = 10 }, /area/security/checkpoint/supply) -"aMX" = ( +"aQH" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -16960,7 +20112,7 @@ }, /turf/open/floor/plasteel/red/side, /area/security/checkpoint/supply) -"aMY" = ( +"aQI" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -16971,7 +20123,7 @@ dir = 6 }, /area/security/checkpoint/supply) -"aMZ" = ( +"aQJ" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -16982,25 +20134,25 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/supply) -"aNa" = ( +"aQK" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/brown{ dir = 9 }, /area/quartermaster/storage) -"aNb" = ( +"aQL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/brown{ dir = 1 }, /area/quartermaster/storage) -"aNc" = ( +"aQM" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/brown{ dir = 1 }, /area/quartermaster/storage) -"aNd" = ( +"aQN" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -17009,28 +20161,28 @@ dir = 5 }, /area/quartermaster/storage) -"aNe" = ( +"aQO" = ( /obj/machinery/status_display{ name = "cargo display"; supply_display = 1 }, /turf/closed/wall, /area/quartermaster/qm) -"aNf" = ( +"aQP" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/qm) -"aNg" = ( +"aQQ" = ( /turf/closed/wall, /area/quartermaster/qm) -"aNh" = ( +"aQR" = ( /obj/structure/cable/white{ icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/qm) -"aNi" = ( +"aQS" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -17040,14 +20192,14 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/qm) -"aNj" = ( +"aQT" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/qm) -"aNk" = ( +"aQU" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -17060,7 +20212,7 @@ }, /turf/open/floor/plating, /area/quartermaster/qm) -"aNl" = ( +"aQV" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -17070,7 +20222,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/qm) -"aNm" = ( +"aQW" = ( /obj/structure/table/glass, /obj/item/reagent_containers/glass/bottle/morphine, /obj/item/reagent_containers/syringe, @@ -17078,7 +20230,7 @@ dir = 9 }, /area/security/prison) -"aNn" = ( +"aQX" = ( /obj/structure/table/glass, /obj/item/folder/blue, /obj/item/device/healthanalyzer, @@ -17089,7 +20241,7 @@ dir = 1 }, /area/security/prison) -"aNo" = ( +"aQY" = ( /obj/structure/table/glass, /obj/item/reagent_containers/glass/bottle/morphine, /obj/item/reagent_containers/syringe, @@ -17097,7 +20249,7 @@ dir = 5 }, /area/security/prison) -"aNp" = ( +"aQZ" = ( /obj/structure/table, /obj/machinery/microwave{ pixel_x = -2; @@ -17105,13 +20257,13 @@ }, /turf/open/floor/plating, /area/security/prison) -"aNq" = ( +"aRa" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating{ icon_state = "panelscorched" }, /area/security/prison) -"aNr" = ( +"aRb" = ( /obj/machinery/light/small, /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, @@ -17119,7 +20271,7 @@ dir = 8 }, /area/security/prison) -"aNs" = ( +"aRc" = ( /obj/machinery/newscaster{ pixel_y = -32 }, @@ -17128,7 +20280,7 @@ dir = 8 }, /area/security/prison) -"aNt" = ( +"aRd" = ( /obj/machinery/camera{ c_tag = "Prison - Relaxation Area"; dir = 1; @@ -17137,11 +20289,11 @@ }, /turf/open/floor/plating, /area/security/prison) -"aNu" = ( +"aRe" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/corner, /area/security/prison) -"aNv" = ( +"aRf" = ( /obj/machinery/holopad, /obj/item/device/radio/intercom{ desc = "Talk through this. It looks like it has been modified to not broadcast."; @@ -17154,7 +20306,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/security/prison) -"aNw" = ( +"aRg" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small, @@ -17162,15 +20314,15 @@ icon_state = "panelscorched" }, /area/security/prison) -"aNx" = ( +"aRh" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/security/prison) -"aNy" = ( +"aRi" = ( /obj/machinery/computer/arcade, /turf/open/floor/plating, /area/security/prison) -"aNz" = ( +"aRj" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -17182,7 +20334,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/security/execution/education) -"aNA" = ( +"aRk" = ( /obj/machinery/door/poddoor/preopen{ id = "justicechamber"; name = "Justice Chamber Blast door" @@ -17207,7 +20359,7 @@ dir = 8 }, /area/security/execution/education) -"aNB" = ( +"aRl" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -17222,7 +20374,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/security/execution/education) -"aNC" = ( +"aRm" = ( /obj/structure/lattice/catwalk, /obj/structure/disposaloutlet{ dir = 8 @@ -17232,31 +20384,30 @@ }, /turf/open/floor/plating/airless, /area/space) -"aND" = ( +"aRn" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plating/airless, -/area/space) -"aNE" = ( +/area/maintenance/disposal/incinerator) +"aRo" = ( /obj/machinery/door/poddoor{ id = "auxincineratorvent"; name = "Incineration Chamber Vent" }, /turf/open/floor/engine/vacuum, /area/maintenance/disposal/incinerator) -"aNF" = ( +"aRp" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/general/visible, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/disposal/incinerator) -"aNG" = ( +"aRq" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 6 }, @@ -17264,7 +20415,7 @@ dir = 5 }, /area/engine/atmos) -"aNH" = ( +"aRr" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -17282,7 +20433,7 @@ dir = 8 }, /area/engine/atmos) -"aNI" = ( +"aRs" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, @@ -17291,7 +20442,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aNJ" = ( +"aRt" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, @@ -17302,7 +20453,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aNK" = ( +"aRu" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, @@ -17313,7 +20464,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aNL" = ( +"aRv" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, @@ -17322,7 +20473,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aNM" = ( +"aRw" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, @@ -17332,7 +20483,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aNN" = ( +"aRx" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, @@ -17342,7 +20493,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aNO" = ( +"aRy" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, @@ -17352,7 +20503,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aNP" = ( +"aRz" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, @@ -17364,7 +20515,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aNQ" = ( +"aRA" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, @@ -17374,7 +20525,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aNR" = ( +"aRB" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, @@ -17387,7 +20538,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aNS" = ( +"aRC" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, @@ -17395,7 +20546,7 @@ dir = 8 }, /area/engine/atmos) -"aNT" = ( +"aRD" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 10 }, @@ -17403,50 +20554,50 @@ dir = 5 }, /area/engine/atmos) -"aNU" = ( +"aRE" = ( /obj/structure/lattice, /turf/open/space, /area/engine/atmos) -"aNV" = ( +"aRF" = ( /obj/structure/grille, /turf/closed/wall/r_wall, /area/engine/atmos) -"aNW" = ( +"aRG" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/barricade/wooden, /turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"aNX" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aRH" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood{ icon_state = "wood-broken4" }, -/area/crew_quarters/abandoned_gambling_den) -"aNY" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aRI" = ( /turf/open/floor/wood{ icon_state = "wood-broken2" }, -/area/crew_quarters/abandoned_gambling_den) -"aNZ" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aRJ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"aOa" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aRK" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on, /mob/living/simple_animal/cockroach, /turf/open/floor/wood{ icon_state = "wood-broken5" }, -/area/crew_quarters/abandoned_gambling_den) -"aOb" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aRL" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"aOc" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aRM" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -17456,16 +20607,15 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 2; - icon_state = "pipe-j2s"; name = "Theatre Junction"; sortType = 18 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"aOd" = ( +"aRN" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -17488,7 +20638,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"aOe" = ( +"aRO" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -17503,7 +20653,7 @@ dir = 1 }, /area/crew_quarters/theatre) -"aOf" = ( +"aRP" = ( /obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "4-8" @@ -17517,7 +20667,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/theatre) -"aOg" = ( +"aRQ" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -17532,7 +20682,7 @@ dir = 1 }, /area/crew_quarters/theatre) -"aOh" = ( +"aRR" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -17546,7 +20696,7 @@ dir = 1 }, /area/crew_quarters/theatre) -"aOi" = ( +"aRS" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -17554,13 +20704,12 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/theatre) -"aOj" = ( +"aRT" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -17580,7 +20729,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/theatre) -"aOk" = ( +"aRU" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -17591,7 +20740,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"aOl" = ( +"aRV" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -17605,7 +20754,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"aOm" = ( +"aRW" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -17625,7 +20774,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/bar/atrium) -"aOn" = ( +"aRX" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -17640,7 +20789,7 @@ dir = 5 }, /area/crew_quarters/bar/atrium) -"aOo" = ( +"aRY" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -17649,7 +20798,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar/atrium) -"aOp" = ( +"aRZ" = ( /obj/structure/chair/wood/normal{ dir = 4 }, @@ -17661,15 +20810,15 @@ }, /turf/open/floor/carpet, /area/crew_quarters/bar/atrium) -"aOq" = ( +"aSa" = ( /obj/machinery/holopad, /turf/open/floor/carpet, /area/crew_quarters/bar/atrium) -"aOr" = ( +"aSb" = ( /obj/effect/landmark/lightsout, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aOs" = ( +"aSc" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Atrium" @@ -17682,14 +20831,14 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/bar/atrium) -"aOt" = ( +"aSd" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, /turf/open/floor/goonplaque, /area/hallway/primary/fore) -"aOu" = ( +"aSe" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -17708,25 +20857,24 @@ }, /turf/open/floor/plasteel, /area/quartermaster/sorting) -"aOv" = ( +"aSf" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/quartermaster/sorting) -"aOw" = ( +"aSg" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/closed/wall, /area/quartermaster/sorting) -"aOx" = ( +"aSh" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/closed/wall, /area/security/checkpoint/supply) -"aOy" = ( +"aSi" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -17736,7 +20884,7 @@ }, /turf/open/floor/plating, /area/security/checkpoint/supply) -"aOz" = ( +"aSj" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -17763,7 +20911,7 @@ }, /turf/open/floor/plasteel, /area/security/checkpoint/supply) -"aOA" = ( +"aSk" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -17773,7 +20921,7 @@ }, /turf/open/floor/plating, /area/security/checkpoint/supply) -"aOB" = ( +"aSl" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -17785,8 +20933,7 @@ pixel_y = 3 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/camera{ c_tag = "Cargo Bay - Aft Port"; @@ -17797,27 +20944,27 @@ dir = 8 }, /area/quartermaster/storage) -"aOC" = ( +"aSm" = ( /obj/structure/table/reinforced, /obj/machinery/computer/stockexchange, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aOD" = ( +"aSn" = ( /obj/structure/table/reinforced, /obj/item/stack/packageWrap, /obj/item/hand_labeler, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aOE" = ( +"aSo" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aOF" = ( +"aSp" = ( /obj/structure/table/reinforced, /obj/item/storage/box/donkpockets, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aOG" = ( +"aSq" = ( /obj/structure/table/reinforced, /obj/machinery/microwave{ desc = "Cooks and boils stuff, somehow."; @@ -17826,7 +20973,7 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aOH" = ( +"aSr" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -17834,13 +20981,13 @@ dir = 4 }, /area/quartermaster/storage) -"aOI" = ( +"aSs" = ( /obj/structure/filingcabinet/chestdrawer, /turf/open/floor/plasteel/brown{ dir = 9 }, /area/quartermaster/qm) -"aOJ" = ( +"aSt" = ( /obj/structure/table, /obj/item/clipboard, /obj/item/toy/figure/qm, @@ -17848,14 +20995,14 @@ dir = 1 }, /area/quartermaster/qm) -"aOK" = ( +"aSu" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, /turf/open/floor/plasteel/brown{ dir = 1 }, /area/quartermaster/qm) -"aOL" = ( +"aSv" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -17870,18 +21017,18 @@ dir = 1 }, /area/quartermaster/qm) -"aOM" = ( +"aSw" = ( /turf/open/floor/plasteel/brown{ dir = 1 }, /area/quartermaster/qm) -"aON" = ( +"aSx" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/brown{ dir = 1 }, /area/quartermaster/qm) -"aOO" = ( +"aSy" = ( /obj/structure/table/reinforced, /obj/item/folder/yellow, /obj/item/stack/packageWrap, @@ -17902,7 +21049,7 @@ dir = 5 }, /area/quartermaster/qm) -"aOP" = ( +"aSz" = ( /obj/structure/bed, /obj/structure/cable/white{ icon_state = "1-2" @@ -17912,19 +21059,19 @@ dir = 1 }, /area/quartermaster/qm) -"aOQ" = ( +"aSA" = ( /obj/structure/table/reinforced, /obj/item/device/flashlight/lamp, /turf/open/floor/plasteel/brown{ dir = 5 }, /area/quartermaster/qm) -"aOR" = ( +"aSB" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/qm) -"aOS" = ( +"aSC" = ( /obj/structure/bed, /obj/item/clothing/suit/straight_jacket, /obj/item/clothing/mask/muzzle, @@ -17933,10 +21080,10 @@ dir = 8 }, /area/security/prison) -"aOT" = ( +"aSD" = ( /turf/open/floor/plasteel/white, /area/security/prison) -"aOU" = ( +"aSE" = ( /obj/structure/bed, /obj/item/clothing/suit/straight_jacket, /obj/item/clothing/mask/muzzle, @@ -17945,7 +21092,7 @@ dir = 4 }, /area/security/prison) -"aOV" = ( +"aSF" = ( /obj/machinery/door/poddoor/preopen{ id = "permacell3"; name = "Cell Shutters" @@ -17963,7 +21110,7 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"aOW" = ( +"aSG" = ( /obj/machinery/door/poddoor/preopen{ id = "permacell2"; name = "Cell Shutters" @@ -17983,7 +21130,7 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"aOX" = ( +"aSH" = ( /obj/machinery/door/poddoor/preopen{ id = "permacell1"; name = "Cell Shutters" @@ -18001,7 +21148,7 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"aOY" = ( +"aSI" = ( /obj/structure/table/reinforced, /obj/machinery/airalarm{ dir = 4; @@ -18031,7 +21178,7 @@ dir = 9 }, /area/security/execution/education) -"aOZ" = ( +"aSJ" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -18074,7 +21221,7 @@ dir = 1 }, /area/security/execution/education) -"aPa" = ( +"aSK" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -18089,7 +21236,7 @@ dir = 1 }, /area/security/execution/education) -"aPb" = ( +"aSL" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -18101,7 +21248,7 @@ dir = 1 }, /area/security/execution/education) -"aPc" = ( +"aSM" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -18116,7 +21263,7 @@ dir = 5 }, /area/security/execution/education) -"aPd" = ( +"aSN" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/structure/window/reinforced{ dir = 8 @@ -18126,25 +21273,24 @@ dir = 8 }, /area/security/execution/education) -"aPe" = ( +"aSO" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/security/execution/education) -"aPf" = ( +"aSP" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 5 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/space, /area/space) -"aPg" = ( +"aSQ" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 4 @@ -18154,7 +21300,7 @@ }, /turf/open/space, /area/space) -"aPh" = ( +"aSR" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 4 @@ -18164,24 +21310,23 @@ }, /turf/open/space, /area/space) -"aPi" = ( +"aSS" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 9 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/space, /area/space) -"aPj" = ( +"aST" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/engine/atmos) -"aPk" = ( +"aSU" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 8 @@ -18193,7 +21338,7 @@ dir = 10 }, /area/engine/atmos) -"aPl" = ( +"aSV" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 6 }, @@ -18202,13 +21347,13 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aPm" = ( +"aSW" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aPn" = ( +"aSX" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 }, @@ -18220,7 +21365,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aPo" = ( +"aSY" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 }, @@ -18231,7 +21376,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aPp" = ( +"aSZ" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 }, @@ -18239,7 +21384,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aPq" = ( +"aTa" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 }, @@ -18248,7 +21393,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aPr" = ( +"aTb" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 }, @@ -18258,7 +21403,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aPs" = ( +"aTc" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 }, @@ -18269,7 +21414,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aPt" = ( +"aTd" = ( /obj/machinery/atmospherics/pipe/manifold/yellow/visible{ dir = 1 }, @@ -18279,7 +21424,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aPu" = ( +"aTe" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -18295,27 +21440,27 @@ dir = 5 }, /area/engine/atmos) -"aPv" = ( +"aTf" = ( /obj/machinery/atmospherics/pipe/manifold/cyan/visible, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/engine/atmos) -"aPw" = ( +"aTg" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, /turf/open/floor/plating, /area/engine/atmos) -"aPx" = ( +"aTh" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, /turf/open/space, /area/engine/atmos) -"aPy" = ( +"aTi" = ( /obj/machinery/meter{ name = "Mixed Air Tank Out" }, @@ -18325,7 +21470,7 @@ }, /turf/closed/wall/r_wall, /area/engine/atmos) -"aPz" = ( +"aTj" = ( /obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/on{ dir = 8; frequency = 1441; @@ -18334,17 +21479,17 @@ }, /turf/open/floor/engine/air, /area/engine/atmos) -"aPA" = ( +"aTk" = ( /obj/machinery/camera{ c_tag = "Atmospherics - Air Supply"; name = "atmospherics camera" }, /turf/open/floor/engine/air, /area/engine/atmos) -"aPB" = ( +"aTl" = ( /turf/open/floor/engine/air, /area/engine/atmos) -"aPC" = ( +"aTm" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -18357,26 +21502,26 @@ dir = 4 }, /turf/open/floor/plasteel, -/area/crew_quarters/abandoned_gambling_den) -"aPD" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aTn" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"aPE" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aTo" = ( /obj/structure/chair/stool/bar, /turf/open/floor/wood{ icon_state = "wood-broken3" }, -/area/crew_quarters/abandoned_gambling_den) -"aPF" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aTp" = ( /obj/structure/chair/stool/bar, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, /turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"aPG" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aTq" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -18387,8 +21532,8 @@ /turf/open/floor/wood{ icon_state = "wood-broken5" }, -/area/crew_quarters/abandoned_gambling_den) -"aPH" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aTr" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -18397,8 +21542,8 @@ dir = 4 }, /turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"aPI" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aTs" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -18417,8 +21562,8 @@ dir = 4 }, /turf/open/floor/plasteel, -/area/crew_quarters/abandoned_gambling_den) -"aPJ" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aTt" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -18432,34 +21577,34 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"aPK" = ( +"aTu" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/closed/wall, /area/crew_quarters/theatre) -"aPL" = ( +"aTv" = ( /obj/structure/mirror{ pixel_x = -28 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/theatre) -"aPM" = ( +"aTw" = ( /obj/effect/landmark/start/mime, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/theatre) -"aPN" = ( +"aTx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/theatre) -"aPO" = ( +"aTy" = ( /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -18483,17 +21628,17 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/theatre) -"aPP" = ( +"aTz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/crew_quarters/theatre) -"aPQ" = ( +"aTA" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, /turf/open/floor/plasteel/loadingarea, /area/hallway/secondary/service) -"aPR" = ( +"aTB" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -18508,13 +21653,13 @@ dir = 4 }, /area/hallway/secondary/service) -"aPS" = ( +"aTC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/crew_quarters/bar/atrium) -"aPT" = ( +"aTD" = ( /obj/structure/table/wood, /obj/item/lipstick/random{ pixel_x = 3; @@ -18532,48 +21677,53 @@ dir = 5 }, /area/crew_quarters/bar/atrium) -"aPU" = ( +"aTE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar/atrium) -"aPV" = ( +"aTF" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, /turf/open/floor/carpet, /area/crew_quarters/bar/atrium) -"aPW" = ( +"aTG" = ( /obj/structure/chair/wood/normal{ dir = 1 }, /turf/open/floor/carpet, /area/crew_quarters/bar/atrium) -"aPX" = ( +"aTH" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/coffee, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aPY" = ( +"aTI" = ( /obj/structure/table/wood, /obj/item/device/paicard, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aPZ" = ( +"aTJ" = ( +/obj/structure/table/wood, +/obj/item/clothing/head/hardhat/cakehat, +/turf/open/floor/plasteel/redyellow, +/area/crew_quarters/bar/atrium) +"aTK" = ( /obj/structure/chair/stool, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aQa" = ( +"aTL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aQb" = ( +"aTM" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -18589,14 +21739,17 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/bar/atrium) -"aQc" = ( +"aTN" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral/side, /area/hallway/primary/fore) -"aQd" = ( +"aTO" = ( +/turf/closed/wall, +/area/quartermaster/office) +"aTP" = ( /obj/structure/table/reinforced, /obj/machinery/computer/stockexchange, /obj/machinery/light{ @@ -18609,7 +21762,7 @@ dir = 9 }, /area/quartermaster/office) -"aQe" = ( +"aTQ" = ( /obj/structure/table/reinforced, /obj/item/folder/yellow, /obj/item/device/multitool, @@ -18621,7 +21774,7 @@ dir = 1 }, /area/quartermaster/office) -"aQf" = ( +"aTR" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -18633,7 +21786,7 @@ dir = 1 }, /area/quartermaster/office) -"aQg" = ( +"aTS" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, @@ -18641,7 +21794,7 @@ dir = 1 }, /area/quartermaster/office) -"aQh" = ( +"aTT" = ( /obj/machinery/photocopier, /obj/machinery/ai_status_display{ pixel_y = 32 @@ -18650,7 +21803,7 @@ dir = 1 }, /area/quartermaster/office) -"aQi" = ( +"aTU" = ( /obj/structure/table, /obj/item/storage/firstaid/regular, /obj/machinery/requests_console{ @@ -18668,7 +21821,7 @@ dir = 1 }, /area/quartermaster/office) -"aQj" = ( +"aTV" = ( /obj/structure/table, /obj/item/paper_bin, /obj/machinery/power/apc{ @@ -18684,12 +21837,12 @@ dir = 1 }, /area/quartermaster/office) -"aQk" = ( +"aTW" = ( /turf/open/floor/plasteel/brown{ dir = 1 }, /area/quartermaster/office) -"aQl" = ( +"aTX" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -18697,7 +21850,7 @@ dir = 1 }, /area/quartermaster/office) -"aQm" = ( +"aTY" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light{ dir = 4 @@ -18709,7 +21862,7 @@ dir = 5 }, /area/quartermaster/office) -"aQn" = ( +"aTZ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -18720,14 +21873,13 @@ pixel_x = -26 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/brown{ dir = 8 }, /area/quartermaster/storage) -"aQo" = ( +"aUa" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/structure/disposalpipe/segment{ @@ -18735,7 +21887,7 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aQp" = ( +"aUb" = ( /obj/structure/chair/office/dark{ dir = 1 }, @@ -18745,35 +21897,37 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aQq" = ( +"aUc" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aQr" = ( +"aUd" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aQs" = ( +"aUe" = ( /obj/effect/decal/cleanable/oil, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aQt" = ( -/obj/machinery/computer/cargo, +"aUf" = ( +/obj/machinery/computer/cargo{ + dir = 8 + }, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aQu" = ( +"aUg" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -18787,7 +21941,7 @@ dir = 4 }, /area/quartermaster/storage) -"aQv" = ( +"aUh" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -18797,7 +21951,7 @@ }, /turf/open/floor/plating, /area/quartermaster/qm) -"aQw" = ( +"aUi" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -18808,7 +21962,7 @@ dir = 8 }, /area/quartermaster/qm) -"aQx" = ( +"aUj" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -18817,17 +21971,16 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/qm) -"aQy" = ( +"aUk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/qm) -"aQz" = ( +"aUl" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -18837,7 +21990,7 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/neutral, /area/quartermaster/qm) -"aQA" = ( +"aUm" = ( /obj/structure/table/reinforced, /obj/item/device/flashlight/lamp, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -18845,14 +21998,16 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/qm) -"aQB" = ( +"aUn" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/qm) -"aQC" = ( -/obj/machinery/computer/cargo, +"aUo" = ( +/obj/machinery/computer/cargo{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -18860,14 +22015,14 @@ dir = 4 }, /area/quartermaster/qm) -"aQD" = ( +"aUp" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/quartermaster/qm) -"aQE" = ( +"aUq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -18875,7 +22030,7 @@ dir = 8 }, /area/quartermaster/qm) -"aQF" = ( +"aUr" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -18884,8 +22039,10 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/qm) -"aQG" = ( -/obj/machinery/computer/security/mining, +"aUs" = ( +/obj/machinery/computer/security/mining{ + dir = 8 + }, /obj/machinery/status_display{ pixel_x = 32 }, @@ -18898,19 +22055,19 @@ dir = 4 }, /area/quartermaster/qm) -"aQH" = ( +"aUt" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/whitered/side{ dir = 8 }, /area/security/prison) -"aQI" = ( +"aUu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/whitered/side{ dir = 4 }, /area/security/prison) -"aQJ" = ( +"aUv" = ( /obj/structure/bed, /obj/item/bedsheet/brown, /obj/effect/landmark/revenantspawn, @@ -18918,12 +22075,12 @@ dir = 8 }, /area/security/prison) -"aQK" = ( +"aUw" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side, /area/security/prison) -"aQL" = ( +"aUx" = ( /obj/machinery/light/small{ dir = 1 }, @@ -18947,7 +22104,7 @@ icon_state = "panelscorched" }, /area/security/prison) -"aQM" = ( +"aUy" = ( /obj/structure/bed, /obj/item/bedsheet/brown, /obj/effect/decal/cleanable/dirt, @@ -18956,7 +22113,7 @@ dir = 8 }, /area/security/prison) -"aQN" = ( +"aUz" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -18964,7 +22121,7 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral/side, /area/security/prison) -"aQO" = ( +"aUA" = ( /obj/machinery/light/small{ dir = 1 }, @@ -18988,13 +22145,13 @@ dir = 4 }, /area/security/prison) -"aQP" = ( +"aUB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating{ icon_state = "panelscorched" }, /area/security/prison) -"aQQ" = ( +"aUC" = ( /obj/machinery/light/small{ dir = 1 }, @@ -19020,7 +22177,7 @@ dir = 4 }, /area/security/prison) -"aQR" = ( +"aUD" = ( /obj/structure/table/reinforced, /obj/structure/reagent_dispensers/peppertank{ pixel_x = -32 @@ -19035,7 +22192,7 @@ dir = 8 }, /area/security/execution/education) -"aQS" = ( +"aUE" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -19047,7 +22204,7 @@ dir = 5 }, /area/security/execution/education) -"aQT" = ( +"aUF" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -19055,7 +22212,7 @@ dir = 5 }, /area/security/execution/education) -"aQU" = ( +"aUG" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, @@ -19064,7 +22221,7 @@ dir = 5 }, /area/security/execution/education) -"aQV" = ( +"aUH" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -19072,7 +22229,7 @@ dir = 4 }, /area/security/execution/education) -"aQW" = ( +"aUI" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 5 }, @@ -19082,7 +22239,7 @@ dir = 8 }, /area/security/execution/education) -"aQX" = ( +"aUJ" = ( /obj/structure/closet/crate{ icon_state = "crateopen"; opened = 1 @@ -19107,7 +22264,7 @@ dir = 8 }, /area/security/execution/education) -"aQY" = ( +"aUK" = ( /obj/machinery/door/airlock/external{ cyclelinkeddir = 2; name = "Security External Airlock"; @@ -19121,7 +22278,7 @@ }, /turf/open/floor/plating, /area/security/prison) -"aQZ" = ( +"aUL" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible, /obj/machinery/light/small{ dir = 8 @@ -19130,7 +22287,7 @@ dir = 5 }, /area/engine/atmos) -"aRa" = ( +"aUM" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 6 }, @@ -19139,7 +22296,7 @@ dir = 8 }, /area/engine/atmos) -"aRb" = ( +"aUN" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible, /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 @@ -19149,27 +22306,27 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aRc" = ( +"aUO" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aRd" = ( +"aUP" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/general/visible, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aRe" = ( +"aUQ" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/caution, /area/engine/atmos) -"aRf" = ( +"aUR" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, @@ -19184,13 +22341,13 @@ }, /turf/open/floor/plasteel/caution, /area/engine/atmos) -"aRg" = ( +"aUS" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, /turf/open/floor/plasteel/caution, /area/engine/atmos) -"aRh" = ( +"aUT" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, @@ -19198,14 +22355,14 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/caution, /area/engine/atmos) -"aRi" = ( +"aUU" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aRj" = ( +"aUV" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, @@ -19215,7 +22372,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aRk" = ( +"aUW" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible, /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 @@ -19226,8 +22383,9 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aRl" = ( +"aUX" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 8; frequency = 1441; input_tag = "air_in"; name = "Mixed Air Supply Control"; @@ -19244,31 +22402,58 @@ dir = 4 }, /area/engine/atmos) -"aRn" = ( +"aUY" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/atmos) +"aUZ" = ( /obj/machinery/air_sensor{ frequency = 1441; id_tag = "air_sensor" }, /turf/open/floor/engine/air, /area/engine/atmos) -"aRo" = ( +"aVa" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/engine/air, /area/engine/atmos) -"aRp" = ( +"aVb" = ( /obj/machinery/light/small{ dir = 4 }, /turf/open/floor/engine/air, /area/engine/atmos) -"aRr" = ( +"aVc" = ( +/obj/item/twohanded/required/kirbyplants/random, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/crew_quarters/abandoned_gambling_den/secondary) +"aVd" = ( /obj/machinery/light/small, /obj/structure/table/wood, /obj/item/storage/pill_bottle, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"aRu" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aVe" = ( +/obj/machinery/computer/slot_machine, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/crew_quarters/abandoned_gambling_den/secondary) +"aVf" = ( +/obj/machinery/computer/slot_machine, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 + }, +/turf/open/floor/plating, +/area/crew_quarters/abandoned_gambling_den/secondary) +"aVg" = ( /obj/machinery/light/small, /obj/structure/table/wood, /obj/item/reagent_containers/blood/random, @@ -19279,8 +22464,8 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"aRv" = ( +/area/crew_quarters/abandoned_gambling_den/secondary) +"aVh" = ( /obj/structure/table/wood, /obj/machinery/requests_console{ department = "Theatre Backstage"; @@ -19302,7 +22487,18 @@ }, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/theatre) -"aRx" = ( +"aVi" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/baguette, +/obj/item/toy/crayon/spraycan/mimecan{ + charges = 5 + }, +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/cafeteria, +/area/crew_quarters/theatre) +"aVj" = ( /obj/machinery/vending/autodrobe, /obj/machinery/airalarm{ dir = 1; @@ -19311,13 +22507,20 @@ /obj/machinery/light, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/theatre) -"aRy" = ( +"aVk" = ( /obj/structure/table/wood, /obj/item/clipboard, /obj/item/toy/figure/mime, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/theatre) -"aRA" = ( +"aVl" = ( +/obj/structure/dresser, +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/cafeteria, +/area/crew_quarters/theatre) +"aVm" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -19332,64 +22535,63 @@ dir = 4 }, /area/hallway/secondary/service) -"aRB" = ( +"aVn" = ( /obj/structure/table/wood, /obj/item/device/instrument/violin, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/bar/atrium) -"aRC" = ( +"aVo" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, /turf/open/floor/carpet, /area/crew_quarters/bar/atrium) -"aRD" = ( +"aVp" = ( /obj/structure/table/wood, /obj/item/clothing/mask/cigarette/pipe, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/bar/atrium) -"aRE" = ( +"aVq" = ( /obj/structure/chair/stool, /obj/effect/landmark/start/assistant, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aRF" = ( +"aVr" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/snacks/chips, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aRG" = ( +"aVs" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/soda_cans/dr_gibb, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aRH" = ( +"aVt" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/britcup, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aRI" = ( +"aVu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/chair/stool, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aRJ" = ( +"aVv" = ( /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 1; - icon_state = "pipe-j1s"; name = "Quartermaster Junction"; sortType = 3 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"aRK" = ( +"aVw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ dir = 4 @@ -19398,14 +22600,14 @@ dir = 4 }, /area/hallway/primary/fore) -"aRL" = ( +"aVx" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plating, /area/quartermaster/office) -"aRM" = ( +"aVy" = ( /obj/structure/filingcabinet/chestdrawer, /obj/structure/disposalpipe/segment{ dir = 4 @@ -19414,7 +22616,7 @@ dir = 8 }, /area/quartermaster/office) -"aRN" = ( +"aVz" = ( /obj/structure/chair/office/dark{ dir = 1 }, @@ -19425,7 +22627,7 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/office) -"aRO" = ( +"aVA" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-4" @@ -19438,7 +22640,7 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/office) -"aRP" = ( +"aVB" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -19450,7 +22652,7 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/office) -"aRQ" = ( +"aVC" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -19462,7 +22664,7 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/office) -"aRR" = ( +"aVD" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -19477,7 +22679,7 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/office) -"aRS" = ( +"aVE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -19493,7 +22695,7 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/office) -"aRT" = ( +"aVF" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -19507,7 +22709,7 @@ dir = 4 }, /area/quartermaster/office) -"aRU" = ( +"aVG" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -19531,7 +22733,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aRV" = ( +"aVH" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -19542,14 +22744,13 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/brown{ dir = 8 }, /area/quartermaster/storage) -"aRW" = ( +"aVI" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -19557,12 +22758,11 @@ dir = 1 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aRX" = ( +"aVJ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -19574,7 +22774,7 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aRY" = ( +"aVK" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -19588,7 +22788,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aRZ" = ( +"aVL" = ( /obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "4-8" @@ -19601,7 +22801,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aSa" = ( +"aVM" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -19613,7 +22813,7 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aSb" = ( +"aVN" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -19621,12 +22821,11 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aSc" = ( +"aVO" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -19635,7 +22834,7 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aSd" = ( +"aVP" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -19652,7 +22851,7 @@ dir = 4 }, /area/quartermaster/storage) -"aSe" = ( +"aVQ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -19669,7 +22868,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/qm) -"aSf" = ( +"aVR" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -19677,20 +22876,20 @@ dir = 8 }, /area/quartermaster/qm) -"aSg" = ( +"aVS" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/neutral, /area/quartermaster/qm) -"aSh" = ( +"aVT" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /mob/living/simple_animal/sloth/citrus, /turf/open/floor/plasteel/neutral, /area/quartermaster/qm) -"aSi" = ( +"aVU" = ( /obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "4-8" @@ -19701,7 +22900,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/qm) -"aSj" = ( +"aVV" = ( /obj/structure/table/reinforced, /obj/structure/cable/white{ icon_state = "4-8" @@ -19710,7 +22909,7 @@ /obj/item/stamp/qm, /turf/open/floor/plasteel/neutral, /area/quartermaster/qm) -"aSk" = ( +"aVW" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -19723,7 +22922,7 @@ /obj/effect/landmark/start/quartermaster, /turf/open/floor/plasteel/neutral, /area/quartermaster/qm) -"aSl" = ( +"aVX" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -19731,7 +22930,7 @@ dir = 4 }, /area/quartermaster/qm) -"aSm" = ( +"aVY" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -19748,7 +22947,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/qm) -"aSn" = ( +"aVZ" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -19761,8 +22960,10 @@ /obj/effect/landmark/start/quartermaster, /turf/open/floor/plasteel/neutral, /area/quartermaster/qm) -"aSo" = ( -/obj/machinery/computer/shuttle/mining, +"aWa" = ( +/obj/machinery/computer/shuttle/mining{ + dir = 8 + }, /obj/machinery/light{ dir = 4 }, @@ -19773,7 +22974,7 @@ dir = 4 }, /area/quartermaster/qm) -"aSp" = ( +"aWb" = ( /obj/structure/table/glass, /obj/item/storage/firstaid/regular, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -19781,7 +22982,7 @@ dir = 8 }, /area/security/prison) -"aSq" = ( +"aWc" = ( /obj/structure/bed/roller, /obj/machinery/iv_drip, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -19789,7 +22990,7 @@ dir = 4 }, /area/security/prison) -"aSr" = ( +"aWd" = ( /obj/machinery/flasher{ id = "PCell 3"; pixel_x = -28 @@ -19800,13 +23001,13 @@ dir = 8 }, /area/security/prison) -"aSs" = ( +"aWe" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 1 }, /area/security/prison) -"aSt" = ( +"aWf" = ( /obj/structure/table, /obj/item/paper, /obj/item/pen, @@ -19815,7 +23016,7 @@ dir = 4 }, /area/security/prison) -"aSu" = ( +"aWg" = ( /obj/machinery/flasher{ id = "PCell 2"; pixel_x = -28 @@ -19826,7 +23027,7 @@ icon_state = "platingdmg3" }, /area/security/prison) -"aSv" = ( +"aWh" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -19834,7 +23035,7 @@ dir = 1 }, /area/security/prison) -"aSw" = ( +"aWi" = ( /obj/machinery/flasher{ id = "PCell 1"; pixel_x = -28 @@ -19844,7 +23045,7 @@ icon_state = "platingdmg1" }, /area/security/prison) -"aSx" = ( +"aWj" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 @@ -19853,7 +23054,7 @@ dir = 1 }, /area/security/prison) -"aSy" = ( +"aWk" = ( /obj/structure/table, /obj/item/paper, /obj/item/pen, @@ -19865,7 +23066,7 @@ dir = 4 }, /area/security/prison) -"aSz" = ( +"aWl" = ( /obj/structure/table/reinforced, /obj/machinery/light_switch{ pixel_x = -7; @@ -19880,7 +23081,7 @@ dir = 10 }, /area/security/execution/education) -"aSA" = ( +"aWm" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -19889,7 +23090,7 @@ }, /turf/open/floor/plasteel/darkred/side, /area/security/execution/education) -"aSB" = ( +"aWn" = ( /obj/machinery/firealarm{ dir = 1; pixel_y = -24 @@ -19900,7 +23101,7 @@ }, /turf/open/floor/plasteel/darkred/side, /area/security/execution/education) -"aSC" = ( +"aWo" = ( /obj/machinery/newscaster/security_unit{ pixel_y = -32 }, @@ -19909,7 +23110,7 @@ }, /turf/open/floor/plasteel/darkred/side, /area/security/execution/education) -"aSD" = ( +"aWp" = ( /obj/structure/cable/white, /obj/machinery/power/apc{ dir = 2; @@ -19924,7 +23125,7 @@ dir = 6 }, /area/security/execution/education) -"aSE" = ( +"aWq" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8; name = "Justice gas pump"; @@ -19935,7 +23136,7 @@ dir = 8 }, /area/security/execution/education) -"aSF" = ( +"aWr" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 9 }, @@ -19944,7 +23145,7 @@ dir = 8 }, /area/security/execution/education) -"aSG" = ( +"aWs" = ( /obj/structure/sign/securearea{ pixel_x = 32 }, @@ -19954,17 +23155,17 @@ }, /turf/open/floor/plating, /area/security/prison) -"aSH" = ( +"aWt" = ( /turf/open/floor/engine/co2, /area/engine/atmos) -"aSI" = ( +"aWu" = ( /obj/machinery/camera{ c_tag = "Atmospherics - co2 Cell"; name = "atmospherics camera" }, /turf/open/floor/engine/co2, /area/engine/atmos) -"aSJ" = ( +"aWv" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ dir = 4; frequency = 1441; @@ -19973,7 +23174,7 @@ }, /turf/open/floor/engine/co2, /area/engine/atmos) -"aSK" = ( +"aWw" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 @@ -19981,21 +23182,21 @@ /obj/structure/grille, /turf/closed/wall/r_wall, /area/engine/atmos) -"aSL" = ( +"aWx" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 }, /turf/open/space, /area/engine/atmos) -"aSM" = ( +"aWy" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 }, /turf/open/floor/plating, /area/engine/atmos) -"aSN" = ( +"aWz" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 }, @@ -20005,7 +23206,7 @@ dir = 5 }, /area/engine/atmos) -"aSO" = ( +"aWA" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -20021,14 +23222,14 @@ }, /turf/open/floor/plasteel/vault, /area/engine/atmos) -"aSP" = ( +"aWB" = ( /obj/machinery/atmospherics/pipe/manifold4w/yellow/visible, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/engine/atmos) -"aSQ" = ( +"aWC" = ( /obj/machinery/atmospherics/components/unary/thermomachine/heater{ dir = 8 }, @@ -20036,20 +23237,20 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/atmos) -"aSR" = ( +"aWD" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aSS" = ( +"aWE" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 4 }, /obj/machinery/meter, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aST" = ( +"aWF" = ( /obj/machinery/light{ dir = 4 }, @@ -20058,14 +23259,14 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aSU" = ( +"aWG" = ( /obj/machinery/ai_status_display, /turf/closed/wall, /area/engine/atmos) -"aSV" = ( +"aWH" = ( /turf/closed/wall, /area/engine/atmos) -"aSW" = ( +"aWI" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_atmos{ name = "Atmospherics Storage"; @@ -20082,22 +23283,22 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aSX" = ( +"aWJ" = ( /obj/structure/sign/nosmoking_2, /turf/closed/wall, /area/engine/atmos) -"aSY" = ( +"aWK" = ( /obj/machinery/status_display, /turf/closed/wall, /area/engine/atmos) -"aSZ" = ( +"aWL" = ( /obj/machinery/light{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aTa" = ( +"aWM" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -20105,14 +23306,14 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aTb" = ( +"aWN" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 6 }, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aTc" = ( +"aWO" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, @@ -20122,7 +23323,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aTd" = ( +"aWP" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -20135,7 +23336,7 @@ dir = 6 }, /area/engine/atmos) -"aTe" = ( +"aWQ" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, @@ -20143,7 +23344,7 @@ dir = 5 }, /area/engine/atmos) -"aTf" = ( +"aWR" = ( /obj/machinery/meter{ name = "Mixed Air Tank In" }, @@ -20153,7 +23354,7 @@ }, /turf/closed/wall/r_wall, /area/engine/atmos) -"aTg" = ( +"aWS" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 8; frequency = 1441; @@ -20161,7 +23362,7 @@ }, /turf/open/floor/engine/air, /area/engine/atmos) -"aTh" = ( +"aWT" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -20180,7 +23381,7 @@ dir = 1 }, /area/hallway/secondary/service) -"aTi" = ( +"aWU" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -20197,7 +23398,7 @@ dir = 4 }, /area/hallway/secondary/service) -"aTj" = ( +"aWV" = ( /obj/structure/table/wood, /obj/structure/extinguisher_cabinet{ pixel_x = -26; @@ -20209,7 +23410,18 @@ dir = 5 }, /area/crew_quarters/bar/atrium) -"aTl" = ( +"aWW" = ( +/obj/structure/table/wood, +/obj/item/clothing/mask/fakemoustache, +/obj/item/cane, +/obj/structure/sign/poster/random{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/crew_quarters/bar/atrium) +"aWX" = ( /obj/structure/piano{ icon_state = "piano" }, @@ -20220,7 +23432,14 @@ /obj/machinery/light, /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar/atrium) -"aTn" = ( +"aWY" = ( +/obj/structure/chair/stool/bar, +/obj/structure/sign/poster/random{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/grimy, +/area/crew_quarters/bar/atrium) +"aWZ" = ( /obj/machinery/door/window/eastright{ name = "Theatre Stage" }, @@ -20229,12 +23448,12 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar/atrium) -"aTo" = ( +"aXa" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/bar/atrium) -"aTp" = ( +"aXb" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_x = -26; @@ -20242,25 +23461,24 @@ }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aTq" = ( +"aXc" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aTr" = ( +"aXd" = ( /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 1; - icon_state = "pipe-j1s"; name = "Cargo Junction"; sortType = 2 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"aTs" = ( +"aXe" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ dir = 4 @@ -20268,7 +23486,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"aTt" = ( +"aXf" = ( /obj/structure/plasticflaps{ opacity = 1 }, @@ -20279,7 +23497,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/office) -"aTu" = ( +"aXg" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ dir = 4 @@ -20287,21 +23505,21 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/office) -"aTv" = ( +"aXh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/office) -"aTw" = ( +"aXi" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/office) -"aTx" = ( +"aXj" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, @@ -20310,14 +23528,14 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/office) -"aTy" = ( +"aXk" = ( /obj/effect/decal/cleanable/oil, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/office) -"aTz" = ( +"aXl" = ( /obj/machinery/holopad, /obj/structure/disposalpipe/segment{ dir = 4 @@ -20325,7 +23543,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/office) -"aTA" = ( +"aXm" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /obj/structure/disposalpipe/segment{ @@ -20333,13 +23551,20 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/office) -"aTB" = ( +"aXn" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/quartermaster/office) +"aXo" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/office) -"aTC" = ( +"aXp" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -20347,7 +23572,7 @@ dir = 4 }, /area/quartermaster/office) -"aTD" = ( +"aXq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining{ name = "Cargo Bay"; @@ -20365,7 +23590,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aTE" = ( +"aXr" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -20373,25 +23598,24 @@ dir = 8 }, /area/quartermaster/storage) -"aTF" = ( +"aXs" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aTG" = ( +"aXt" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aTH" = ( +"aXu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/neutral, /area/quartermaster/storage) -"aTI" = ( +"aXv" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -20400,14 +23624,14 @@ dir = 4 }, /area/quartermaster/storage) -"aTJ" = ( +"aXw" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, /turf/open/floor/plating, /area/quartermaster/qm) -"aTK" = ( +"aXx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -20415,13 +23639,20 @@ dir = 8 }, /area/quartermaster/qm) -"aTL" = ( +"aXy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/quartermaster/qm) +"aXz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/qm) -"aTM" = ( +"aXA" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -20430,7 +23661,7 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/qm) -"aTN" = ( +"aXB" = ( /obj/structure/table/reinforced, /obj/item/cartridge/quartermaster{ pixel_x = -6 @@ -20447,7 +23678,7 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/qm) -"aTO" = ( +"aXC" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -20456,8 +23687,10 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/qm) -"aTP" = ( -/obj/machinery/computer/security/mining, +"aXD" = ( +/obj/machinery/computer/security/mining{ + dir = 8 + }, /obj/machinery/requests_console{ department = "Quartermaster's Desk"; departmentType = 0; @@ -20475,13 +23708,13 @@ dir = 4 }, /area/quartermaster/qm) -"aTQ" = ( +"aXE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/quartermaster/qm) -"aTR" = ( +"aXF" = ( /obj/structure/closet/secure_closet/quartermaster, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -20495,7 +23728,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/qm) -"aTS" = ( +"aXG" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -20507,7 +23740,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/qm) -"aTT" = ( +"aXH" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/suit_storage_unit/mining/eva, /obj/effect/turf_decal/stripes/line{ @@ -20515,14 +23748,14 @@ }, /turf/open/floor/plasteel, /area/quartermaster/qm) -"aTU" = ( +"aXI" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/qm) -"aTV" = ( +"aXJ" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -20530,7 +23763,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/security/prison) -"aTW" = ( +"aXK" = ( /obj/machinery/door/airlock/glass_medical{ name = "Sanitarium"; req_access_txt = "63" @@ -20539,7 +23772,7 @@ dir = 1 }, /area/security/prison) -"aTX" = ( +"aXL" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -20548,12 +23781,12 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/security/prison) -"aTY" = ( +"aXM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/status_display, /turf/closed/wall, /area/security/prison) -"aTZ" = ( +"aXN" = ( /obj/machinery/door/airlock/glass_security{ name = "Long-Term Cell 3"; req_access_txt = "2" @@ -20561,11 +23794,11 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/floorgrime, /area/security/prison) -"aUa" = ( +"aXO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall, /area/security/prison) -"aUb" = ( +"aXP" = ( /obj/machinery/door/airlock/glass_security{ name = "Long-Term Cell 2"; req_access_txt = "2" @@ -20575,7 +23808,7 @@ }, /turf/open/floor/plasteel/floorgrime, /area/security/prison) -"aUc" = ( +"aXQ" = ( /obj/machinery/door/airlock/glass_security{ name = "Long-Term Cell 1"; req_access_txt = "2" @@ -20583,7 +23816,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/floorgrime, /area/security/prison) -"aUd" = ( +"aXR" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -20597,11 +23830,11 @@ dir = 8 }, /area/security/execution/education) -"aUe" = ( +"aXS" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/security/prison) -"aUf" = ( +"aXT" = ( /obj/machinery/door/airlock/external{ cyclelinkeddir = 1; name = "Security External Airlock"; @@ -20622,35 +23855,36 @@ }, /turf/open/floor/plating, /area/security/prison) -"aUg" = ( +"aXU" = ( /turf/closed/wall/mineral/plastitanium, /area/security/prison) -"aUh" = ( +"aXV" = ( /obj/machinery/light/small{ dir = 8 }, /turf/open/floor/engine/co2, /area/engine/atmos) -"aUi" = ( +"aXW" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /turf/open/floor/engine/co2, /area/engine/atmos) -"aUj" = ( +"aXX" = ( /obj/machinery/air_sensor{ frequency = 1441; id_tag = "co2_sensor" }, /turf/open/floor/engine/co2, /area/engine/atmos) -"aUk" = ( +"aXY" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/engine/atmos) -"aUl" = ( +"aXZ" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 4; frequency = 1441; input_tag = "co2_in"; name = "Carbon Dioxide Supply Control"; @@ -20663,14 +23897,14 @@ /obj/machinery/atmospherics/pipe/simple/green/visible, /turf/open/floor/plasteel/vault, /area/engine/atmos) -"aUm" = ( +"aYa" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/engine/atmos) -"aUn" = ( +"aYb" = ( /obj/machinery/atmospherics/components/unary/thermomachine/heater{ dir = 4; on = 1 @@ -20678,26 +23912,26 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/atmos) -"aUo" = ( +"aYc" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aUp" = ( +"aYd" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aUq" = ( +"aYe" = ( /obj/machinery/atmospherics/pipe/simple/general/visible, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aUr" = ( +"aYf" = ( /obj/structure/table/reinforced, /obj/item/folder/yellow, /obj/item/device/lightreplacer, @@ -20709,13 +23943,13 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aUs" = ( +"aYg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/engine/atmos) -"aUt" = ( +"aYh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/disposal/bin, /obj/machinery/light{ @@ -20732,7 +23966,7 @@ dir = 8 }, /area/engine/atmos) -"aUu" = ( +"aYi" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 @@ -20740,7 +23974,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/atmos) -"aUv" = ( +"aYj" = ( /obj/structure/table/reinforced, /obj/item/wrench, /obj/item/tank/internals/emergency_oxygen/engi, @@ -20751,7 +23985,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"aUw" = ( +"aYk" = ( /obj/structure/table/reinforced, /obj/item/clothing/gloves/color/black, /obj/item/clothing/suit/hazardvest, @@ -20764,14 +23998,14 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aUx" = ( +"aYl" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aUy" = ( +"aYm" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -20781,11 +24015,11 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aUz" = ( +"aYn" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aUA" = ( +"aYo" = ( /obj/machinery/atmospherics/pipe/manifold/yellow/visible{ dir = 8 }, @@ -20794,7 +24028,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aUB" = ( +"aYp" = ( /obj/machinery/atmospherics/pipe/simple/green/visible, /obj/machinery/atmospherics/components/binary/pump{ dir = 8; @@ -20804,7 +24038,7 @@ dir = 8 }, /area/engine/atmos) -"aUC" = ( +"aYq" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 10 }, @@ -20824,18 +24058,17 @@ dir = 5 }, /area/engine/atmos) -"aUD" = ( +"aYr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/space_heater, /turf/open/floor/plating, /area/maintenance/port/fore) -"aUE" = ( +"aYs" = ( /obj/structure/cable/white{ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -20844,7 +24077,7 @@ dir = 5 }, /area/maintenance/port/fore) -"aUF" = ( +"aYt" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -20860,22 +24093,24 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aUG" = ( +"aYu" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aUH" = ( +"aYv" = ( /obj/structure/cable/white{ icon_state = "4-8" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 8; - icon_state = "pipe-j2s"; name = "Hydroponics Junction"; sortType = 21 }, @@ -20884,7 +24119,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"aUI" = ( +"aYw" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -20895,25 +24130,13 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"aUJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/maintenance/port/fore) -"aUK" = ( +"aYx" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -20923,7 +24146,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"aUL" = ( +"aYy" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -20934,7 +24157,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"aUM" = ( +"aYz" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -20953,7 +24176,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"aUN" = ( +"aYA" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -20965,7 +24188,7 @@ dir = 1 }, /area/hallway/secondary/service) -"aUO" = ( +"aYB" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -20983,14 +24206,14 @@ dir = 4 }, /area/hallway/secondary/service) -"aUP" = ( +"aYC" = ( /turf/closed/wall, /area/crew_quarters/kitchen) -"aUQ" = ( +"aYD" = ( /obj/machinery/status_display, /turf/closed/wall, /area/crew_quarters/kitchen) -"aUR" = ( +"aYE" = ( /obj/machinery/light{ dir = 8 }, @@ -21001,7 +24224,7 @@ }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aUS" = ( +"aYF" = ( /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -21011,7 +24234,7 @@ }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aUT" = ( +"aYG" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/camera{ c_tag = "Arrivals Hallway - Bar"; @@ -21022,7 +24245,7 @@ dir = 1 }, /area/hallway/primary/fore) -"aUU" = ( +"aYH" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, @@ -21032,7 +24255,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"aUV" = ( +"aYI" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -21040,43 +24263,47 @@ dir = 4 }, /area/hallway/primary/fore) -"aUW" = ( +"aYJ" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/quartermaster/office) +"aYK" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/brown{ dir = 8 }, /area/quartermaster/office) -"aUX" = ( +"aYL" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/office) -"aUY" = ( +"aYM" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/office) -"aUZ" = ( +"aYN" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/office) -"aVa" = ( +"aYO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/office) -"aVb" = ( +"aYP" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/quartermaster/office) -"aVc" = ( +"aYQ" = ( /obj/structure/table/reinforced, /obj/item/folder, /obj/item/stamp/denied{ @@ -21091,7 +24318,7 @@ dir = 4 }, /area/quartermaster/office) -"aVd" = ( +"aYR" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/firealarm{ dir = 8; @@ -21108,25 +24335,25 @@ dir = 10 }, /area/quartermaster/storage) -"aVe" = ( +"aYS" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /turf/open/floor/plasteel/brown, /area/quartermaster/storage) -"aVf" = ( +"aYT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/purple/side, /area/quartermaster/storage) -"aVg" = ( +"aYU" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/brown, /area/quartermaster/storage) -"aVh" = ( +"aYV" = ( /obj/structure/closet/wardrobe/cargotech, /obj/machinery/airalarm{ dir = 1; @@ -21138,7 +24365,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aVi" = ( +"aYW" = ( /obj/structure/closet/wardrobe/cargotech, /obj/machinery/ai_status_display{ pixel_y = -32 @@ -21149,7 +24376,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aVj" = ( +"aYX" = ( /obj/machinery/disposal/bin, /obj/machinery/light, /obj/machinery/newscaster{ @@ -21164,11 +24391,11 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aVk" = ( +"aYY" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, /turf/open/floor/plasteel/brown, /area/quartermaster/storage) -"aVl" = ( +"aYZ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -21184,14 +24411,14 @@ dir = 6 }, /area/quartermaster/storage) -"aVm" = ( +"aZa" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, /turf/open/floor/plating, /area/quartermaster/qm) -"aVn" = ( +"aZb" = ( /obj/machinery/photocopier, /obj/machinery/firealarm{ dir = 8; @@ -21202,13 +24429,13 @@ dir = 10 }, /area/quartermaster/qm) -"aVo" = ( +"aZc" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, /obj/item/paper_bin, /turf/open/floor/plasteel/brown, /area/quartermaster/qm) -"aVp" = ( +"aZd" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light, /obj/machinery/newscaster{ @@ -21216,7 +24443,7 @@ }, /turf/open/floor/plasteel/brown, /area/quartermaster/qm) -"aVq" = ( +"aZe" = ( /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -21231,16 +24458,16 @@ }, /turf/open/floor/plasteel/brown, /area/quartermaster/qm) -"aVr" = ( +"aZf" = ( /turf/open/floor/plasteel/brown, /area/quartermaster/qm) -"aVs" = ( +"aZg" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/brown, /area/quartermaster/qm) -"aVt" = ( +"aZh" = ( /obj/structure/table/reinforced, /obj/machinery/computer/stockexchange, /obj/machinery/light{ @@ -21250,7 +24477,7 @@ dir = 6 }, /area/quartermaster/qm) -"aVu" = ( +"aZi" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -21261,7 +24488,7 @@ /obj/structure/cable/white, /turf/open/floor/plating, /area/quartermaster/qm) -"aVv" = ( +"aZj" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-8" @@ -21269,21 +24496,21 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/qm) -"aVw" = ( +"aZk" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/structure/cable/white{ icon_state = "2-8" }, /turf/open/floor/plasteel/red/corner, /area/security/prison) -"aVx" = ( +"aZl" = ( /obj/machinery/newscaster/security_unit{ pixel_y = 32 }, /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/red/corner, /area/security/prison) -"aVy" = ( +"aZm" = ( /obj/machinery/camera{ c_tag = "Security - Prison Port"; dir = 2; @@ -21291,7 +24518,7 @@ }, /turf/open/floor/plasteel/red/corner, /area/security/prison) -"aVz" = ( +"aZn" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -21301,7 +24528,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/red/corner, /area/security/prison) -"aVA" = ( +"aZo" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -21310,7 +24537,7 @@ }, /turf/open/floor/plasteel/red/corner, /area/security/prison) -"aVB" = ( +"aZp" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -21322,7 +24549,7 @@ }, /turf/open/floor/plasteel/red/corner, /area/security/prison) -"aVC" = ( +"aZq" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -21331,14 +24558,14 @@ }, /turf/open/floor/plasteel/red/corner, /area/security/prison) -"aVD" = ( +"aZr" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/red/corner, /area/security/prison) -"aVE" = ( +"aZs" = ( /obj/machinery/button/door{ id = "permacell3"; name = "Cell 3 Lockdown"; @@ -21362,7 +24589,7 @@ dir = 2 }, /area/security/prison) -"aVF" = ( +"aZt" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -21376,7 +24603,7 @@ }, /turf/open/floor/plasteel/red/corner, /area/security/prison) -"aVG" = ( +"aZu" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -21391,7 +24618,7 @@ }, /turf/open/floor/plasteel/red/corner, /area/security/prison) -"aVH" = ( +"aZv" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -21403,7 +24630,7 @@ }, /turf/open/floor/plasteel/red/corner, /area/security/prison) -"aVI" = ( +"aZw" = ( /obj/machinery/button/door{ id = "permacell2"; name = "Cell 2 Lockdown"; @@ -21430,7 +24657,7 @@ dir = 2 }, /area/security/prison) -"aVJ" = ( +"aZx" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -21444,7 +24671,7 @@ }, /turf/open/floor/plasteel/red/corner, /area/security/prison) -"aVK" = ( +"aZy" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -21454,7 +24681,7 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/red/corner, /area/security/prison) -"aVL" = ( +"aZz" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -21464,7 +24691,7 @@ }, /turf/open/floor/plasteel/red/corner, /area/security/prison) -"aVM" = ( +"aZA" = ( /obj/machinery/button/door{ id = "permacell1"; name = "Cell 1 Lockdown"; @@ -21487,7 +24714,7 @@ dir = 2 }, /area/security/prison) -"aVN" = ( +"aZB" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -21499,7 +24726,7 @@ }, /turf/open/floor/plasteel/red/corner, /area/security/prison) -"aVO" = ( +"aZC" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -21515,7 +24742,7 @@ }, /turf/open/floor/plasteel/red/corner, /area/security/prison) -"aVP" = ( +"aZD" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -21538,7 +24765,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, /area/security/prison) -"aVQ" = ( +"aZE" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -21549,7 +24776,7 @@ dir = 4 }, /area/security/prison) -"aVR" = ( +"aZF" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "2-8" @@ -21569,7 +24796,7 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"aVS" = ( +"aZG" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -21578,7 +24805,7 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"aVT" = ( +"aZH" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -21590,7 +24817,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/security/prison) -"aVU" = ( +"aZI" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -21598,13 +24825,13 @@ dir = 9 }, /area/security/prison) -"aVV" = ( +"aZJ" = ( /obj/structure/cable/white{ icon_state = "2-8" }, /turf/open/floor/plating, /area/security/prison) -"aVW" = ( +"aZK" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/camera{ c_tag = "Security - Escape Pod"; @@ -21615,11 +24842,11 @@ dir = 5 }, /area/security/prison) -"aVX" = ( +"aZL" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/prison) -"aVY" = ( +"aZM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -21630,16 +24857,16 @@ temperature = 2.7 }, /area/security/prison) -"aVZ" = ( +"aZN" = ( /obj/structure/shuttle/engine/propulsion/burst{ dir = 8 }, /turf/closed/wall/mineral/titanium, /area/shuttle/pod_3) -"aWa" = ( +"aZO" = ( /turf/closed/wall/mineral/titanium, /area/shuttle/pod_3) -"aWb" = ( +"aZP" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 4; frequency = 1441; @@ -21648,7 +24875,7 @@ }, /turf/open/floor/engine/co2, /area/engine/atmos) -"aWc" = ( +"aZQ" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 @@ -21656,21 +24883,21 @@ /obj/structure/grille, /turf/closed/wall/r_wall, /area/engine/atmos) -"aWd" = ( +"aZR" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, /turf/open/space, /area/engine/atmos) -"aWe" = ( +"aZS" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, /turf/open/floor/plating, /area/engine/atmos) -"aWf" = ( +"aZT" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, @@ -21679,7 +24906,7 @@ dir = 5 }, /area/engine/atmos) -"aWg" = ( +"aZU" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -21692,7 +24919,7 @@ }, /turf/open/floor/plasteel/vault, /area/engine/atmos) -"aWh" = ( +"aZV" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 }, @@ -21700,18 +24927,18 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"aWi" = ( +"aZW" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aWj" = ( +"aZX" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aWk" = ( +"aZY" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 8 }, @@ -21719,7 +24946,7 @@ /obj/item/wrench, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aWl" = ( +"aZZ" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 }, @@ -21729,7 +24956,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aWm" = ( +"baa" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, @@ -21738,7 +24965,7 @@ dir = 8 }, /area/engine/atmos) -"aWn" = ( +"bab" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ @@ -21746,7 +24973,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aWo" = ( +"bac" = ( /obj/structure/closet/secure_closet/atmospherics, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/end{ @@ -21754,25 +24981,25 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aWp" = ( +"bad" = ( /obj/machinery/pipedispenser/disposal/transit_tube, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/engine/atmos) -"aWq" = ( +"bae" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aWr" = ( +"baf" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aWs" = ( +"bag" = ( /obj/machinery/atmospherics/components/trinary/mixer{ dir = 1; name = "air mixer"; @@ -21783,7 +25010,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aWt" = ( +"bah" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -21801,13 +25028,13 @@ dir = 5 }, /area/engine/atmos) -"aWu" = ( +"bai" = ( /obj/machinery/atmospherics/pipe/manifold/yellow/visible, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/engine/atmos) -"aWv" = ( +"baj" = ( /obj/machinery/meter, /obj/structure/grille, /obj/machinery/atmospherics/pipe/simple/yellow/visible{ @@ -21815,7 +25042,7 @@ }, /turf/closed/wall/r_wall, /area/engine/atmos) -"aWw" = ( +"bak" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ dir = 8; frequency = 1441; @@ -21824,20 +25051,24 @@ }, /turf/open/floor/engine/o2, /area/engine/atmos) -"aWx" = ( +"bal" = ( /obj/machinery/camera{ c_tag = "Atmospherics - Oxygen Supply"; name = "atmospherics camera" }, /turf/open/floor/engine/o2, /area/engine/atmos) -"aWy" = ( +"bam" = ( /turf/open/floor/engine/o2, /area/engine/atmos) -"aWz" = ( +"ban" = ( /turf/open/floor/plasteel/neutral/corner, /area/maintenance/port/fore) -"aWA" = ( +"bao" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"bap" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -21845,14 +25076,18 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port/fore) -"aWB" = ( +"baq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/hydroponics) -"aWC" = ( +"bar" = ( +/turf/closed/wall, +/area/hydroponics) +"bas" = ( /obj/structure/disposalpipe/segment, /turf/closed/wall, /area/hydroponics) -"aWD" = ( +"bat" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -21869,19 +25104,19 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"aWE" = ( +"bau" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/closed/wall, /area/hydroponics) -"aWF" = ( +"bav" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/hydroponics) -"aWG" = ( +"baw" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_x = -26 @@ -21895,7 +25130,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"aWH" = ( +"bax" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -21906,23 +25141,19 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"aWI" = ( +"bay" = ( /obj/structure/kitchenspike, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"aWJ" = ( -/obj/structure/sink/kitchen{ - desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; - name = "sink"; - pixel_y = 28 - }, +"baz" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 }, +/obj/structure/reagent_dispensers/cooking_oil, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"aWK" = ( +"baA" = ( /obj/machinery/gibber, /obj/machinery/light{ dir = 1 @@ -21930,7 +25161,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"aWL" = ( +"baB" = ( /obj/structure/sink/kitchen{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; name = "sink"; @@ -21946,34 +25177,33 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"aWM" = ( +"baC" = ( /obj/structure/closet/secure_closet/freezer/meat, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"aWN" = ( +"baD" = ( /obj/machinery/newscaster{ pixel_x = -32 }, /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aWO" = ( +"baE" = ( /obj/structure/chair/stool/bar, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aWP" = ( +"baF" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ dir = 8 }, /turf/open/floor/plasteel/redyellow, /area/crew_quarters/bar/atrium) -"aWQ" = ( +"baG" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -26 }, @@ -21985,7 +25215,7 @@ dir = 1 }, /area/hallway/primary/fore) -"aWR" = ( +"baH" = ( /obj/machinery/autolathe, /obj/machinery/airalarm{ dir = 1; @@ -22005,41 +25235,43 @@ dir = 10 }, /area/quartermaster/office) -"aWS" = ( +"baI" = ( /obj/machinery/disposal/bin, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/trunk, /turf/open/floor/plasteel/brown, /area/quartermaster/office) -"aWT" = ( +"baJ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/brown, /area/quartermaster/office) -"aWU" = ( +"baK" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/brown, /area/quartermaster/office) -"aWV" = ( +"baL" = ( /obj/structure/table, /obj/item/clipboard, /obj/item/toy/figure/cargotech, /turf/open/floor/plasteel/brown, /area/quartermaster/office) -"aWX" = ( +"baM" = ( /obj/structure/filingcabinet/filingcabinet, /turf/open/floor/plasteel/brown, /area/quartermaster/office) -"aWY" = ( -/obj/machinery/computer/cargo, +"baN" = ( +/obj/machinery/computer/cargo{ + dir = 4 + }, /turf/open/floor/plasteel/brown, /area/quartermaster/office) -"aWZ" = ( +"baO" = ( /obj/structure/chair/office/dark, /obj/effect/landmark/start/cargo_technician, /turf/open/floor/plasteel/brown, /area/quartermaster/office) -"aXa" = ( +"baP" = ( /obj/structure/table/reinforced, /obj/machinery/computer/stockexchange, /obj/machinery/light{ @@ -22057,19 +25289,19 @@ dir = 6 }, /area/quartermaster/office) -"aXb" = ( +"baQ" = ( /turf/closed/wall, /area/quartermaster/miningoffice) -"aXc" = ( +"baR" = ( /obj/machinery/status_display, /turf/closed/wall, /area/quartermaster/miningoffice) -"aXd" = ( +"baS" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/quartermaster/miningoffice) -"aXe" = ( +"baT" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_mining{ name = "Mining Office"; @@ -22084,11 +25316,11 @@ }, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"aXf" = ( +"baU" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/miningoffice) -"aXg" = ( +"baV" = ( /obj/structure/plasticflaps{ opacity = 1 }, @@ -22097,7 +25329,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"aXh" = ( +"baW" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/firedoor, /obj/structure/cable/white{ @@ -22116,11 +25348,11 @@ }, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"aXi" = ( +"baX" = ( /obj/machinery/status_display, /turf/closed/wall, /area/quartermaster/qm) -"aXj" = ( +"baY" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -22134,7 +25366,7 @@ /obj/structure/cable/white, /turf/open/floor/plating, /area/quartermaster/qm) -"aXk" = ( +"baZ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -22146,7 +25378,7 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"aXl" = ( +"bba" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -22157,7 +25389,7 @@ dir = 1 }, /area/security/prison) -"aXm" = ( +"bbb" = ( /obj/machinery/firealarm{ dir = 1; pixel_y = -26 @@ -22173,7 +25405,7 @@ dir = 1 }, /area/security/prison) -"aXn" = ( +"bbc" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -22185,7 +25417,7 @@ dir = 1 }, /area/security/prison) -"aXo" = ( +"bbd" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -22196,7 +25428,7 @@ dir = 1 }, /area/security/prison) -"aXp" = ( +"bbe" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -22205,7 +25437,7 @@ dir = 1 }, /area/security/prison) -"aXq" = ( +"bbf" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -22213,7 +25445,7 @@ dir = 1 }, /area/security/prison) -"aXr" = ( +"bbg" = ( /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -22226,13 +25458,13 @@ dir = 1 }, /area/security/prison) -"aXs" = ( +"bbh" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/red/corner{ dir = 1 }, /area/security/prison) -"aXt" = ( +"bbi" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -22243,7 +25475,7 @@ dir = 1 }, /area/security/prison) -"aXu" = ( +"bbj" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -22255,7 +25487,7 @@ dir = 1 }, /area/security/prison) -"aXv" = ( +"bbk" = ( /obj/structure/cable/white, /obj/machinery/power/apc/highcap/five_k{ dir = 2; @@ -22269,7 +25501,7 @@ dir = 1 }, /area/security/prison) -"aXw" = ( +"bbl" = ( /obj/machinery/light, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -22282,7 +25514,7 @@ dir = 1 }, /area/security/prison) -"aXx" = ( +"bbm" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -22291,7 +25523,7 @@ dir = 1 }, /area/security/prison) -"aXy" = ( +"bbn" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/structure/sign/pods{ dir = 8; @@ -22304,7 +25536,7 @@ dir = 4 }, /area/security/prison) -"aXz" = ( +"bbo" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -22312,7 +25544,7 @@ }, /turf/open/floor/plating, /area/security/prison) -"aXA" = ( +"bbp" = ( /obj/machinery/light/small, /obj/structure/sign/securearea{ pixel_y = -32 @@ -22326,7 +25558,7 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"aXB" = ( +"bbq" = ( /obj/machinery/door/poddoor/preopen{ id = "brigprison"; name = "Prison Blast door" @@ -22337,7 +25569,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/security/prison) -"aXC" = ( +"bbr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -22345,7 +25577,7 @@ icon_state = "panelscorched" }, /area/security/prison) -"aXD" = ( +"bbs" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -22355,10 +25587,10 @@ }, /turf/open/floor/plasteel/neutral, /area/security/prison) -"aXE" = ( +"bbt" = ( /turf/open/floor/plating, /area/security/prison) -"aXF" = ( +"bbu" = ( /obj/machinery/door/airlock/external{ name = "Escape Pod 3" }, @@ -22370,7 +25602,7 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"aXG" = ( +"bbv" = ( /obj/machinery/door/airlock/shuttle{ name = "Escape Pod Airlock" }, @@ -22386,7 +25618,7 @@ }, /turf/open/floor/plasteel/white, /area/shuttle/pod_3) -"aXH" = ( +"bbw" = ( /obj/structure/chair{ dir = 4 }, @@ -22406,7 +25638,7 @@ }, /turf/open/floor/plasteel/white, /area/shuttle/pod_3) -"aXI" = ( +"bbx" = ( /obj/structure/chair{ dir = 4 }, @@ -22426,11 +25658,11 @@ }, /turf/open/floor/plasteel/white, /area/shuttle/pod_3) -"aXJ" = ( +"bby" = ( /obj/effect/spawner/structure/window/shuttle, /turf/open/floor/plating, /area/shuttle/pod_3) -"aXK" = ( +"bbz" = ( /obj/docking_port/stationary/random{ dir = 4; id = "pod_lavaland4"; @@ -22438,7 +25670,7 @@ }, /turf/open/space, /area/space) -"aXM" = ( +"bbA" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible, /obj/structure/sign/securearea{ pixel_x = -32 @@ -22455,13 +25687,13 @@ dir = 5 }, /area/engine/atmos) -"aXN" = ( +"bbB" = ( /obj/machinery/atmospherics/pipe/simple/green/visible, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/engine/atmos) -"aXO" = ( +"bbC" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 4 @@ -22469,22 +25701,21 @@ /obj/machinery/meter, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aXP" = ( +"bbD" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/atmospheric_technician, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aXQ" = ( +"bbE" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/trinary/filter{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aXR" = ( +"bbF" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/fireaxecabinet{ pixel_x = -32 @@ -22493,17 +25724,16 @@ dir = 8 }, /area/engine/atmos) -"aXS" = ( +"bbG" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/atmospheric_technician, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aXT" = ( +"bbH" = ( /obj/machinery/suit_storage_unit/atmos, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -22511,14 +25741,14 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aXU" = ( +"bbI" = ( /obj/machinery/pipedispenser/disposal, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/engine/atmos) -"aXV" = ( +"bbJ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -22527,15 +25757,16 @@ /obj/effect/landmark/start/atmospheric_technician, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aXX" = ( +"bbK" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/engine/atmos) -"aXY" = ( +"bbL" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 8; frequency = 1441; input_tag = "o2_in"; name = "Oxygen Supply Control"; @@ -22550,31 +25781,35 @@ dir = 4 }, /area/engine/atmos) -"aXZ" = ( +"bbM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/engine/atmos) -"aYa" = ( +"bbN" = ( /obj/machinery/air_sensor{ frequency = 1441; id_tag = "o2_sensor" }, /turf/open/floor/engine/o2, /area/engine/atmos) -"aYb" = ( +"bbO" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/engine/o2, /area/engine/atmos) -"aYc" = ( +"bbP" = ( /obj/machinery/light/small{ dir = 4 }, /turf/open/floor/engine/o2, /area/engine/atmos) -"aYd" = ( +"bbQ" = ( +/obj/structure/sign/poster/random, +/turf/closed/wall, +/area/maintenance/port/fore) +"bbR" = ( /obj/structure/reagent_dispensers/watertank, /obj/structure/window/reinforced{ dir = 1; @@ -22584,12 +25819,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"aYe" = ( +"bbS" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"aYf" = ( +"bbT" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -22597,7 +25832,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"aYg" = ( +"bbU" = ( /obj/structure/closet/secure_closet/hydroponics, /obj/structure/extinguisher_cabinet{ pixel_y = 32 @@ -22606,12 +25841,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"aYh" = ( +"bbV" = ( /obj/structure/closet/secure_closet/hydroponics, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"aYi" = ( +"bbW" = ( /obj/structure/closet/secure_closet/hydroponics, /obj/machinery/light{ dir = 1 @@ -22619,7 +25854,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"aYj" = ( +"bbX" = ( /obj/structure/closet/wardrobe/botanist, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -22628,14 +25863,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"aYk" = ( +"bbY" = ( /obj/structure/table/glass, /obj/item/wrench, /obj/item/clothing/suit/apron, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"aYl" = ( +"bbZ" = ( /obj/machinery/airalarm{ pixel_y = 22 }, @@ -22649,7 +25884,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"aYm" = ( +"bca" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -22657,7 +25892,7 @@ dir = 1 }, /area/hallway/secondary/service) -"aYn" = ( +"bcb" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -22668,7 +25903,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"aYo" = ( +"bcc" = ( /obj/structure/plasticflaps{ opacity = 1 }, @@ -22685,7 +25920,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"aYp" = ( +"bcd" = ( /obj/machinery/light_switch{ pixel_x = -26; pixel_y = 26 @@ -22696,22 +25931,22 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"aYq" = ( +"bce" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/plasteel/freezer, /area/crew_quarters/kitchen) -"aYr" = ( +"bcf" = ( /mob/living/simple_animal/hostile/retaliate/goat{ name = "Pete" }, /turf/open/floor/plasteel/freezer, /area/crew_quarters/kitchen) -"aYs" = ( +"bcg" = ( /turf/open/floor/plasteel/freezer, /area/crew_quarters/kitchen) -"aYt" = ( +"bch" = ( /obj/structure/closet/secure_closet/freezer/kitchen, /obj/structure/extinguisher_cabinet{ pixel_x = 26 @@ -22719,7 +25954,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"aYu" = ( +"bci" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/machinery/door/poddoor/shutters/preopen{ @@ -22737,7 +25972,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"aYv" = ( +"bcj" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/machinery/door/poddoor/shutters/preopen{ @@ -22747,7 +25982,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"aYw" = ( +"bck" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/machinery/door/poddoor/shutters/preopen{ @@ -22759,11 +25994,11 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"aYx" = ( +"bcl" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall, /area/crew_quarters/kitchen) -"aYy" = ( +"bcm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ @@ -22774,7 +26009,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"aYz" = ( +"bcn" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -22788,7 +26023,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"aYA" = ( +"bco" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ @@ -22799,13 +26034,13 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"aYB" = ( +"bcp" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/quartermaster/office) -"aYC" = ( +"bcq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_mining{ name = "Cargo Office"; @@ -22821,7 +26056,11 @@ }, /turf/open/floor/plasteel, /area/quartermaster/office) -"aYD" = ( +"bcr" = ( +/obj/machinery/status_display, +/turf/closed/wall, +/area/quartermaster/office) +"bcs" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/item/folder/yellow, @@ -22833,7 +26072,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/office) -"aYE" = ( +"bct" = ( /obj/structure/filingcabinet/chestdrawer, /obj/machinery/light{ dir = 8 @@ -22846,34 +26085,34 @@ dir = 9 }, /area/quartermaster/miningoffice) -"aYF" = ( +"bcu" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/purple/side{ dir = 1 }, /area/quartermaster/miningoffice) -"aYG" = ( +"bcv" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/brown{ dir = 1 }, /area/quartermaster/miningoffice) -"aYH" = ( +"bcw" = ( /obj/structure/table/reinforced, /obj/item/storage/belt/utility, /turf/open/floor/plasteel/purple/side{ dir = 1 }, /area/quartermaster/miningoffice) -"aYI" = ( +"bcx" = ( /obj/structure/table/reinforced, /obj/machinery/computer/stockexchange, /turf/open/floor/plasteel/brown{ dir = 5 }, /area/quartermaster/miningoffice) -"aYJ" = ( +"bcy" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/item/clipboard, @@ -22891,13 +26130,13 @@ }, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"aYK" = ( +"bcz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"aYL" = ( +"bcA" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -22905,18 +26144,18 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"aYM" = ( +"bcB" = ( /obj/structure/closet/secure_closet/miner, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"aYN" = ( +"bcC" = ( /obj/structure/closet/secure_closet/miner, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"aYO" = ( +"bcD" = ( /obj/machinery/mineral/equipment_vendor, /obj/effect/decal/cleanable/dirt, /obj/machinery/light{ @@ -22925,7 +26164,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"aYP" = ( +"bcE" = ( /obj/structure/table, /obj/machinery/microwave{ desc = "Cooks and boils stuff, somehow."; @@ -22936,13 +26175,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"aYQ" = ( +"bcF" = ( /obj/structure/table, /obj/item/storage/box/donkpockets, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"aYR" = ( +"bcG" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -22950,25 +26189,25 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/miningoffice) -"aYS" = ( +"bcH" = ( /turf/closed/wall/mineral/titanium, /area/shuttle/mining) -"aYT" = ( +"bcI" = ( /obj/effect/spawner/structure/window/shuttle, /turf/open/floor/plating, /area/shuttle/mining) -"aYU" = ( +"bcJ" = ( /obj/structure/table/reinforced, /obj/item/folder/red, /obj/item/pen, /turf/open/floor/plasteel/vault, /area/security/prison) -"aYV" = ( +"bcK" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, /turf/open/floor/plasteel/vault, /area/security/prison) -"aYW" = ( +"bcL" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_security{ name = "Prison Wing"; @@ -22986,12 +26225,12 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"aYX" = ( +"bcM" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/prison) -"aYY" = ( +"bcN" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_security{ name = "Prison Wing"; @@ -23006,7 +26245,7 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"aYZ" = ( +"bcO" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/pen, @@ -23018,7 +26257,7 @@ }, /turf/open/floor/plasteel/vault, /area/security/prison) -"aZa" = ( +"bcP" = ( /obj/structure/rack, /obj/structure/cable/white{ icon_state = "1-2" @@ -23029,7 +26268,7 @@ /obj/item/device/assembly/flash/handheld, /turf/open/floor/plasteel/vault, /area/security/prison) -"aZb" = ( +"bcQ" = ( /obj/structure/table/reinforced, /obj/item/storage/box/bodybags{ pixel_x = 3; @@ -23041,7 +26280,7 @@ }, /turf/open/floor/plasteel/vault, /area/security/prison) -"aZc" = ( +"bcR" = ( /obj/structure/closet/secure_closet/brig{ name = "Prisoner Locker" }, @@ -23053,7 +26292,7 @@ }, /turf/open/floor/plasteel/vault, /area/security/prison) -"aZd" = ( +"bcS" = ( /obj/structure/closet/secure_closet/brig{ name = "Prisoner Locker" }, @@ -23062,7 +26301,7 @@ }, /turf/open/floor/plasteel/vault, /area/security/prison) -"aZe" = ( +"bcT" = ( /obj/structure/closet/secure_closet/brig{ name = "Prisoner Locker" }, @@ -23071,7 +26310,7 @@ }, /turf/open/floor/plasteel/vault, /area/security/prison) -"aZf" = ( +"bcU" = ( /obj/structure/table, /obj/item/storage/box/bodybags, /obj/item/pen, @@ -23080,7 +26319,7 @@ dir = 10 }, /area/security/prison) -"aZg" = ( +"bcV" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -23090,7 +26329,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/red/side, /area/security/prison) -"aZh" = ( +"bcW" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, @@ -23100,17 +26339,17 @@ temperature = 2.7 }, /area/security/prison) -"aZi" = ( +"bcX" = ( /turf/open/floor/engine/plasma, /area/engine/atmos) -"aZj" = ( +"bcY" = ( /obj/machinery/camera{ c_tag = "Atmospherics - Plasma Cell"; name = "atmospherics camera" }, /turf/open/floor/engine/plasma, /area/engine/atmos) -"aZk" = ( +"bcZ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ dir = 4; frequency = 1441; @@ -23119,7 +26358,7 @@ }, /turf/open/floor/engine/plasma, /area/engine/atmos) -"aZl" = ( +"bda" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 }, @@ -23128,7 +26367,7 @@ dir = 5 }, /area/engine/atmos) -"aZm" = ( +"bdb" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -23146,7 +26385,7 @@ dir = 9 }, /area/engine/atmos) -"aZn" = ( +"bdc" = ( /obj/machinery/atmospherics/pipe/manifold/yellow/visible{ dir = 4 }, @@ -23156,7 +26395,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"aZo" = ( +"bdd" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 }, @@ -23165,40 +26404,40 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"aZq" = ( +"bde" = ( /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aZr" = ( +"bdf" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 8 }, /obj/machinery/meter, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aZs" = ( +"bdg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/caution{ dir = 8 }, /area/engine/atmos) -"aZt" = ( +"bdh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"aZu" = ( +"bdi" = ( /obj/structure/closet/secure_closet/atmospherics, /obj/effect/turf_decal/stripes/end, /turf/open/floor/plasteel, /area/engine/atmos) -"aZv" = ( +"bdj" = ( /obj/machinery/pipedispenser, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/engine/atmos) -"aZw" = ( +"bdk" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -23213,7 +26452,7 @@ dir = 6 }, /area/engine/atmos) -"aZx" = ( +"bdl" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, @@ -23221,7 +26460,7 @@ dir = 5 }, /area/engine/atmos) -"aZy" = ( +"bdm" = ( /obj/machinery/meter, /obj/structure/grille, /obj/machinery/atmospherics/pipe/simple/green/visible{ @@ -23229,7 +26468,7 @@ }, /turf/closed/wall/r_wall, /area/engine/atmos) -"aZz" = ( +"bdn" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 8; frequency = 1441; @@ -23237,11 +26476,11 @@ }, /turf/open/floor/engine/o2, /area/engine/atmos) -"aZA" = ( +"bdo" = ( /mob/living/simple_animal/cockroach, /turf/open/floor/plating, /area/maintenance/port/fore) -"aZB" = ( +"bdp" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -23251,16 +26490,25 @@ dir = 4 }, /area/maintenance/port/fore) -"aZD" = ( +"bdq" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/structure/window/reinforced, +/obj/item/reagent_containers/glass/bucket, +/obj/effect/turf_decal/bot, +/obj/structure/sign/poster/official/nanotrasen_logo{ + pixel_x = -32 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"bdr" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/greenblue/side{ dir = 1 }, /area/hydroponics) -"aZE" = ( +"bds" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -23274,7 +26522,7 @@ dir = 1 }, /area/hydroponics) -"aZF" = ( +"bdt" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -23283,14 +26531,13 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/greenblue/side{ dir = 1 }, /area/hydroponics) -"aZG" = ( +"bdu" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -23301,7 +26548,7 @@ dir = 1 }, /area/hydroponics) -"aZH" = ( +"bdv" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -23315,7 +26562,7 @@ dir = 1 }, /area/hydroponics) -"aZI" = ( +"bdw" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -23326,7 +26573,7 @@ dir = 1 }, /area/hydroponics) -"aZJ" = ( +"bdx" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -23336,7 +26583,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics) -"aZK" = ( +"bdy" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -23356,7 +26603,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"aZL" = ( +"bdz" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -23370,7 +26617,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"aZM" = ( +"bdA" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -23381,7 +26628,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"aZN" = ( +"bdB" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -23401,7 +26648,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"aZO" = ( +"bdC" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -23412,7 +26659,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"aZP" = ( +"bdD" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -23421,7 +26668,7 @@ }, /turf/open/floor/plasteel/freezer, /area/crew_quarters/kitchen) -"aZQ" = ( +"bdE" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -23431,7 +26678,7 @@ }, /turf/open/floor/plasteel/freezer, /area/crew_quarters/kitchen) -"aZR" = ( +"bdF" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -23440,12 +26687,12 @@ }, /turf/open/floor/plasteel/freezer, /area/crew_quarters/kitchen) -"aZS" = ( +"bdG" = ( /obj/structure/closet/chefcloset, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"aZT" = ( +"bdH" = ( /obj/structure/rack, /obj/item/book/manual/chef_recipes, /obj/item/stack/packageWrap, @@ -23457,13 +26704,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"aZU" = ( +"bdI" = ( /turf/open/floor/plasteel/red, /area/crew_quarters/kitchen) -"aZV" = ( +"bdJ" = ( /turf/open/floor/plasteel/white, /area/crew_quarters/kitchen) -"aZW" = ( +"bdK" = ( /obj/structure/sink/kitchen{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; name = "sink"; @@ -23471,11 +26718,11 @@ }, /turf/open/floor/plasteel/red, /area/crew_quarters/kitchen) -"aZX" = ( +"bdL" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/red, /area/crew_quarters/kitchen) -"aZY" = ( +"bdM" = ( /obj/machinery/light{ dir = 4 }, @@ -23498,10 +26745,10 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"aZZ" = ( +"bdN" = ( /turf/closed/wall, /area/hallway/primary/fore) -"baa" = ( +"bdO" = ( /obj/structure/table, /obj/item/paper_bin, /obj/item/pen, @@ -23516,7 +26763,7 @@ dir = 9 }, /area/hallway/primary/fore) -"bab" = ( +"bdP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, /obj/item/twohanded/required/kirbyplants{ @@ -23526,19 +26773,19 @@ dir = 1 }, /area/hallway/primary/fore) -"bac" = ( +"bdQ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/brown{ dir = 1 }, /area/hallway/primary/fore) -"bad" = ( +"bdR" = ( /turf/open/floor/plasteel/brown{ dir = 1 }, /area/hallway/primary/fore) -"bae" = ( +"bdS" = ( /obj/machinery/camera{ c_tag = "Cargo - Waiting Room"; dir = 2; @@ -23548,60 +26795,62 @@ dir = 4 }, /area/hallway/primary/fore) -"baf" = ( +"bdT" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"bag" = ( +"bdU" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"bah" = ( -/obj/machinery/computer/cargo/request, +"bdV" = ( +/obj/machinery/computer/cargo/request{ + dir = 8 + }, /obj/machinery/light{ dir = 1 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"bai" = ( +"bdW" = ( /obj/machinery/computer/cargo/request, /turf/open/floor/plasteel/purple/side{ dir = 8 }, /area/quartermaster/miningoffice) -"baj" = ( +"bdX" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"bak" = ( +"bdY" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"bal" = ( +"bdZ" = ( /obj/structure/chair/office/dark{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"bam" = ( +"bea" = ( /obj/structure/filingcabinet/filingcabinet, /turf/open/floor/plasteel/purple/side{ dir = 4 }, /area/quartermaster/miningoffice) -"ban" = ( +"beb" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/brown{ dir = 8 }, /area/quartermaster/miningoffice) -"bao" = ( +"bec" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -23610,35 +26859,35 @@ dir = 1 }, /area/quartermaster/miningoffice) -"bap" = ( +"bed" = ( /turf/open/floor/plasteel/loadingarea{ dir = 1 }, /area/quartermaster/miningoffice) -"baq" = ( +"bee" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/loadingarea{ dir = 1 }, /area/quartermaster/miningoffice) -"bar" = ( +"bef" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/brown{ dir = 1 }, /area/quartermaster/miningoffice) -"bas" = ( +"beg" = ( /turf/open/floor/plasteel/purple/side{ dir = 1 }, /area/quartermaster/miningoffice) -"bat" = ( +"beh" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/brown{ dir = 5 }, /area/quartermaster/miningoffice) -"bau" = ( +"bei" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -23646,7 +26895,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/miningoffice) -"bav" = ( +"bej" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -23656,7 +26905,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/miningoffice) -"baw" = ( +"bek" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -23667,7 +26916,7 @@ /obj/structure/sign/vacuum, /turf/open/floor/plating, /area/quartermaster/miningoffice) -"bax" = ( +"bel" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -23677,7 +26926,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/miningoffice) -"bay" = ( +"bem" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/emergency, /obj/effect/turf_decal/stripes/line{ @@ -23688,7 +26937,7 @@ }, /turf/open/floor/plasteel, /area/shuttle/mining) -"baz" = ( +"ben" = ( /obj/machinery/computer/shuttle/mining, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -23696,7 +26945,7 @@ }, /turf/open/floor/plasteel, /area/shuttle/mining) -"baA" = ( +"beo" = ( /obj/structure/table/reinforced, /obj/effect/decal/cleanable/dirt, /obj/item/crowbar/red, @@ -23711,7 +26960,7 @@ }, /turf/open/floor/plasteel, /area/shuttle/mining) -"baB" = ( +"bep" = ( /obj/machinery/door/poddoor/preopen{ id = "brigprison"; name = "Prison Blast door" @@ -23727,7 +26976,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/security/prison) -"baC" = ( +"beq" = ( /obj/machinery/door/poddoor/preopen{ id = "brigprison"; name = "Prison Blast door" @@ -23735,7 +26984,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/security/prison) -"baD" = ( +"ber" = ( /obj/machinery/door/poddoor/preopen{ id = "brigprison"; name = "Prison Blast door" @@ -23744,7 +26993,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/security/prison) -"baE" = ( +"bes" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_y = 26 @@ -23759,32 +27008,33 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"baF" = ( +"bet" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/bombcloset/security, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/security/prison) -"baG" = ( +"beu" = ( /obj/machinery/light/small{ dir = 8 }, /turf/open/floor/engine/plasma, /area/engine/atmos) -"baH" = ( +"bev" = ( /obj/machinery/portable_atmospherics/canister/toxins, /turf/open/floor/engine/plasma, /area/engine/atmos) -"baI" = ( +"bew" = ( /obj/machinery/air_sensor{ frequency = 1441; id_tag = "tox_sensor" }, /turf/open/floor/engine/plasma, /area/engine/atmos) -"baJ" = ( +"bex" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 4; frequency = 1441; input_tag = "tox_in"; name = "Plasma Supply Control"; @@ -23800,15 +27050,15 @@ dir = 8 }, /area/engine/atmos) -"baK" = ( +"bey" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"baL" = ( +"bez" = ( /obj/machinery/atmospherics/pipe/simple/general/visible, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"baM" = ( +"beA" = ( /obj/structure/table/reinforced, /obj/item/device/analyzer{ pixel_x = 7; @@ -23819,7 +27069,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"baN" = ( +"beB" = ( /obj/effect/decal/cleanable/dirt, /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/firealarm{ @@ -23831,13 +27081,13 @@ dir = 8 }, /area/engine/atmos) -"baO" = ( +"beC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/atmos) -"baP" = ( +"beD" = ( /obj/structure/closet/wardrobe/atmospherics_yellow, /obj/effect/decal/cleanable/dirt, /obj/machinery/light{ @@ -23845,13 +27095,15 @@ }, /obj/item/storage/backpack/satchel/eng, /obj/effect/turf_decal/bot, +/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos, +/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos, /turf/open/floor/plasteel, /area/engine/atmos) -"baQ" = ( +"beE" = ( /obj/structure/sign/atmosplaque, /turf/closed/wall, /area/engine/atmos) -"baR" = ( +"beF" = ( /obj/structure/table/reinforced, /obj/item/stack/packageWrap, /obj/item/hand_labeler, @@ -23860,12 +27112,12 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"baS" = ( +"beG" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/cyan/visible, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"baT" = ( +"beH" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 5 }, @@ -23874,7 +27126,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"baU" = ( +"beI" = ( /obj/machinery/atmospherics/pipe/simple/green/visible, /obj/machinery/atmospherics/components/binary/pump{ dir = 8; @@ -23884,7 +27136,7 @@ dir = 8 }, /area/engine/atmos) -"baV" = ( +"beJ" = ( /obj/structure/sign/securearea{ pixel_x = 32 }, @@ -23898,7 +27150,7 @@ dir = 5 }, /area/engine/atmos) -"baW" = ( +"beK" = ( /obj/structure/closet/firecloset, /obj/machinery/light/small{ dir = 4 @@ -23906,7 +27158,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"baX" = ( +"beL" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -23917,7 +27169,7 @@ dir = 4 }, /area/maintenance/port/fore) -"baY" = ( +"beM" = ( /obj/structure/closet/crate/hydroponics, /obj/item/cultivator, /obj/item/hatchet, @@ -23926,20 +27178,20 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"baZ" = ( +"beN" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/plasteel/greenblue/side, /area/hydroponics) -"bba" = ( +"beO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/greenblue/side, /area/hydroponics) -"bbb" = ( +"beP" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -23947,7 +27199,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics) -"bbc" = ( +"beQ" = ( /obj/machinery/camera{ c_tag = "Hydroponics Backroom"; dir = 1; @@ -23955,7 +27207,7 @@ }, /turf/open/floor/plasteel/greenblue/side, /area/hydroponics) -"bbd" = ( +"beR" = ( /obj/structure/cable/white, /obj/machinery/power/apc{ dir = 2; @@ -23965,16 +27217,17 @@ }, /turf/open/floor/plasteel/greenblue/side, /area/hydroponics) -"bbe" = ( +"beS" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plasteel/greenblue/side, /area/hydroponics) -"bbf" = ( +"beT" = ( +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/greenblue/side, /area/hydroponics) -"bbg" = ( +"beU" = ( /obj/machinery/light_switch{ pixel_x = 8; pixel_y = -26 @@ -23982,7 +27235,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics) -"bbh" = ( +"beV" = ( /obj/structure/plasticflaps{ opacity = 1 }, @@ -23996,7 +27249,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"bbi" = ( +"beW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/white{ icon_state = "1-2" @@ -24004,14 +27257,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"bbj" = ( +"beX" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/hallway/secondary/service) -"bbk" = ( +"beY" = ( /obj/structure/kitchenspike, /obj/machinery/firealarm{ dir = 8; @@ -24021,7 +27274,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bbl" = ( +"beZ" = ( /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -24034,12 +27287,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bbm" = ( +"bfa" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bbn" = ( +"bfb" = ( /obj/structure/cable/white, /obj/machinery/power/apc{ dir = 2; @@ -24050,12 +27303,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bbo" = ( +"bfc" = ( /obj/machinery/chem_master/condimaster, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bbp" = ( +"bfd" = ( /obj/structure/closet/secure_closet/freezer/fridge, /obj/machinery/newscaster{ pixel_x = -32 @@ -24063,22 +27316,26 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bbq" = ( +"bfe" = ( /obj/machinery/deepfryer, /mob/living/carbon/monkey/punpun, /turf/open/floor/plasteel/red, /area/crew_quarters/kitchen) -"bbr" = ( +"bff" = ( /obj/machinery/holopad, /obj/effect/landmark/start/cook, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bbs" = ( +"bfg" = ( +/obj/machinery/deepfryer, +/turf/open/floor/plasteel/red, +/area/crew_quarters/kitchen) +"bfh" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/white, /area/crew_quarters/kitchen) -"bbt" = ( +"bfi" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/machinery/door/poddoor/shutters/preopen{ @@ -24088,17 +27345,17 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bbu" = ( +"bfj" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/brown/corner{ dir = 4 }, /area/hallway/primary/fore) -"bbv" = ( +"bfk" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/hallway/primary/fore) -"bbw" = ( +"bfl" = ( /obj/structure/chair{ dir = 4 }, @@ -24107,23 +27364,23 @@ dir = 8 }, /area/hallway/primary/fore) -"bbx" = ( +"bfm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"bby" = ( +"bfn" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"bbz" = ( +"bfo" = ( /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"bbA" = ( +"bfp" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"bbB" = ( +"bfq" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/item/folder/yellow, @@ -24136,7 +27393,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bbC" = ( +"bfr" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -24144,24 +27401,25 @@ dir = 8 }, /area/quartermaster/miningoffice) -"bbD" = ( +"bfs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"bbE" = ( +"bft" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"bbF" = ( +"bfu" = ( +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"bbG" = ( +"bfv" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/brown{ dir = 4 }, /area/quartermaster/miningoffice) -"bbH" = ( +"bfw" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining{ @@ -24176,17 +27434,17 @@ }, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bbI" = ( +"bfx" = ( /turf/open/floor/plasteel/purple/side{ dir = 8 }, /area/quartermaster/miningoffice) -"bbJ" = ( +"bfy" = ( /obj/effect/decal/cleanable/oil, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"bbK" = ( +"bfz" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -24198,7 +27456,7 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"bbL" = ( +"bfA" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/shaft_miner, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -24206,63 +27464,66 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"bbM" = ( +"bfB" = ( /obj/effect/landmark/start/shaft_miner, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"bbN" = ( +"bfC" = ( /obj/effect/landmark/start/shaft_miner, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"bbO" = ( +"bfD" = ( +/turf/open/floor/plasteel/neutral, +/area/quartermaster/miningoffice) +"bfE" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/quartermaster/miningoffice) -"bbP" = ( +"bfF" = ( /turf/open/floor/plasteel/purple/side{ dir = 4 }, /area/quartermaster/miningoffice) -"bbQ" = ( +"bfG" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/pods{ name = "MINING POD" }, /turf/open/floor/plating, /area/quartermaster/miningoffice) -"bbR" = ( +"bfH" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/ore_box, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bbS" = ( +"bfI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/emcloset, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bbT" = ( +"bfJ" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/miningoffice) -"bbU" = ( +"bfK" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/shuttle/mining) -"bbV" = ( +"bfL" = ( /obj/structure/chair{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/shuttle/mining) -"bbW" = ( +"bfM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, /obj/effect/turf_decal/stripes/line{ @@ -24270,7 +27531,7 @@ }, /turf/open/floor/plasteel, /area/shuttle/mining) -"bbX" = ( +"bfN" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -24291,7 +27552,7 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"bbY" = ( +"bfO" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -24303,7 +27564,7 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"bbZ" = ( +"bfP" = ( /obj/machinery/button/door{ id = "brigprison"; name = "Prison Lockdown"; @@ -24323,7 +27584,7 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"bca" = ( +"bfQ" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -24347,7 +27608,7 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"bcb" = ( +"bfR" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -24359,7 +27620,7 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"bcc" = ( +"bfS" = ( /obj/structure/closet/l3closet/security, /obj/structure/cable/white{ icon_state = "4-8" @@ -24369,7 +27630,7 @@ dir = 8 }, /area/security/prison) -"bcd" = ( +"bfT" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 4; frequency = 1441; @@ -24378,7 +27639,7 @@ }, /turf/open/floor/engine/plasma, /area/engine/atmos) -"bce" = ( +"bfU" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, @@ -24388,7 +27649,7 @@ dir = 5 }, /area/engine/atmos) -"bcf" = ( +"bfV" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -24403,7 +27664,7 @@ dir = 10 }, /area/engine/atmos) -"bcg" = ( +"bfW" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 1; name = "Port Mix to Port Ports"; @@ -24411,7 +27672,12 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bch" = ( +"bfX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/engine/atmos) +"bfY" = ( /obj/machinery/light{ dir = 4 }, @@ -24422,12 +27688,12 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bci" = ( +"bfZ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/engine/atmos) -"bcj" = ( +"bga" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_atmos{ name = "Atmospherics Storage"; @@ -24445,13 +27711,13 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bck" = ( +"bgb" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 5 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bcl" = ( +"bgc" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, @@ -24460,7 +27726,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bcm" = ( +"bgd" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -24478,14 +27744,14 @@ dir = 5 }, /area/engine/atmos) -"bcn" = ( +"bge" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/yellow/visible, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/engine/atmos) -"bco" = ( +"bgf" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ dir = 8; frequency = 1441; @@ -24494,23 +27760,23 @@ }, /turf/open/floor/engine/n2, /area/engine/atmos) -"bcp" = ( +"bgg" = ( /obj/machinery/camera{ c_tag = "Atmospherics - Nitrogen Cell"; name = "atmospherics camera" }, /turf/open/floor/engine/n2, /area/engine/atmos) -"bcq" = ( +"bgh" = ( /turf/open/floor/engine/n2, /area/engine/atmos) -"bcr" = ( +"bgi" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side{ dir = 4 }, /area/maintenance/port/fore) -"bcs" = ( +"bgj" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance{ @@ -24520,15 +27786,15 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"bct" = ( +"bgk" = ( /obj/structure/sign/botany, /turf/closed/wall, /area/hydroponics) -"bcu" = ( +"bgl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall, /area/hydroponics) -"bcv" = ( +"bgm" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ name = "Hydroponics Backroom"; @@ -24544,7 +27810,7 @@ }, /turf/open/floor/plasteel, /area/hydroponics) -"bcw" = ( +"bgn" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ name = "Service Hall"; @@ -24562,15 +27828,15 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"bcx" = ( +"bgo" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall, /area/hallway/secondary/service) -"bcy" = ( +"bgp" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/crew_quarters/kitchen) -"bcz" = ( +"bgq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ name = "Kitchen Coldroom"; @@ -24585,7 +27851,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bcA" = ( +"bgr" = ( /obj/structure/closet/secure_closet/freezer/fridge, /obj/machinery/light{ dir = 8 @@ -24598,35 +27864,34 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bcB" = ( +"bgs" = ( /obj/structure/table/reinforced, /obj/item/storage/bag/tray, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bcC" = ( +"bgt" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/glass/bowl, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bcD" = ( +"bgu" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/food/condiment/flour, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bcE" = ( +"bgv" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/structure/disposalpipe/junction{ - dir = 1; - icon_state = "pipe-j1" + dir = 1 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"bcF" = ( +"bgw" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, @@ -24637,7 +27902,7 @@ dir = 4 }, /area/hallway/primary/fore) -"bcG" = ( +"bgx" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -24653,7 +27918,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"bcH" = ( +"bgy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -24664,41 +27929,47 @@ dir = 8 }, /area/hallway/primary/fore) -"bcI" = ( +"bgz" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"bcJ" = ( +"bgA" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"bcK" = ( +"bgB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"bcL" = ( +"bgC" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"bcM" = ( +"bgD" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"bcN" = ( +"bgE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/hallway/primary/fore) +"bgF" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -24706,14 +27977,14 @@ dir = 1 }, /area/hallway/primary/fore) -"bcO" = ( +"bgG" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/quartermaster/miningoffice) -"bcP" = ( +"bgH" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -24722,28 +27993,28 @@ dir = 8 }, /area/quartermaster/miningoffice) -"bcQ" = ( +"bgI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"bcR" = ( +"bgJ" = ( /obj/machinery/holopad, /obj/effect/landmark/lightsout, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bcS" = ( +"bgK" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"bcT" = ( +"bgL" = ( /obj/effect/decal/cleanable/dirt, /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -24753,7 +28024,7 @@ dir = 4 }, /area/quartermaster/miningoffice) -"bcU" = ( +"bgM" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -24762,7 +28033,7 @@ dir = 8 }, /area/quartermaster/miningoffice) -"bcV" = ( +"bgN" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -24772,14 +28043,14 @@ }, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bcW" = ( +"bgO" = ( /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bcX" = ( +"bgP" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bcZ" = ( +"bgQ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/firedoor, /obj/machinery/door/airlock/external{ @@ -24796,20 +28067,20 @@ }, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bda" = ( +"bgR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 2 }, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bdb" = ( +"bgS" = ( /obj/effect/turf_decal/stripes/line{ dir = 2 }, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bdc" = ( +"bgT" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, /obj/machinery/door/firedoor, @@ -24827,7 +28098,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bdd" = ( +"bgU" = ( /obj/machinery/door/airlock/shuttle{ name = "Mining Shuttle Airlock"; req_access_txt = "0" @@ -24840,23 +28111,23 @@ }, /turf/open/floor/plasteel/white, /area/shuttle/mining) -"bde" = ( +"bgV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/shuttle/mining) -"bdf" = ( +"bgW" = ( /turf/open/floor/plasteel/neutral, /area/shuttle/mining) -"bdg" = ( +"bgX" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/shuttle/mining) -"bdh" = ( +"bgY" = ( /obj/docking_port/mobile{ dir = 8; dwidth = 3; @@ -24886,10 +28157,10 @@ }, /turf/open/floor/plasteel/white, /area/shuttle/mining) -"bdi" = ( +"bgZ" = ( /turf/closed/wall/r_wall, /area/security/brig) -"bdj" = ( +"bha" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_security{ name = "Prison Wing"; @@ -24907,7 +28178,7 @@ }, /turf/open/floor/plasteel, /area/security/brig) -"bdk" = ( +"bhb" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -24919,7 +28190,7 @@ }, /turf/open/floor/plating, /area/security/brig) -"bdl" = ( +"bhc" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_security{ name = "Prison Wing"; @@ -24934,17 +28205,17 @@ }, /turf/open/floor/plasteel, /area/security/brig) -"bdm" = ( +"bhd" = ( /turf/closed/wall/r_wall, /area/security/main) -"bdn" = ( +"bhe" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/main) -"bdo" = ( +"bhf" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/securearea{ @@ -24957,14 +28228,18 @@ dir = 5 }, /area/engine/atmos) -"bdp" = ( +"bhg" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 1 }, /obj/machinery/meter, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bdq" = ( +"bhh" = ( +/obj/machinery/atmospherics/pipe/manifold4w/general/visible, +/turf/open/floor/plasteel/neutral, +/area/engine/atmos) +"bhi" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 10 }, @@ -24972,7 +28247,7 @@ dir = 1 }, /area/engine/atmos) -"bdr" = ( +"bhj" = ( /obj/machinery/power/apc/highcap/five_k{ dir = 1; name = "Atmospherics APC"; @@ -24986,13 +28261,13 @@ dir = 1 }, /area/engine/atmos) -"bds" = ( +"bhk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/caution{ dir = 1 }, /area/engine/atmos) -"bdt" = ( +"bhl" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -25002,7 +28277,7 @@ dir = 1 }, /area/engine/atmos) -"bdu" = ( +"bhm" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -25011,7 +28286,7 @@ dir = 1 }, /area/engine/atmos) -"bdv" = ( +"bhn" = ( /obj/structure/extinguisher_cabinet{ pixel_y = 32 }, @@ -25026,7 +28301,7 @@ dir = 1 }, /area/engine/atmos) -"bdw" = ( +"bho" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -25034,14 +28309,14 @@ dir = 1 }, /area/engine/atmos) -"bdx" = ( +"bhp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bdy" = ( +"bhq" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -25051,13 +28326,13 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bdz" = ( +"bhr" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bdA" = ( +"bhs" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, @@ -25066,8 +28341,9 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bdB" = ( +"bht" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 8; frequency = 1441; input_tag = "n2_in"; name = "Nitrogen Supply Control"; @@ -25082,30 +28358,30 @@ dir = 4 }, /area/engine/atmos) -"bdC" = ( +"bhu" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/engine/atmos) -"bdD" = ( +"bhv" = ( /obj/machinery/air_sensor{ frequency = 1441; id_tag = "n2_sensor" }, /turf/open/floor/engine/n2, /area/engine/atmos) -"bdE" = ( +"bhw" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/open/floor/engine/n2, /area/engine/atmos) -"bdF" = ( +"bhx" = ( /obj/machinery/light/small{ dir = 4 }, /turf/open/floor/engine/n2, /area/engine/atmos) -"bdG" = ( +"bhy" = ( /obj/structure/reagent_dispensers/watertank, /obj/item/reagent_containers/glass/bucket, /obj/structure/window/reinforced{ @@ -25114,7 +28390,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"bdH" = ( +"bhz" = ( /obj/structure/reagent_dispensers/watertank, /obj/item/reagent_containers/glass/bucket, /obj/structure/window/reinforced{ @@ -25123,14 +28399,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"bdI" = ( +"bhA" = ( /obj/machinery/disposal/bin, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/trunk, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"bdJ" = ( +"bhB" = ( /obj/machinery/light_switch{ pixel_x = -26; pixel_y = 26 @@ -25140,7 +28416,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics) -"bdK" = ( +"bhC" = ( /obj/structure/table/glass, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -25154,7 +28430,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"bdL" = ( +"bhD" = ( /obj/machinery/reagentgrinder{ desc = "Used to grind things up into raw materials and liquids."; pixel_y = 5 @@ -25163,7 +28439,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"bdM" = ( +"bhE" = ( /obj/structure/table/glass, /obj/machinery/newscaster{ pixel_y = 32 @@ -25173,18 +28449,18 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"bdN" = ( +"bhF" = ( /obj/machinery/firealarm{ pixel_y = 24 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"bdO" = ( +"bhG" = ( /obj/machinery/smartfridge, /turf/closed/wall, /area/hydroponics) -"bdP" = ( +"bhH" = ( /obj/machinery/light/small{ dir = 1 }, @@ -25192,7 +28468,7 @@ dir = 8 }, /area/hallway/secondary/service) -"bdQ" = ( +"bhI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/white{ icon_state = "1-2" @@ -25201,7 +28477,7 @@ dir = 1 }, /area/hallway/secondary/service) -"bdR" = ( +"bhJ" = ( /obj/machinery/light/small{ dir = 1 }, @@ -25214,11 +28490,11 @@ dir = 4 }, /area/hallway/secondary/service) -"bdS" = ( +"bhK" = ( /obj/machinery/smartfridge, /turf/closed/wall, /area/crew_quarters/kitchen) -"bdT" = ( +"bhL" = ( /obj/machinery/firealarm{ dir = 8; pixel_x = -24; @@ -25233,11 +28509,11 @@ dir = 4 }, /area/crew_quarters/kitchen) -"bdU" = ( +"bhM" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/red, /area/crew_quarters/kitchen) -"bdV" = ( +"bhN" = ( /obj/machinery/requests_console{ department = "Kitchen"; departmentType = 0; @@ -25246,25 +28522,29 @@ }, /turf/open/floor/plasteel/red, /area/crew_quarters/kitchen) -"bdW" = ( +"bhO" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_y = 26 }, /turf/open/floor/plasteel/white, /area/crew_quarters/kitchen) -"bdX" = ( +"bhP" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/red, +/area/crew_quarters/kitchen) +"bhQ" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/food/snacks/dough, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bdY" = ( +"bhR" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bdZ" = ( +"bhS" = ( /obj/structure/table/reinforced, /obj/item/storage/box/papersack{ icon_state = "paperbag_NanotrasenStandard_closed" @@ -25284,7 +28564,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bea" = ( +"bhT" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -25292,7 +28572,7 @@ dir = 1 }, /area/hallway/primary/fore) -"beb" = ( +"bhU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -25302,7 +28582,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"bec" = ( +"bhV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -25311,7 +28591,7 @@ dir = 4 }, /area/hallway/primary/fore) -"bed" = ( +"bhW" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -25324,7 +28604,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"bee" = ( +"bhX" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -25332,31 +28612,31 @@ dir = 8 }, /area/hallway/primary/fore) -"bef" = ( +"bhY" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"beg" = ( +"bhZ" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"beh" = ( +"bia" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"bei" = ( +"bib" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"bej" = ( +"bic" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -25364,14 +28644,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"bek" = ( +"bid" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"bel" = ( +"bie" = ( /obj/machinery/door/firedoor, /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/glass_mining{ @@ -25389,7 +28669,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bem" = ( +"bif" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -25397,17 +28677,17 @@ dir = 8 }, /area/quartermaster/miningoffice) -"ben" = ( +"big" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"beo" = ( +"bih" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"bep" = ( +"bii" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -25416,7 +28696,7 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"beq" = ( +"bij" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -25427,7 +28707,7 @@ dir = 4 }, /area/quartermaster/miningoffice) -"ber" = ( +"bik" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -25447,7 +28727,7 @@ }, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bes" = ( +"bil" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -25458,14 +28738,14 @@ dir = 8 }, /area/quartermaster/miningoffice) -"bet" = ( +"bim" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"beu" = ( +"bin" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -25478,24 +28758,24 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"bev" = ( +"bio" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"bew" = ( +"bip" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"bex" = ( +"biq" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"bey" = ( +"bir" = ( /obj/structure/table/reinforced, /obj/effect/decal/cleanable/dirt, /obj/item/device/flashlight/lamp, @@ -25503,25 +28783,25 @@ dir = 4 }, /area/quartermaster/miningoffice) -"bez" = ( +"bis" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"beA" = ( +"bit" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/oil, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"beB" = ( +"biu" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/miningoffice) -"beC" = ( +"biv" = ( /obj/structure/chair{ dir = 1 }, @@ -25531,7 +28811,7 @@ }, /turf/open/floor/plasteel, /area/shuttle/mining) -"beD" = ( +"biw" = ( /obj/structure/chair{ dir = 1 }, @@ -25544,7 +28824,7 @@ }, /turf/open/floor/plasteel, /area/shuttle/mining) -"beE" = ( +"bix" = ( /obj/structure/chair{ dir = 1 }, @@ -25554,14 +28834,28 @@ }, /turf/open/floor/plasteel, /area/shuttle/mining) -"beF" = ( +"biy" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/brig) -"beH" = ( +"biz" = ( +/obj/structure/table/glass, +/obj/machinery/computer/med_data/laptop{ + dir = 4; + pixel_x = 3; + pixel_y = 2 + }, +/obj/structure/sign/poster/official/cleanliness{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/whitered/side{ + dir = 9 + }, +/area/security/brig) +"biA" = ( /obj/structure/sink{ pixel_y = 22 }, @@ -25572,7 +28866,7 @@ dir = 1 }, /area/security/brig) -"beI" = ( +"biB" = ( /obj/structure/bed, /obj/machinery/iv_drip, /obj/item/bedsheet/medical, @@ -25594,7 +28888,7 @@ dir = 1 }, /area/security/brig) -"beJ" = ( +"biC" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -25604,7 +28898,7 @@ }, /turf/open/floor/plating, /area/security/brig) -"beK" = ( +"biD" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -25616,7 +28910,7 @@ dir = 9 }, /area/security/brig) -"beL" = ( +"biE" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/structure/cable/white{ icon_state = "1-2" @@ -25628,7 +28922,7 @@ dir = 1 }, /area/security/brig) -"beM" = ( +"biF" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -25636,13 +28930,13 @@ dir = 5 }, /area/security/brig) -"beN" = ( +"biG" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/red/side{ dir = 9 }, /area/security/main) -"beO" = ( +"biH" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -25653,7 +28947,7 @@ dir = 1 }, /area/security/main) -"beP" = ( +"biI" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -25664,7 +28958,7 @@ dir = 1 }, /area/security/main) -"beQ" = ( +"biJ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -25683,7 +28977,7 @@ dir = 1 }, /area/security/main) -"beR" = ( +"biK" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -25694,7 +28988,7 @@ dir = 1 }, /area/security/main) -"beS" = ( +"biL" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -25703,7 +28997,7 @@ dir = 1 }, /area/security/main) -"beT" = ( +"biM" = ( /obj/machinery/recharger, /obj/structure/table/reinforced, /obj/structure/reagent_dispensers/peppertank{ @@ -25713,7 +29007,7 @@ dir = 1 }, /area/security/main) -"beU" = ( +"biN" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -25727,8 +29021,10 @@ dir = 5 }, /area/security/main) -"beV" = ( -/obj/machinery/computer/security, +"biO" = ( +/obj/machinery/computer/security{ + dir = 8 + }, /obj/machinery/status_display{ pixel_x = 32 }, @@ -25736,10 +29032,10 @@ dir = 5 }, /area/security/main) -"beW" = ( +"biP" = ( /turf/closed/wall/r_wall, /area/crew_quarters/heads/hos) -"beX" = ( +"biQ" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -25750,7 +29046,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hos) -"beY" = ( +"biR" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -25767,7 +29063,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hos) -"beZ" = ( +"biS" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -25778,17 +29074,17 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hos) -"bfa" = ( +"biT" = ( /turf/open/floor/engine/n2o, /area/engine/atmos) -"bfb" = ( +"biU" = ( /obj/machinery/camera{ c_tag = "Atmospherics - n2o Cell"; name = "atmospherics camera" }, /turf/open/floor/engine/n2o, /area/engine/atmos) -"bfc" = ( +"biV" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ dir = 4; frequency = 1441; @@ -25797,7 +29093,7 @@ }, /turf/open/floor/engine/n2o, /area/engine/atmos) -"bfd" = ( +"biW" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -25815,7 +29111,7 @@ dir = 9 }, /area/engine/atmos) -"bfe" = ( +"biX" = ( /obj/machinery/atmospherics/pipe/manifold/yellow/visible{ dir = 4 }, @@ -25824,13 +29120,13 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bff" = ( +"biY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bfg" = ( +"biZ" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 1; name = "Pure to Ports"; @@ -25841,7 +29137,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bfh" = ( +"bja" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 1; name = "Mix to Ports"; @@ -25852,7 +29148,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bfi" = ( +"bjb" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 1; name = "Air to Ports"; @@ -25863,7 +29159,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bfj" = ( +"bjc" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -25872,7 +29168,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bfk" = ( +"bjd" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -25881,14 +29177,14 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bfl" = ( +"bje" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bfm" = ( +"bjf" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -25896,12 +29192,11 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bfn" = ( +"bjg" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -25913,7 +29208,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bfo" = ( +"bjh" = ( /obj/machinery/holopad, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -25926,13 +29221,12 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"bfp" = ( +"bji" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -25941,7 +29235,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bfq" = ( +"bjj" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -25949,18 +29243,18 @@ /obj/machinery/meter, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bfr" = ( +"bjk" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bfs" = ( +"bjl" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/engine/atmos) -"bft" = ( +"bjm" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -25975,7 +29269,7 @@ dir = 6 }, /area/engine/atmos) -"bfx" = ( +"bjn" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 8; frequency = 1441; @@ -25983,7 +29277,7 @@ }, /turf/open/floor/engine/n2, /area/engine/atmos) -"bfy" = ( +"bjo" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate{ icon_state = "crateopen"; @@ -25994,7 +29288,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"bfz" = ( +"bjp" = ( /obj/structure/sink{ dir = 8; pixel_x = -12 @@ -26006,34 +29300,32 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"bfA" = ( +"bjq" = ( /turf/open/floor/plasteel/greenblue/side{ dir = 9 }, /area/hydroponics) -"bfB" = ( +"bjr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/greenblue/side{ dir = 1 }, /area/hydroponics) -"bfC" = ( +"bjs" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/greenblue/side{ dir = 1 }, /area/hydroponics) -"bfD" = ( +"bjt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -26041,7 +29333,7 @@ dir = 1 }, /area/hydroponics) -"bfE" = ( +"bju" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -26049,14 +29341,14 @@ dir = 5 }, /area/hydroponics) -"bfF" = ( +"bjv" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics) -"bfG" = ( +"bjw" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_medical{ name = "Hydroponics"; @@ -26073,7 +29365,7 @@ }, /turf/open/floor/plasteel, /area/hydroponics) -"bfH" = ( +"bjx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -26081,7 +29373,7 @@ dir = 8 }, /area/hallway/secondary/service) -"bfI" = ( +"bjy" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, /obj/structure/cable/white{ @@ -26090,20 +29382,19 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"bfJ" = ( +"bjz" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/white/side{ dir = 4 }, /area/hallway/secondary/service) -"bfK" = ( +"bjA" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ name = "Kitchen"; @@ -26123,7 +29414,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bfL" = ( +"bjB" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/disposalpipe/segment{ dir = 4 @@ -26132,7 +29423,7 @@ dir = 4 }, /area/crew_quarters/kitchen) -"bfM" = ( +"bjC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -26141,7 +29432,7 @@ }, /turf/open/floor/plasteel/red, /area/crew_quarters/kitchen) -"bfN" = ( +"bjD" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -26151,7 +29442,7 @@ }, /turf/open/floor/plasteel/white, /area/crew_quarters/kitchen) -"bfO" = ( +"bjE" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, @@ -26160,47 +29451,45 @@ }, /turf/open/floor/plasteel/red, /area/crew_quarters/kitchen) -"bfP" = ( +"bjF" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/white, /area/crew_quarters/kitchen) -"bfQ" = ( +"bjG" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/red, /area/crew_quarters/kitchen) -"bfR" = ( +"bjH" = ( /obj/effect/landmark/start/cook, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/white, /area/crew_quarters/kitchen) -"bfS" = ( +"bjI" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/red, /area/crew_quarters/kitchen) -"bfT" = ( +"bjJ" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/red, /area/crew_quarters/kitchen) -"bfU" = ( +"bjK" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/white, /area/crew_quarters/kitchen) -"bfV" = ( +"bjL" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/machinery/door/poddoor/shutters/preopen{ @@ -26213,7 +29502,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bfW" = ( +"bjM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ dir = 4 @@ -26222,19 +29511,18 @@ dir = 1 }, /area/hallway/primary/fore) -"bfX" = ( +"bjN" = ( /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 1; - icon_state = "pipe-j2s"; name = "Kitchen Junction"; sortType = 20 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"bfY" = ( +"bjO" = ( /obj/structure/chair{ dir = 4 }, @@ -26242,17 +29530,17 @@ dir = 8 }, /area/hallway/primary/fore) -"bfZ" = ( +"bjP" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"bga" = ( +"bjQ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/hallway/primary/fore) -"bgb" = ( +"bjR" = ( /obj/effect/decal/cleanable/dirt, /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" @@ -26261,20 +29549,20 @@ dir = 4 }, /area/hallway/primary/fore) -"bgc" = ( +"bjS" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/mechanical, /turf/open/floor/plasteel/purple/side{ dir = 8 }, /area/quartermaster/miningoffice) -"bgd" = ( +"bjT" = ( /obj/structure/chair/office/dark{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"bge" = ( +"bjU" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -26284,25 +29572,25 @@ }, /turf/open/floor/plasteel/neutral, /area/quartermaster/miningoffice) -"bgf" = ( +"bjV" = ( /obj/machinery/photocopier, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/purple/side{ dir = 4 }, /area/quartermaster/miningoffice) -"bgg" = ( +"bjW" = ( /obj/effect/decal/cleanable/dirt, /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/brown{ dir = 8 }, /area/quartermaster/miningoffice) -"bgh" = ( +"bjX" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/purple/side, /area/quartermaster/miningoffice) -"bgi" = ( +"bjY" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -26312,13 +29600,13 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/brown, /area/quartermaster/miningoffice) -"bgj" = ( +"bjZ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/purple/side, /area/quartermaster/miningoffice) -"bgk" = ( +"bka" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -26335,13 +29623,13 @@ }, /turf/open/floor/plasteel/brown, /area/quartermaster/miningoffice) -"bgl" = ( +"bkb" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/brown, /area/quartermaster/miningoffice) -"bgm" = ( +"bkc" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -26351,7 +29639,7 @@ }, /turf/open/floor/plasteel/purple/side, /area/quartermaster/miningoffice) -"bgn" = ( +"bkd" = ( /obj/structure/table/reinforced, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -26363,7 +29651,7 @@ dir = 6 }, /area/quartermaster/miningoffice) -"bgo" = ( +"bke" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -26376,7 +29664,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/miningoffice) -"bgp" = ( +"bkf" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -26384,7 +29672,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/miningoffice) -"bgq" = ( +"bkg" = ( /obj/item/clothing/suit/hazardvest{ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; name = "emergency lifejacket" @@ -26470,7 +29758,7 @@ }, /turf/open/floor/plasteel, /area/shuttle/mining) -"bgr" = ( +"bkh" = ( /obj/structure/shuttle/engine/heater, /obj/structure/window/reinforced{ dir = 4 @@ -26484,7 +29772,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/shuttle/mining) -"bgs" = ( +"bki" = ( /obj/structure/ore_box, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, @@ -26493,7 +29781,7 @@ }, /turf/open/floor/plasteel, /area/shuttle/mining) -"bgt" = ( +"bkj" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -26504,7 +29792,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/brig) -"bgu" = ( +"bkk" = ( /obj/structure/table/glass, /obj/structure/cable/white{ icon_state = "4-8" @@ -26523,13 +29811,13 @@ dir = 8 }, /area/security/brig) -"bgv" = ( +"bkl" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/white, /area/security/brig) -"bgw" = ( +"bkm" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -26538,7 +29826,7 @@ }, /turf/open/floor/plasteel/white, /area/security/brig) -"bgx" = ( +"bkn" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -26555,7 +29843,7 @@ dir = 4 }, /area/security/brig) -"bgy" = ( +"bko" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -26569,7 +29857,7 @@ dir = 8 }, /area/security/brig) -"bgz" = ( +"bkp" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -26578,13 +29866,13 @@ }, /turf/open/floor/plasteel/neutral, /area/security/brig) -"bgA" = ( +"bkq" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/red/side{ dir = 4 }, /area/security/brig) -"bgB" = ( +"bkr" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -26; pixel_y = 32 @@ -26594,41 +29882,43 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/security/main) -"bgC" = ( +"bks" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/red/corner, /area/security/main) -"bgD" = ( +"bkt" = ( /obj/structure/chair/office/dark, /obj/effect/landmark/start/security_officer, /turf/open/floor/plasteel/red/side, /area/security/main) -"bgE" = ( +"bku" = ( /turf/open/floor/plasteel/red/corner{ dir = 8 }, /area/security/main) -"bgF" = ( +"bkv" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/neutral, /area/security/main) -"bgG" = ( +"bkw" = ( /turf/open/floor/plasteel/neutral, /area/security/main) -"bgH" = ( +"bkx" = ( /turf/open/floor/plasteel/red/side{ dir = 4 }, /area/security/main) -"bgI" = ( -/obj/machinery/computer/secure_data, +"bky" = ( +/obj/machinery/computer/secure_data{ + dir = 8 + }, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/security/main) -"bgJ" = ( +"bkz" = ( /obj/structure/bed/dogbed/cayenne, /obj/machinery/computer/security/telescreen/entertainment{ pixel_y = 32 @@ -26642,14 +29932,14 @@ dir = 4 }, /area/crew_quarters/heads/hos) -"bgK" = ( +"bkA" = ( /obj/structure/table/wood, /obj/machinery/recharger, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/crew_quarters/heads/hos) -"bgL" = ( +"bkB" = ( /obj/structure/table/wood, /obj/structure/cable/white{ icon_state = "1-2" @@ -26663,7 +29953,7 @@ dir = 8 }, /area/crew_quarters/heads/hos) -"bgM" = ( +"bkC" = ( /obj/structure/table/wood, /obj/item/storage/secure/briefcase, /obj/item/book/manual/wiki/security_space_law, @@ -26671,7 +29961,7 @@ dir = 8 }, /area/crew_quarters/heads/hos) -"bgN" = ( +"bkD" = ( /obj/machinery/photocopier, /obj/machinery/light{ dir = 1 @@ -26687,36 +29977,37 @@ dir = 8 }, /area/crew_quarters/heads/hos) -"bgO" = ( +"bkE" = ( /obj/structure/window/reinforced, /turf/open/space, /area/space) -"bgP" = ( +"bkF" = ( /obj/structure/window/reinforced, /obj/structure/lattice, /turf/open/space, /area/space) -"bgQ" = ( +"bkG" = ( /obj/machinery/light/small{ dir = 8 }, /turf/open/floor/engine/n2o, /area/engine/atmos) -"bgR" = ( +"bkH" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide{ valve_open = 1 }, /turf/open/floor/engine/n2o, /area/engine/atmos) -"bgS" = ( +"bkI" = ( /obj/machinery/air_sensor{ frequency = 1441; id_tag = "n2o_sensor" }, /turf/open/floor/engine/n2o, /area/engine/atmos) -"bgT" = ( +"bkJ" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 4; frequency = 1441; input_tag = "n2o_in"; name = "Nitrous Oxide Supply Control"; @@ -26731,7 +30022,7 @@ dir = 8 }, /area/engine/atmos) -"bgU" = ( +"bkK" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -26739,37 +30030,44 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bgV" = ( +"bkL" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/atmos) -"bgW" = ( +"bkM" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible, /obj/machinery/meter, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/atmos) -"bgX" = ( +"bkN" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible, /obj/machinery/meter, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/atmos) -"bgY" = ( +"bkO" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"bkP" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/simple/orange/visible{ dir = 4 }, /turf/open/floor/plasteel, /area/engine/atmos) -"bgZ" = ( +"bkQ" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/components/trinary/filter{ dir = 4 }, /turf/open/floor/plasteel, /area/engine/atmos) -"bhb" = ( +"bkR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -26780,7 +30078,7 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, /area/engine/atmos) -"bhc" = ( +"bkS" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -26791,7 +30089,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bhd" = ( +"bkT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/corner, /obj/machinery/atmospherics/pipe/simple/orange/visible{ @@ -26799,7 +30097,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bhe" = ( +"bkU" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/machinery/atmospherics/pipe/simple/orange/visible{ @@ -26807,7 +30105,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bhf" = ( +"bkV" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line, @@ -26816,7 +30114,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bhg" = ( +"bkW" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 }, @@ -26826,7 +30124,7 @@ /obj/machinery/meter, /turf/open/floor/plasteel, /area/engine/atmos) -"bhh" = ( +"bkX" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/machinery/atmospherics/components/binary/valve{ dir = 4; @@ -26836,7 +30134,7 @@ dir = 8 }, /area/engine/atmos) -"bhi" = ( +"bkY" = ( /obj/machinery/status_display{ pixel_x = 32 }, @@ -26850,20 +30148,20 @@ dir = 5 }, /area/engine/atmos) -"bhj" = ( +"bkZ" = ( /obj/structure/lattice/catwalk, /turf/open/space, /area/engine/atmos) -"bhk" = ( +"bla" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/maintenance/port/fore) -"bhl" = ( +"blb" = ( /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/maintenance/port/fore) -"bhm" = ( +"blc" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -26875,7 +30173,7 @@ dir = 4 }, /area/maintenance/port/fore) -"bhn" = ( +"bld" = ( /obj/machinery/hydroponics/constructable, /obj/machinery/status_display{ pixel_x = -32 @@ -26883,18 +30181,18 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics) -"bho" = ( +"ble" = ( /turf/open/floor/plasteel/greenblue/side{ dir = 8 }, /area/hydroponics) -"bhp" = ( +"blf" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, /turf/open/floor/plasteel/neutral, /area/hydroponics) -"bhq" = ( +"blg" = ( /obj/machinery/hydroponics/constructable, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -26903,7 +30201,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics) -"bhr" = ( +"blh" = ( /obj/machinery/hydroponics/constructable, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -26911,13 +30209,13 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics) -"bhs" = ( +"bli" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/hydroponics) -"bht" = ( +"blj" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -26925,14 +30223,14 @@ dir = 4 }, /area/hydroponics) -"bhu" = ( +"blk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"bhv" = ( +"bll" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -26948,7 +30246,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics) -"bhw" = ( +"blm" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -26956,7 +30254,7 @@ dir = 8 }, /area/hallway/secondary/service) -"bhx" = ( +"bln" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -26966,14 +30264,14 @@ }, /turf/open/floor/plasteel/neutral/side, /area/hallway/secondary/service) -"bhy" = ( +"blo" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/red/side{ dir = 4 }, /area/hallway/secondary/service) -"bhz" = ( +"blp" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -26989,7 +30287,17 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bhB" = ( +"blq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/structure/sign/poster/official/do_not_question{ + pixel_y = -32 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"blr" = ( /obj/machinery/food_cart, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -26997,7 +30305,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bhC" = ( +"bls" = ( /obj/machinery/light, /obj/machinery/status_display{ pixel_y = -32 @@ -27007,7 +30315,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bhD" = ( +"blt" = ( /obj/machinery/icecream_vat, /obj/structure/extinguisher_cabinet{ pixel_y = -32 @@ -27018,7 +30326,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bhE" = ( +"blu" = ( /obj/structure/rack, /obj/machinery/button/door{ id = "kitchenwindows"; @@ -27035,7 +30343,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bhF" = ( +"blv" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/food/snacks/mint, /obj/item/reagent_containers/food/condiment/enzyme{ @@ -27047,7 +30355,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bhG" = ( +"blw" = ( /obj/structure/table/reinforced, /obj/machinery/reagentgrinder{ desc = "Used to grind things up into raw materials and liquids."; @@ -27059,7 +30367,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bhH" = ( +"blx" = ( /obj/structure/table/reinforced, /obj/item/clipboard, /obj/item/toy/figure/chef, @@ -27069,7 +30377,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bhI" = ( +"bly" = ( /obj/machinery/light, /obj/machinery/processor, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -27080,7 +30388,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bhJ" = ( +"blz" = ( /obj/structure/table/reinforced, /obj/item/clothing/suit/apron/chef, /obj/item/kitchen/rollingpin, @@ -27090,7 +30398,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bhK" = ( +"blA" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/food/condiment/saltshaker{ pixel_x = -8; @@ -27103,7 +30411,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bhL" = ( +"blB" = ( /obj/structure/table/reinforced, /obj/machinery/microwave{ desc = "Cooks and boils stuff, somehow."; @@ -27113,7 +30421,23 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) -"bhN" = ( +"blC" = ( +/obj/structure/table/reinforced, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/microwave{ + desc = "Cooks and boils stuff, somehow."; + pixel_x = -3; + pixel_y = 5 + }, +/obj/effect/turf_decal/bot, +/obj/structure/sign/poster/official/cleanliness{ + pixel_x = 32 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) +"blD" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/camera{ c_tag = "Arrivals Hallway - Aft"; @@ -27124,11 +30448,11 @@ dir = 4 }, /area/hallway/primary/fore) -"bhO" = ( +"blE" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall, /area/hallway/primary/fore) -"bhP" = ( +"blF" = ( /obj/structure/table, /obj/machinery/light{ dir = 8 @@ -27140,31 +30464,31 @@ dir = 10 }, /area/hallway/primary/fore) -"bhQ" = ( +"blG" = ( /obj/structure/chair{ dir = 1 }, /turf/open/floor/plasteel/brown, /area/hallway/primary/fore) -"bhR" = ( +"blH" = ( /turf/open/floor/plasteel/brown, /area/hallway/primary/fore) -"bhS" = ( +"blI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/brown, /area/hallway/primary/fore) -"bhT" = ( +"blJ" = ( /obj/machinery/light, /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel/brown, /area/hallway/primary/fore) -"bhU" = ( +"blK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/brown, /area/hallway/primary/fore) -"bhV" = ( +"blL" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair{ dir = 1 @@ -27172,12 +30496,12 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/plasteel/brown, /area/hallway/primary/fore) -"bhW" = ( +"blM" = ( /obj/structure/table, /obj/item/storage/box/lights/mixed, /turf/open/floor/plasteel/brown, /area/hallway/primary/fore) -"bhX" = ( +"blN" = ( /obj/structure/table, /obj/item/paper_bin, /obj/item/pen, @@ -27188,7 +30512,7 @@ dir = 6 }, /area/hallway/primary/fore) -"bhY" = ( +"blO" = ( /obj/structure/table/reinforced, /obj/machinery/computer/stockexchange, /obj/machinery/airalarm{ @@ -27203,19 +30527,19 @@ dir = 10 }, /area/quartermaster/miningoffice) -"bhZ" = ( +"blP" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/loadingarea{ dir = 4 }, /area/quartermaster/miningoffice) -"bia" = ( +"blQ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bib" = ( +"blR" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-4" @@ -27224,7 +30548,7 @@ dir = 8 }, /area/quartermaster/miningoffice) -"bic" = ( +"blS" = ( /obj/structure/table, /obj/structure/cable/white{ icon_state = "0-8" @@ -27246,7 +30570,7 @@ dir = 6 }, /area/quartermaster/miningoffice) -"bid" = ( +"blT" = ( /obj/structure/rack, /obj/effect/decal/cleanable/dirt, /obj/item/storage/toolbox/emergency{ @@ -27264,12 +30588,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bie" = ( +"blU" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bif" = ( +"blV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -27279,7 +30603,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"big" = ( +"blW" = ( /obj/structure/closet/wardrobe/miner, /obj/effect/decal/cleanable/dirt, /obj/machinery/light, @@ -27292,14 +30616,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bih" = ( +"blX" = ( /obj/machinery/disposal/bin, /obj/effect/decal/cleanable/dirt, /obj/machinery/light, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bii" = ( +"blY" = ( /obj/structure/filingcabinet/chestdrawer, /obj/machinery/airalarm{ dir = 1; @@ -27308,20 +30632,24 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bij" = ( -/obj/machinery/computer/security/mining, +"blZ" = ( +/obj/machinery/computer/security/mining{ + dir = 1 + }, /obj/machinery/newscaster{ pixel_y = -32 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bik" = ( -/obj/machinery/computer/shuttle/mining, +"bma" = ( +/obj/machinery/computer/shuttle/mining{ + dir = 1 + }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bil" = ( +"bmb" = ( /obj/structure/shuttle/engine/propulsion/burst, /obj/structure/window/reinforced{ dir = 1; @@ -27330,12 +30658,12 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/shuttle/mining) -"bim" = ( +"bmc" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/brig) -"bin" = ( +"bmd" = ( /obj/structure/table/glass, /obj/item/storage/firstaid/regular, /obj/item/reagent_containers/glass/bottle/epinephrine, @@ -27345,12 +30673,12 @@ dir = 10 }, /area/security/brig) -"bio" = ( +"bme" = ( /obj/machinery/light/small, /obj/machinery/holopad, /turf/open/floor/plasteel/whitered/side, /area/security/brig) -"bip" = ( +"bmf" = ( /obj/structure/bed/roller, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -27358,19 +30686,19 @@ }, /turf/open/floor/plasteel/whitered/side, /area/security/brig) -"biq" = ( +"bmg" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/bluecross_2, /turf/open/floor/plating, /area/security/brig) -"bir" = ( +"bmh" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/red/side{ dir = 8 }, /area/security/brig) -"bis" = ( +"bmi" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -27379,7 +30707,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/brig) -"bit" = ( +"bmj" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -27388,7 +30716,7 @@ dir = 4 }, /area/security/brig) -"biu" = ( +"bmk" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-8" @@ -27396,13 +30724,13 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/main) -"biv" = ( +"bml" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/red/side{ dir = 8 }, /area/security/main) -"biw" = ( +"bmm" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -27414,33 +30742,33 @@ dir = 4 }, /area/security/main) -"bix" = ( +"bmn" = ( /obj/structure/table/reinforced, /obj/item/folder/red, /obj/item/clothing/mask/gas/sechailer, /turf/open/floor/plasteel/red, /area/security/main) -"biy" = ( +"bmo" = ( /obj/structure/table/reinforced, /obj/item/storage/fancy/donut_box, /turf/open/floor/plasteel/red, /area/security/main) -"biz" = ( +"bmp" = ( /turf/open/floor/plasteel/red/side{ dir = 8 }, /area/security/main) -"biA" = ( +"bmq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/security/main) -"biB" = ( +"bmr" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/security/main) -"biC" = ( +"bms" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -27451,14 +30779,14 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hos) -"biD" = ( +"bmt" = ( /obj/structure/reagent_dispensers/peppertank{ pixel_x = -32; pixel_y = 32 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"biE" = ( +"bmu" = ( /mob/living/simple_animal/hostile/carp/cayenne{ color = ""; desc = "A failed experiment of Nanotrasen to create weaponised carp technology. This less than intimidating carp now serves as an authority figure's pet."; @@ -27474,17 +30802,17 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"biF" = ( +"bmv" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"biG" = ( +"bmw" = ( /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"biH" = ( +"bmx" = ( /obj/machinery/ai_status_display{ pixel_x = 32; pixel_y = 32 @@ -27496,7 +30824,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"biI" = ( +"bmy" = ( /obj/structure/table/wood, /obj/item/folder/red, /obj/item/pen, @@ -27525,17 +30853,17 @@ dir = 8 }, /area/crew_quarters/heads/hos) -"biJ" = ( +"bmz" = ( /turf/closed/wall, /area/crew_quarters/heads/hos) -"biK" = ( +"bmA" = ( /obj/structure/dresser, /obj/machinery/newscaster/security_unit{ pixel_y = 32 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"biL" = ( +"bmB" = ( /obj/structure/bed, /obj/item/bedsheet/hos, /obj/machinery/status_display{ @@ -27548,7 +30876,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"biM" = ( +"bmC" = ( /obj/structure/table/wood, /obj/item/storage/secure/safe/HoS{ pixel_x = 32 @@ -27556,13 +30884,13 @@ /obj/item/device/flashlight/lamp, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"biN" = ( +"bmD" = ( /obj/structure/window/reinforced{ dir = 4 }, /turf/open/space, /area/space) -"biO" = ( +"bmE" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -27575,7 +30903,7 @@ dir = 5 }, /area/aisat) -"biP" = ( +"bmF" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -27584,7 +30912,7 @@ dir = 5 }, /area/aisat) -"biQ" = ( +"bmG" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -27597,13 +30925,13 @@ dir = 5 }, /area/aisat) -"biR" = ( +"bmH" = ( /obj/structure/window/reinforced{ dir = 8 }, /turf/open/space, /area/space) -"biS" = ( +"bmI" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 4; frequency = 1441; @@ -27612,7 +30940,7 @@ }, /turf/open/floor/engine/n2o, /area/engine/atmos) -"biT" = ( +"bmJ" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -27628,14 +30956,14 @@ dir = 10 }, /area/engine/atmos) -"biU" = ( +"bmK" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 5 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"biV" = ( +"bmL" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/yellow/visible{ dir = 1 @@ -27643,28 +30971,28 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"biW" = ( +"bmM" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 9 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"biX" = ( +"bmN" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/atmos) -"biY" = ( +"bmO" = ( /obj/effect/turf_decal/bot, /obj/machinery/atmospherics/pipe/simple/cyan/visible, /turf/open/floor/plasteel, /area/engine/atmos) -"biZ" = ( +"bmP" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"bja" = ( +"bmQ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 6 }, @@ -27672,13 +31000,13 @@ dir = 9 }, /area/engine/atmos) -"bjb" = ( +"bmR" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/visible, /turf/open/floor/plasteel/caution{ dir = 1 }, /area/engine/atmos) -"bjc" = ( +"bmS" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ dir = 1 @@ -27687,7 +31015,7 @@ dir = 1 }, /area/engine/atmos) -"bjd" = ( +"bmT" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ dir = 1 }, @@ -27695,7 +31023,7 @@ dir = 5 }, /area/engine/atmos) -"bje" = ( +"bmU" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, @@ -27704,7 +31032,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bjf" = ( +"bmV" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -27714,7 +31042,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bjg" = ( +"bmW" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -27724,26 +31052,18 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bjh" = ( +"bmX" = ( /obj/structure/table/reinforced, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/rods/fifty, /obj/effect/turf_decal/bot, /obj/machinery/atmospherics/pipe/manifold/scrubbers/visible, /turf/open/floor/plasteel, /area/engine/atmos) -"bji" = ( +"bmY" = ( /obj/structure/table/reinforced, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, /obj/item/grenade/chem_grenade/smart_metal_foam, /obj/item/grenade/chem_grenade/smart_metal_foam, /obj/machinery/newscaster{ @@ -27756,7 +31076,19 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bjk" = ( +"bmZ" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/effect/turf_decal/bot, +/obj/structure/sign/poster/official/do_not_question{ + pixel_y = -32 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"bna" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -27768,7 +31100,7 @@ dir = 8 }, /area/engine/atmos) -"bjl" = ( +"bnb" = ( /obj/machinery/atmospherics/pipe/simple/orange/visible{ dir = 5 }, @@ -27776,14 +31108,21 @@ dir = 5 }, /area/engine/atmos) -"bjn" = ( +"bnc" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/atmos) +"bnd" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/simple/orange/visible{ dir = 9 }, /turf/open/space, /area/space) -"bjo" = ( +"bne" = ( /obj/structure/rack, /obj/effect/spawner/lootdrop/costume, /obj/effect/spawner/lootdrop/maintenance{ @@ -27793,7 +31132,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"bjp" = ( +"bnf" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -27802,7 +31141,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port/fore) -"bjq" = ( +"bng" = ( /obj/machinery/hydroponics/constructable, /obj/machinery/light{ dir = 8 @@ -27810,29 +31149,29 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics) -"bjr" = ( +"bnh" = ( /obj/effect/landmark/start/botanist, /turf/open/floor/plasteel/neutral, /area/hydroponics) -"bjs" = ( +"bni" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/hydroponics) -"bjt" = ( +"bnj" = ( /turf/open/floor/plasteel/neutral, /area/hydroponics) -"bju" = ( +"bnk" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/hydroponics) -"bjv" = ( +"bnl" = ( /turf/open/floor/plasteel/greenblue/side{ dir = 4 }, /area/hydroponics) -"bjw" = ( +"bnm" = ( /obj/machinery/light{ dir = 4 }, @@ -27849,11 +31188,11 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics) -"bjx" = ( +"bnn" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/hallway/secondary/service) -"bjy" = ( +"bno" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Service Foyer" @@ -27870,13 +31209,13 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"bjz" = ( +"bnp" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/hallway/secondary/service) -"bjA" = ( +"bnq" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ id = "kitchenwindows"; @@ -27884,7 +31223,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/kitchen) -"bjB" = ( +"bnr" = ( /obj/structure/sign/directions/evac{ pixel_y = -8 }, @@ -27897,7 +31236,7 @@ }, /turf/closed/wall, /area/crew_quarters/kitchen) -"bjC" = ( +"bns" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/door/airlock/glass{ @@ -27911,7 +31250,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"bjD" = ( +"bnt" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Fore Primary Hallway" @@ -27928,7 +31267,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"bjE" = ( +"bnu" = ( /obj/structure/sign/directions/security{ dir = 4; pixel_y = 8 @@ -27944,7 +31283,7 @@ }, /turf/closed/wall, /area/hallway/primary/fore) -"bjF" = ( +"bnv" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ dir = 2 @@ -27954,7 +31293,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"bjG" = ( +"bnw" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line{ @@ -27965,11 +31304,11 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"bjH" = ( +"bnx" = ( /obj/machinery/status_display, /turf/closed/wall, /area/hallway/primary/fore) -"bjI" = ( +"bny" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ @@ -27980,14 +31319,14 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"bjJ" = ( +"bnz" = ( /obj/machinery/mineral/ore_redemption, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) -"bjK" = ( +"bnA" = ( /obj/structure/plasticflaps{ opacity = 1 }, @@ -27995,7 +31334,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"bjL" = ( +"bnB" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -28013,14 +31352,14 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"bjM" = ( +"bnC" = ( /obj/structure/cable/white{ icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/miningoffice) -"bjN" = ( +"bnD" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -28030,7 +31369,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/execution/transfer) -"bjO" = ( +"bnE" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -28040,7 +31379,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/execution/transfer) -"bjP" = ( +"bnF" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -28050,10 +31389,10 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/execution/transfer) -"bjQ" = ( +"bnG" = ( /turf/closed/wall/r_wall, /area/security/execution/transfer) -"bjR" = ( +"bnH" = ( /obj/machinery/light{ dir = 8 }, @@ -28068,7 +31407,7 @@ dir = 8 }, /area/security/brig) -"bjS" = ( +"bnI" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -28077,7 +31416,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/brig) -"bjT" = ( +"bnJ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -28086,13 +31425,13 @@ dir = 4 }, /area/security/brig) -"bjU" = ( +"bnK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/security/main) -"bjV" = ( +"bnL" = ( /obj/machinery/power/apc{ dir = 8; name = "Security Office APC"; @@ -28110,7 +31449,7 @@ dir = 8 }, /area/security/main) -"bjW" = ( +"bnM" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -28128,7 +31467,7 @@ dir = 4 }, /area/security/main) -"bjX" = ( +"bnN" = ( /obj/structure/table/reinforced, /obj/item/restraints/handcuffs, /obj/item/device/assembly/flash/handheld, @@ -28137,7 +31476,7 @@ }, /turf/open/floor/plasteel/red, /area/security/main) -"bjY" = ( +"bnO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -28145,7 +31484,7 @@ dir = 9 }, /area/security/main) -"bjZ" = ( +"bnP" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -28153,7 +31492,7 @@ dir = 1 }, /area/security/main) -"bka" = ( +"bnQ" = ( /obj/structure/table/reinforced, /obj/item/folder/red{ pixel_x = -2; @@ -28169,7 +31508,7 @@ dir = 9 }, /area/security/main) -"bkb" = ( +"bnR" = ( /obj/machinery/photocopier, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -28178,7 +31517,7 @@ dir = 5 }, /area/security/main) -"bkc" = ( +"bnS" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, @@ -28186,7 +31525,7 @@ dir = 4 }, /area/security/main) -"bkd" = ( +"bnT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -28194,7 +31533,7 @@ dir = 5 }, /area/security/main) -"bke" = ( +"bnU" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-2" @@ -28209,13 +31548,13 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hos) -"bkf" = ( +"bnV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"bkg" = ( +"bnW" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -28224,7 +31563,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"bkh" = ( +"bnX" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, @@ -28233,15 +31572,17 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"bki" = ( +"bnY" = ( /obj/machinery/computer/secure_data, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"bkj" = ( -/obj/machinery/computer/card/minor/hos, +"bnZ" = ( +/obj/machinery/computer/card/minor/hos{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -28249,7 +31590,7 @@ dir = 8 }, /area/crew_quarters/heads/hos) -"bkk" = ( +"boa" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -28259,17 +31600,19 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hos) -"bkl" = ( +"bob" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"bkm" = ( -/obj/machinery/computer/prisoner, +"boc" = ( +/obj/machinery/computer/prisoner{ + dir = 8 + }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"bkn" = ( +"bod" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -28280,14 +31623,14 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hos) -"bko" = ( +"boe" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 4 }, /turf/open/space, /area/space) -"bkp" = ( +"bof" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -28296,7 +31639,7 @@ dir = 5 }, /area/aisat) -"bkq" = ( +"bog" = ( /obj/structure/chair{ dir = 1 }, @@ -28304,13 +31647,13 @@ dir = 8 }, /area/aisat) -"bkr" = ( +"boh" = ( /obj/machinery/holopad, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/aisat) -"bks" = ( +"boi" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -28319,14 +31662,14 @@ dir = 5 }, /area/aisat) -"bkt" = ( +"boj" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 8 }, /turf/open/space, /area/space) -"bku" = ( +"bok" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/manifold/cyan/visible{ dir = 8 @@ -28336,7 +31679,7 @@ }, /turf/open/floor/plating, /area/engine/atmos) -"bkv" = ( +"bol" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/green/visible, /obj/machinery/atmospherics/pipe/simple/cyan/visible{ @@ -28344,7 +31687,7 @@ }, /turf/open/floor/plating, /area/engine/atmos) -"bkw" = ( +"bom" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/yellow/visible, /obj/machinery/atmospherics/pipe/simple/cyan/visible{ @@ -28352,7 +31695,7 @@ }, /turf/open/floor/plating, /area/engine/atmos) -"bkx" = ( +"bon" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/yellow/visible, /obj/machinery/atmospherics/pipe/simple/cyan/visible{ @@ -28370,12 +31713,12 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bky" = ( +"boo" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/manifold/cyan/visible, /turf/open/floor/plating, /area/engine/atmos) -"bkz" = ( +"bop" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/mechanical, /obj/item/device/flashlight, @@ -28386,13 +31729,19 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bkA" = ( +"boq" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 10 + }, +/turf/open/floor/plasteel/neutral, +/area/engine/atmos) +"bor" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 2 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bkB" = ( +"bos" = ( /obj/structure/table/reinforced, /obj/item/clipboard, /obj/effect/decal/cleanable/dirt, @@ -28403,7 +31752,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"bkC" = ( +"bot" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 2 }, @@ -28412,7 +31761,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bkD" = ( +"bou" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -28423,7 +31772,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bkE" = ( +"bov" = ( /obj/machinery/light{ dir = 4 }, @@ -28439,13 +31788,19 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bkF" = ( +"bow" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, /turf/closed/wall/r_wall, /area/engine/atmos) -"bkG" = ( +"box" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"boy" = ( /obj/machinery/hydroponics/constructable, /obj/structure/sign/botany{ pixel_x = -32 @@ -28453,31 +31808,31 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics) -"bkH" = ( +"boz" = ( /obj/machinery/biogenerator, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"bkI" = ( +"boA" = ( /obj/machinery/seed_extractor, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"bkJ" = ( +"boB" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"bkK" = ( +"boC" = ( /obj/machinery/smartfridge/disks, /turf/open/floor/plasteel, /area/hydroponics) -"bkL" = ( +"boD" = ( /obj/machinery/status_display, /turf/closed/wall, /area/hydroponics) -"bkM" = ( +"boE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, @@ -28488,7 +31843,7 @@ dir = 1 }, /area/hallway/primary/central) -"bkN" = ( +"boF" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, @@ -28499,7 +31854,7 @@ dir = 1 }, /area/hallway/primary/central) -"bkO" = ( +"boG" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, @@ -28508,7 +31863,7 @@ dir = 1 }, /area/hallway/primary/central) -"bkP" = ( +"boH" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -28516,7 +31871,7 @@ dir = 1 }, /area/hallway/primary/central) -"bkQ" = ( +"boI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -28529,7 +31884,7 @@ dir = 1 }, /area/hallway/primary/central) -"bkR" = ( +"boJ" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, @@ -28537,7 +31892,7 @@ dir = 1 }, /area/hallway/primary/central) -"bkS" = ( +"boK" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -28550,7 +31905,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"bkT" = ( +"boL" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -28559,7 +31914,7 @@ dir = 1 }, /area/hallway/primary/central) -"bkU" = ( +"boM" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -28571,13 +31926,13 @@ dir = 1 }, /area/hallway/primary/central) -"bkV" = ( +"boN" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/brown/corner{ dir = 4 }, /area/hallway/primary/central) -"bkW" = ( +"boO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -28585,7 +31940,7 @@ dir = 4 }, /area/hallway/primary/central) -"bkX" = ( +"boP" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -28594,7 +31949,7 @@ dir = 4 }, /area/hallway/primary/central) -"bkY" = ( +"boQ" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, @@ -28602,7 +31957,7 @@ dir = 4 }, /area/hallway/primary/central) -"bkZ" = ( +"boR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -28615,7 +31970,7 @@ dir = 4 }, /area/hallway/primary/central) -"bla" = ( +"boS" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -28626,7 +31981,7 @@ dir = 4 }, /area/hallway/primary/central) -"blb" = ( +"boT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -28634,7 +31989,7 @@ dir = 4 }, /area/hallway/primary/central) -"blc" = ( +"boU" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -28644,7 +31999,7 @@ dir = 4 }, /area/hallway/primary/central) -"bld" = ( +"boV" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -28664,7 +32019,7 @@ dir = 4 }, /area/hallway/primary/central) -"ble" = ( +"boW" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -28675,7 +32030,7 @@ dir = 4 }, /area/hallway/primary/central) -"blf" = ( +"boX" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -28695,7 +32050,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"blg" = ( +"boY" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -28707,7 +32062,7 @@ dir = 8 }, /area/maintenance/starboard/fore) -"blh" = ( +"boZ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -28719,25 +32074,31 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"blj" = ( +"bpa" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/brown{ + dir = 1 + }, +/area/maintenance/starboard/fore) +"bpb" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"blk" = ( +"bpc" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/execution/transfer) -"bll" = ( +"bpd" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plasteel, /area/security/execution/transfer) -"blm" = ( +"bpe" = ( /obj/structure/filingcabinet/chestdrawer, /obj/structure/cable/white{ icon_state = "1-2" @@ -28746,7 +32107,7 @@ dir = 9 }, /area/security/execution/transfer) -"bln" = ( +"bpf" = ( /obj/machinery/computer/shuttle/labor, /obj/machinery/status_display{ pixel_y = 32 @@ -28755,7 +32116,7 @@ dir = 5 }, /area/security/execution/transfer) -"blo" = ( +"bpg" = ( /obj/machinery/computer/security{ name = "Labor Camp Monitoring"; network = list("Labor") @@ -28766,7 +32127,7 @@ }, /turf/open/floor/plasteel/red, /area/security/execution/transfer) -"blp" = ( +"bph" = ( /obj/machinery/computer/secure_data, /obj/machinery/ai_status_display{ pixel_y = 32 @@ -28780,7 +32141,7 @@ dir = 9 }, /area/security/execution/transfer) -"blq" = ( +"bpi" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, /obj/machinery/light_switch{ @@ -28790,27 +32151,27 @@ dir = 5 }, /area/security/execution/transfer) -"blr" = ( +"bpj" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/execution/transfer) -"bls" = ( +"bpk" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/effect/landmark/lightsout, /turf/open/floor/plasteel/neutral, /area/security/brig) -"blt" = ( +"bpl" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/red/corner{ dir = 1 }, /area/security/main) -"blu" = ( +"bpm" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -28818,15 +32179,15 @@ dir = 4 }, /area/security/main) -"blv" = ( +"bpn" = ( /turf/open/floor/plasteel/red, /area/security/main) -"blw" = ( +"bpo" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/security/main) -"blx" = ( +"bpp" = ( /obj/structure/table/reinforced, /obj/item/clipboard, /obj/item/clothing/accessory/armband/deputy, @@ -28839,7 +32200,7 @@ dir = 8 }, /area/security/main) -"bly" = ( +"bpq" = ( /obj/structure/chair/comfy/black{ dir = 8 }, @@ -28847,21 +32208,20 @@ dir = 4 }, /area/security/main) -"blz" = ( +"bpr" = ( /obj/structure/cable/white{ icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/red/side{ dir = 4 }, /area/security/main) -"blA" = ( +"bps" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -28872,7 +32232,7 @@ dir = 5 }, /area/security/main) -"blB" = ( +"bpt" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -28894,7 +32254,7 @@ dir = 8 }, /area/crew_quarters/heads/hos) -"blC" = ( +"bpu" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -28906,7 +32266,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"blD" = ( +"bpv" = ( /obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "4-8" @@ -28916,7 +32276,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"blE" = ( +"bpw" = ( /obj/structure/table/wood, /obj/structure/cable/white{ icon_state = "4-8" @@ -28934,7 +32294,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"blF" = ( +"bpx" = ( /obj/structure/chair/comfy/black{ dir = 8 }, @@ -28947,17 +32307,16 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"blG" = ( +"bpy" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"blH" = ( +"bpz" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -28965,7 +32324,7 @@ dir = 8 }, /area/crew_quarters/heads/hos) -"blI" = ( +"bpA" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -28984,28 +32343,30 @@ dir = 8 }, /area/crew_quarters/heads/hos) -"blJ" = ( +"bpB" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"blK" = ( +"bpC" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/effect/landmark/start/head_of_security, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"blL" = ( +"bpD" = ( /obj/structure/cable/white{ icon_state = "4-8" }, -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 8 + }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"blM" = ( +"bpE" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -29020,14 +32381,14 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hos) -"blN" = ( +"bpF" = ( /obj/structure/window/reinforced{ dir = 4 }, /obj/structure/lattice, /turf/open/space, /area/space) -"blO" = ( +"bpG" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -29040,7 +32401,7 @@ dir = 5 }, /area/aisat) -"blP" = ( +"bpH" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 1; @@ -29050,20 +32411,20 @@ dir = 5 }, /area/aisat) -"blQ" = ( +"bpI" = ( /obj/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/aisat) -"blR" = ( +"bpJ" = ( /obj/structure/window/reinforced, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/aisat) -"blS" = ( +"bpK" = ( /obj/structure/window/reinforced, /obj/machinery/camera{ c_tag = "AI Satellite - Fore"; @@ -29076,14 +32437,14 @@ dir = 5 }, /area/aisat) -"blT" = ( +"bpL" = ( /obj/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/aisat) -"blU" = ( +"bpM" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -29096,17 +32457,17 @@ dir = 5 }, /area/aisat) -"blV" = ( +"bpN" = ( /obj/structure/window/reinforced{ dir = 8 }, /obj/structure/lattice, /turf/open/space, /area/space) -"blW" = ( +"bpO" = ( /turf/open/floor/engine/vacuum, /area/engine/atmos) -"blX" = ( +"bpP" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 4; frequency = 1441; @@ -29115,7 +32476,7 @@ }, /turf/open/floor/engine/vacuum, /area/engine/atmos) -"blY" = ( +"bpQ" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, @@ -29124,7 +32485,7 @@ dir = 9 }, /area/engine/atmos) -"blZ" = ( +"bpR" = ( /obj/machinery/atmospherics/pipe/simple/green/visible, /obj/machinery/atmospherics/components/binary/pump{ dir = 8; @@ -29135,7 +32496,7 @@ dir = 1 }, /area/engine/atmos) -"bma" = ( +"bpS" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 10 }, @@ -29144,7 +32505,7 @@ dir = 1 }, /area/engine/atmos) -"bmb" = ( +"bpT" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 2; name = "Pure to Mix"; @@ -29155,7 +32516,7 @@ dir = 1 }, /area/engine/atmos) -"bmc" = ( +"bpU" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 6 }, @@ -29163,7 +32524,7 @@ dir = 1 }, /area/engine/atmos) -"bmd" = ( +"bpV" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 9 }, @@ -29171,7 +32532,7 @@ dir = 1 }, /area/engine/atmos) -"bme" = ( +"bpW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 6 }, @@ -29179,14 +32540,14 @@ dir = 1 }, /area/engine/atmos) -"bmf" = ( +"bpX" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, /turf/open/floor/plating, /area/engine/atmos) -"bmg" = ( +"bpY" = ( /obj/item/clothing/gloves/color/black, /obj/structure/table/reinforced, /obj/item/clothing/glasses/meson/engine/tray, @@ -29197,7 +32558,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"bmh" = ( +"bpZ" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 8 + }, +/turf/open/floor/plasteel/neutral, +/area/engine/atmos) +"bqa" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 2 }, @@ -29207,7 +32574,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bmi" = ( +"bqb" = ( /obj/item/weldingtool, /obj/item/clothing/head/welding, /obj/structure/table/reinforced, @@ -29221,7 +32588,19 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bmj" = ( +"bqc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"bqd" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -29231,14 +32610,29 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bml" = ( +"bqe" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Air to External Air Ports"; + on = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/sign/poster/official/work_for_a_future{ + pixel_x = 32 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"bqf" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/engine/atmos) -"bmm" = ( +"bqg" = ( /obj/machinery/space_heater, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -29246,7 +32640,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"bmn" = ( +"bqh" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -29254,7 +32648,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"bmo" = ( +"bqi" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/machinery/light{ dir = 1 @@ -29265,7 +32659,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"bmp" = ( +"bqj" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -29274,7 +32668,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"bmq" = ( +"bqk" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/portable_atmospherics/canister/air, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -29283,13 +32677,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"bmr" = ( +"bql" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, /turf/closed/wall/r_wall, /area/engine/atmos) -"bms" = ( +"bqm" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, @@ -29297,13 +32691,12 @@ dir = 1 }, /area/hallway/primary/port) -"bmt" = ( +"bqn" = ( /obj/structure/cable/white{ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/light/small{ dir = 1 @@ -29312,7 +32705,7 @@ dir = 1 }, /area/hallway/primary/port) -"bmu" = ( +"bqo" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -29323,7 +32716,7 @@ dir = 4 }, /area/hallway/primary/port) -"bmv" = ( +"bqp" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; @@ -29343,7 +32736,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"bmw" = ( +"bqq" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -29354,7 +32747,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"bmx" = ( +"bqr" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -29365,7 +32758,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"bmy" = ( +"bqs" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -29376,7 +32769,7 @@ dir = 4 }, /area/maintenance/port/fore) -"bmz" = ( +"bqt" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -29390,7 +32783,16 @@ heat_capacity = 1e+006 }, /area/maintenance/port/fore) -"bmA" = ( +"bqu" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"bqv" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -29400,18 +32802,17 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"bmB" = ( +"bqw" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" }, -/obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 8 }, /turf/open/floor/plating, /area/maintenance/port/fore) -"bmC" = ( +"bqx" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -29420,13 +32821,12 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port/fore) -"bmD" = ( +"bqy" = ( /obj/machinery/hydroponics/constructable, /obj/machinery/newscaster{ pixel_x = -32 @@ -29434,18 +32834,22 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics) -"bmE" = ( +"bqz" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/hydroponics) +"bqA" = ( /obj/machinery/seed_extractor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"bmF" = ( +"bqB" = ( /obj/machinery/biogenerator, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"bmG" = ( +"bqC" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -29453,7 +32857,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"bmH" = ( +"bqD" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/item/folder, @@ -29467,7 +32871,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics) -"bmI" = ( +"bqE" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -29475,7 +32879,7 @@ dir = 1 }, /area/hallway/primary/central) -"bmJ" = ( +"bqF" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -29486,8 +32890,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=hall3"; @@ -29495,18 +32898,17 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bmK" = ( +"bqG" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 4 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bmL" = ( +"bqH" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -29515,7 +32917,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bmM" = ( +"bqI" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -29527,7 +32929,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bmN" = ( +"bqJ" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -29543,7 +32945,17 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"bmO" = ( +"bqK" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/hallway/primary/central) +"bqL" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -29554,7 +32966,7 @@ dir = 8 }, /area/hallway/primary/central) -"bmP" = ( +"bqM" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -29565,7 +32977,7 @@ icon_state = "L1" }, /area/hallway/primary/central) -"bmQ" = ( +"bqN" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -29576,7 +32988,7 @@ icon_state = "L3" }, /area/hallway/primary/central) -"bmR" = ( +"bqO" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -29592,7 +33004,7 @@ icon_state = "L5" }, /area/hallway/primary/central) -"bmS" = ( +"bqP" = ( /obj/effect/landmark/lightsout, /obj/structure/cable/white{ icon_state = "4-8" @@ -29605,8 +33017,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=hall15"; @@ -29616,7 +33027,7 @@ icon_state = "L7" }, /area/hallway/primary/central) -"bmT" = ( +"bqQ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -29624,7 +33035,7 @@ icon_state = "L9" }, /area/hallway/primary/central) -"bmU" = ( +"bqR" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -29632,7 +33043,7 @@ icon_state = "L11" }, /area/hallway/primary/central) -"bmV" = ( +"bqS" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -29641,7 +33052,7 @@ icon_state = "L13" }, /area/hallway/primary/central) -"bmW" = ( +"bqT" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -29649,20 +33060,20 @@ dir = 4 }, /area/hallway/primary/central) -"bmX" = ( +"bqU" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bmY" = ( +"bqV" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bmZ" = ( +"bqW" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -29675,7 +33086,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"bna" = ( +"bqX" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -29684,7 +33095,14 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bnb" = ( +"bqY" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/hallway/primary/central) +"bqZ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -29693,7 +33111,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bnc" = ( +"bra" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -29709,20 +33127,20 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bnd" = ( +"brb" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/hallway/primary/central) -"bne" = ( +"brc" = ( /turf/closed/wall/mineral/titanium, /area/shuttle/labor) -"bnf" = ( +"brd" = ( /obj/effect/spawner/structure/window/shuttle, /turf/open/floor/plating, /area/shuttle/labor) -"bng" = ( +"bre" = ( /obj/machinery/light{ dir = 8 }, @@ -29734,7 +33152,7 @@ }, /turf/open/floor/plasteel, /area/security/execution/transfer) -"bnh" = ( +"brf" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -29742,25 +33160,25 @@ dir = 8 }, /area/security/execution/transfer) -"bni" = ( +"brg" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/security/execution/transfer) -"bnj" = ( +"brh" = ( /obj/structure/chair/office/dark{ dir = 1 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/security/execution/transfer) -"bnk" = ( +"bri" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/security/execution/transfer) -"bnl" = ( +"brj" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -29768,7 +33186,7 @@ dir = 4 }, /area/security/execution/transfer) -"bnm" = ( +"brk" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-2" @@ -29779,7 +33197,7 @@ }, /turf/open/floor/plating, /area/security/execution/transfer) -"bnn" = ( +"brl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -29788,7 +33206,7 @@ dir = 8 }, /area/security/brig) -"bno" = ( +"brm" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -29796,12 +33214,11 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/neutral, /area/security/brig) -"bnp" = ( +"brn" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, /obj/structure/disposalpipe/segment{ dir = 4 @@ -29810,7 +33227,7 @@ dir = 4 }, /area/security/brig) -"bnq" = ( +"bro" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -29829,17 +33246,16 @@ dir = 8 }, /area/security/main) -"bnr" = ( +"brp" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel, /area/security/main) -"bns" = ( +"brq" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -29854,7 +33270,7 @@ dir = 4 }, /area/security/main) -"bnt" = ( +"brr" = ( /obj/structure/table/reinforced, /obj/item/folder/red, /obj/item/device/flashlight/seclite, @@ -29863,7 +33279,7 @@ }, /turf/open/floor/plasteel/red, /area/security/main) -"bnu" = ( +"brs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -29871,7 +33287,7 @@ dir = 10 }, /area/security/main) -"bnv" = ( +"brt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -29879,7 +33295,7 @@ dir = 8 }, /area/security/main) -"bnw" = ( +"bru" = ( /obj/structure/table/reinforced, /obj/item/book/manual/wiki/security_space_law, /obj/item/device/taperecorder, @@ -29890,8 +33306,10 @@ dir = 10 }, /area/security/main) -"bnx" = ( -/obj/machinery/computer/secure_data, +"brv" = ( +/obj/machinery/computer/secure_data{ + dir = 1 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -29899,7 +33317,7 @@ dir = 6 }, /area/security/main) -"bny" = ( +"brw" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -29912,7 +33330,7 @@ dir = 4 }, /area/security/main) -"bnz" = ( +"brx" = ( /obj/effect/landmark/secequipment, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -29922,7 +33340,7 @@ dir = 5 }, /area/security/main) -"bnA" = ( +"bry" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-2" @@ -29937,7 +33355,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hos) -"bnB" = ( +"brz" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -29946,7 +33364,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"bnC" = ( +"brA" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -29955,7 +33373,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"bnD" = ( +"brB" = ( /obj/structure/table/wood, /obj/item/phone{ desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in."; @@ -29979,22 +33397,26 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"bnE" = ( -/obj/machinery/computer/security, +"brC" = ( +/obj/machinery/computer/security{ + dir = 1 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"bnF" = ( +"brD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"bnG" = ( -/obj/machinery/computer/prisoner, +"brE" = ( +/obj/machinery/computer/prisoner{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -30002,7 +33424,7 @@ dir = 8 }, /area/crew_quarters/heads/hos) -"bnH" = ( +"brF" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced/tinted, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -30010,7 +33432,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hos) -"bnI" = ( +"brG" = ( /obj/machinery/light_switch{ pixel_x = -26; pixel_y = -26 @@ -30020,7 +33442,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"bnJ" = ( +"brH" = ( /obj/machinery/button/door{ id = "hosroom"; name = "Privacy Control"; @@ -30033,11 +33455,13 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"bnK" = ( -/obj/machinery/computer/secure_data, +"brI" = ( +/obj/machinery/computer/secure_data{ + dir = 8 + }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"bnL" = ( +"brJ" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -30046,7 +33470,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hos) -"bnM" = ( +"brK" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -30057,7 +33481,7 @@ dir = 5 }, /area/aisat) -"bnN" = ( +"brL" = ( /obj/structure/lattice, /obj/structure/window/reinforced{ dir = 1; @@ -30068,7 +33492,7 @@ }, /turf/open/space, /area/space) -"bnO" = ( +"brM" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -30076,14 +33500,14 @@ /obj/structure/lattice, /turf/open/space, /area/space) -"bnP" = ( +"brN" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 }, /turf/open/space, /area/space) -"bnQ" = ( +"brO" = ( /obj/structure/lattice, /obj/structure/window/reinforced{ dir = 1; @@ -30091,7 +33515,7 @@ }, /turf/open/space, /area/space) -"bnR" = ( +"brP" = ( /obj/structure/lattice, /obj/structure/window/reinforced{ dir = 1; @@ -30100,7 +33524,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/space, /area/space) -"bnS" = ( +"brQ" = ( /obj/structure/lattice/catwalk, /obj/structure/window/reinforced{ dir = 1; @@ -30108,7 +33532,7 @@ }, /turf/open/space, /area/space) -"bnT" = ( +"brR" = ( /obj/structure/lattice, /obj/structure/window/reinforced{ dir = 1; @@ -30117,7 +33541,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/space, /area/space) -"bnU" = ( +"brS" = ( /obj/structure/lattice, /obj/structure/window/reinforced{ dir = 1; @@ -30128,21 +33552,22 @@ }, /turf/open/space, /area/space) -"bnV" = ( +"brT" = ( /obj/machinery/light/small{ dir = 8 }, /turf/open/floor/engine/vacuum, /area/engine/atmos) -"bnW" = ( +"brU" = ( /obj/machinery/air_sensor{ frequency = 1441; id_tag = "mix_sensor" }, /turf/open/floor/engine/vacuum, /area/engine/atmos) -"bnX" = ( +"brV" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 4; frequency = 1441; input_tag = "mix_in"; name = "Gas Mix Tank Control"; @@ -30154,7 +33579,7 @@ dir = 8 }, /area/engine/atmos) -"bnY" = ( +"brW" = ( /obj/machinery/atmospherics/pipe/manifold/green/visible{ dir = 8 }, @@ -30163,7 +33588,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bnZ" = ( +"brX" = ( /obj/machinery/atmospherics/pipe/manifold/green/visible, /obj/machinery/meter, /obj/effect/turf_decal/stripes/line{ @@ -30171,7 +33596,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"boa" = ( +"brY" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 9 }, @@ -30180,7 +33605,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bob" = ( +"brZ" = ( /obj/machinery/atmospherics/pipe/manifold/yellow/visible{ dir = 8 }, @@ -30189,7 +33614,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"boc" = ( +"bsa" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/binary/pump{ dir = 4; @@ -30201,7 +33626,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bod" = ( +"bsb" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ dir = 4 }, @@ -30210,7 +33635,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"boe" = ( +"bsc" = ( /obj/structure/table/reinforced, /obj/item/crowbar/red, /obj/item/wrench, @@ -30222,14 +33647,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"bof" = ( +"bsd" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/cyan/visible{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bog" = ( +"bse" = ( /obj/structure/table/reinforced, /obj/item/storage/belt/utility, /obj/item/device/t_scanner, @@ -30239,7 +33664,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"boh" = ( +"bsf" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 5 @@ -30249,7 +33674,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"boi" = ( +"bsg" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -30259,7 +33684,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"boj" = ( +"bsh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/binary/pump{ dir = 8; @@ -30272,7 +33697,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bok" = ( +"bsi" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -30283,7 +33708,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/engine/atmos) -"bol" = ( +"bsj" = ( /obj/machinery/space_heater, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -30291,7 +33716,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"bom" = ( +"bsk" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -30299,7 +33724,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"bon" = ( +"bsl" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -30308,7 +33733,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"boo" = ( +"bsm" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -30316,7 +33741,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"bop" = ( +"bsn" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -30324,7 +33749,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"boq" = ( +"bso" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -30332,7 +33757,7 @@ /obj/structure/sign/nosmoking_2, /turf/closed/wall/r_wall, /area/engine/atmos) -"bor" = ( +"bsp" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -30340,7 +33765,7 @@ dir = 1 }, /area/hallway/primary/port) -"bos" = ( +"bsq" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, @@ -30354,43 +33779,37 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/port) -"bot" = ( +"bsr" = ( /turf/open/floor/plasteel/yellow/corner{ dir = 4 }, /area/hallway/primary/port) -"bou" = ( +"bss" = ( /turf/closed/wall, /area/storage/tech) -"bov" = ( +"bst" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/storage/tech) -"bow" = ( +"bsu" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/closed/wall, /area/storage/tech) -"box" = ( +"bsv" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/neutral/side{ dir = 1 }, /area/maintenance/port/fore) -"boy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/hydroponics) -"boz" = ( +"bsw" = ( /obj/machinery/hydroponics/constructable, /obj/structure/extinguisher_cabinet{ pixel_x = -26 @@ -30398,19 +33817,19 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics) -"boA" = ( +"bsx" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/hydroponics) -"boB" = ( +"bsy" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, /turf/open/floor/plasteel/neutral, /area/hydroponics) -"boC" = ( +"bsz" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/machinery/door/window/eastright{ @@ -30431,7 +33850,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics) -"boD" = ( +"bsA" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -30441,18 +33860,17 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"boE" = ( +"bsB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"boF" = ( +"bsC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -30466,7 +33884,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"boG" = ( +"bsD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -30479,7 +33897,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"boH" = ( +"bsE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -30488,7 +33906,20 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"boJ" = ( +"bsF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/light/small, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/poster/official/do_not_question{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/neutral/corner, +/area/hallway/primary/central) +"bsG" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -30504,7 +33935,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"boK" = ( +"bsH" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -30515,7 +33946,7 @@ icon_state = "L2" }, /area/hallway/primary/central) -"boL" = ( +"bsI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -30531,7 +33962,7 @@ icon_state = "L4" }, /area/hallway/primary/central) -"boM" = ( +"bsJ" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/disposalpipe/segment{ dir = 4 @@ -30540,7 +33971,7 @@ icon_state = "L6" }, /area/hallway/primary/central) -"boN" = ( +"bsK" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/disposalpipe/segment{ dir = 4 @@ -30550,7 +33981,7 @@ icon_state = "L8" }, /area/hallway/primary/central) -"boO" = ( +"bsL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -30561,7 +33992,7 @@ icon_state = "L10" }, /area/hallway/primary/central) -"boP" = ( +"bsM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -30582,7 +34013,7 @@ icon_state = "L12" }, /area/hallway/primary/central) -"boQ" = ( +"bsN" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -30593,7 +34024,7 @@ icon_state = "L14" }, /area/hallway/primary/central) -"boR" = ( +"bsO" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -30604,7 +34035,7 @@ dir = 8 }, /area/hallway/primary/central) -"boS" = ( +"bsP" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/disposalpipe/segment{ dir = 4 @@ -30613,7 +34044,22 @@ dir = 8 }, /area/hallway/primary/central) -"boU" = ( +"bsQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/light/small, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/poster/official/report_crimes{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/neutral/corner{ + dir = 8 + }, +/area/hallway/primary/central) +"bsR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -30628,7 +34074,7 @@ dir = 8 }, /area/hallway/primary/central) -"boV" = ( +"bsS" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/machinery/light, /obj/structure/disposalpipe/segment{ @@ -30642,7 +34088,7 @@ dir = 8 }, /area/hallway/primary/central) -"boW" = ( +"bsT" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -30653,7 +34099,7 @@ dir = 8 }, /area/hallway/primary/central) -"boX" = ( +"bsU" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -30662,46 +34108,47 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"boY" = ( +"bsV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/hallway/primary/central) -"boZ" = ( +"bsW" = ( /turf/closed/wall, /area/hallway/primary/central) -"bpa" = ( -/obj/machinery/computer/shuttle/labor, +"bsX" = ( +/obj/machinery/computer/shuttle/labor{ + dir = 4 + }, /obj/structure/reagent_dispensers/peppertank{ pixel_x = -31 }, /turf/open/floor/mineral/plastitanium/brig, /area/shuttle/labor) -"bpb" = ( +"bsY" = ( /obj/structure/chair/office/dark{ dir = 1 }, /turf/open/floor/mineral/plastitanium/brig, /area/shuttle/labor) -"bpc" = ( +"bsZ" = ( /obj/item/folder/red, /obj/item/restraints/handcuffs, /obj/structure/table/reinforced, /turf/open/floor/mineral/plastitanium/brig, /area/shuttle/labor) -"bpd" = ( +"bta" = ( /obj/structure/cable/white{ icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/execution/transfer) -"bpe" = ( +"btb" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -30712,7 +34159,7 @@ /obj/structure/sign/vacuum, /turf/open/floor/plating, /area/security/execution/transfer) -"bpf" = ( +"btc" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -30722,7 +34169,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/execution/transfer) -"bpg" = ( +"btd" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -30731,7 +34178,7 @@ }, /turf/open/floor/plasteel, /area/security/execution/transfer) -"bph" = ( +"bte" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -30739,14 +34186,13 @@ icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/red/side{ dir = 8 }, /area/security/execution/transfer) -"bpi" = ( +"btf" = ( /obj/structure/table/reinforced, /obj/item/folder/red, /obj/item/restraints/handcuffs, @@ -30758,7 +34204,7 @@ dir = 8 }, /area/security/execution/transfer) -"bpj" = ( +"btg" = ( /obj/machinery/gulag_teleporter, /obj/structure/disposalpipe/segment{ dir = 4 @@ -30767,8 +34213,10 @@ dir = 8 }, /area/security/execution/transfer) -"bpk" = ( -/obj/machinery/computer/gulag_teleporter_computer, +"bth" = ( +/obj/machinery/computer/gulag_teleporter_computer{ + dir = 1 + }, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -30776,7 +34224,7 @@ dir = 8 }, /area/security/execution/transfer) -"bpl" = ( +"bti" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -30787,7 +34235,7 @@ dir = 4 }, /area/security/execution/transfer) -"bpm" = ( +"btj" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -30807,7 +34255,7 @@ }, /turf/open/floor/plasteel/red, /area/security/execution/transfer) -"bpn" = ( +"btk" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -30821,7 +34269,7 @@ dir = 8 }, /area/security/brig) -"bpo" = ( +"btl" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -30840,7 +34288,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/brig) -"bpp" = ( +"btm" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -30852,7 +34300,7 @@ dir = 4 }, /area/security/brig) -"bpq" = ( +"btn" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-8" @@ -30874,7 +34322,7 @@ dir = 8 }, /area/security/main) -"bpr" = ( +"bto" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -30883,7 +34331,7 @@ }, /turf/open/floor/plasteel, /area/security/main) -"bps" = ( +"btp" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -30901,7 +34349,7 @@ dir = 4 }, /area/security/main) -"bpt" = ( +"btq" = ( /obj/structure/table/reinforced, /obj/structure/cable/white{ icon_state = "4-8" @@ -30913,7 +34361,7 @@ }, /turf/open/floor/plasteel/red, /area/security/main) -"bpu" = ( +"btr" = ( /obj/structure/table/reinforced, /obj/structure/cable/white{ icon_state = "4-8" @@ -30925,7 +34373,7 @@ }, /turf/open/floor/plasteel/red, /area/security/main) -"bpv" = ( +"bts" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -30936,7 +34384,7 @@ dir = 8 }, /area/security/main) -"bpw" = ( +"btt" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -30946,7 +34394,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/main) -"bpx" = ( +"btu" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -30955,7 +34403,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/main) -"bpy" = ( +"btv" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -30964,21 +34412,20 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/red/side{ dir = 4 }, /area/security/main) -"bpz" = ( +"btw" = ( /obj/effect/landmark/secequipment, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/security/main) -"bpA" = ( +"btx" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -30987,7 +34434,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hos) -"bpB" = ( +"bty" = ( /obj/machinery/firealarm{ dir = 8; pixel_x = -24; @@ -30998,7 +34445,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"bpC" = ( +"btz" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -31007,7 +34454,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"bpD" = ( +"btA" = ( /obj/machinery/status_display{ pixel_x = 32; pixel_y = -32 @@ -31015,7 +34462,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) -"bpE" = ( +"btB" = ( /obj/structure/table/wood, /obj/machinery/computer/med_data/laptop, /obj/machinery/newscaster/security_unit{ @@ -31029,7 +34476,7 @@ dir = 8 }, /area/crew_quarters/heads/hos) -"bpF" = ( +"btC" = ( /obj/structure/closet/secure_closet/hos, /obj/item/clothing/head/HoS/beret, /obj/item/clothing/suit/armor/hos/trenchcoat, @@ -31039,7 +34486,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/hos) -"bpG" = ( +"btD" = ( /obj/machinery/light, /obj/machinery/ai_status_display{ pixel_y = -32 @@ -31057,39 +34504,39 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/hos) -"bpH" = ( +"btE" = ( /obj/machinery/suit_storage_unit/hos, /obj/effect/turf_decal/stripes/line{ dir = 5 }, /turf/open/floor/plasteel, /area/crew_quarters/heads/hos) -"bpI" = ( +"btF" = ( /obj/structure/lattice, /obj/structure/window/reinforced{ dir = 8 }, /turf/open/space, /area/space) -"bpJ" = ( +"btG" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/ai) -"bpK" = ( +"btH" = ( /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/ai) -"bpL" = ( +"btI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/ai) -"bpM" = ( +"btJ" = ( /obj/structure/lattice, /obj/structure/window/reinforced{ dir = 4 }, /turf/open/space, /area/space) -"bpN" = ( +"btK" = ( /obj/machinery/camera{ c_tag = "Atmospherics - Mix Cell"; dir = 1; @@ -31097,7 +34544,7 @@ }, /turf/open/floor/engine/vacuum, /area/engine/atmos) -"bpO" = ( +"btL" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ dir = 4; frequency = 1441; @@ -31106,7 +34553,7 @@ }, /turf/open/floor/engine/vacuum, /area/engine/atmos) -"bpQ" = ( +"btM" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible, /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 @@ -31115,7 +34562,7 @@ dir = 10 }, /area/engine/atmos) -"bpR" = ( +"btN" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 }, @@ -31127,31 +34574,31 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bpS" = ( +"btO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bpT" = ( +"btP" = ( /obj/machinery/atmospherics/pipe/manifold/yellow/visible{ dir = 1 }, /obj/effect/landmark/start/atmospheric_technician, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bpU" = ( +"btQ" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 9 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bpV" = ( +"btR" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bpW" = ( +"btS" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light{ dir = 4 @@ -31165,7 +34612,7 @@ dir = 4 }, /area/engine/atmos) -"bpX" = ( +"btT" = ( /obj/machinery/light{ dir = 8 }, @@ -31177,27 +34624,27 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"bpY" = ( +"btU" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 2 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bpZ" = ( +"btV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 2 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"bqa" = ( +"btW" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/engine/atmos) -"bqb" = ( +"btX" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -31208,7 +34655,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bqc" = ( +"btY" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -31222,7 +34669,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bqd" = ( +"btZ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_atmos{ name = "Atmospherics Desk"; @@ -31249,7 +34696,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bqe" = ( +"bua" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -31260,7 +34707,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/atmos) -"bqf" = ( +"bub" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -31271,7 +34718,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"bqg" = ( +"buc" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -31282,7 +34729,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"bqh" = ( +"bud" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 @@ -31290,7 +34737,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"bqi" = ( +"bue" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/machinery/camera{ c_tag = "Atmospherics - Desk"; @@ -31300,17 +34747,17 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) -"bqj" = ( +"buf" = ( /obj/machinery/status_display, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, /area/engine/atmos) -"bqk" = ( +"bug" = ( /turf/open/floor/plasteel/yellow/corner{ dir = 1 }, /area/hallway/primary/port) -"bql" = ( +"buh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/white{ icon_state = "1-2" @@ -31321,7 +34768,21 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/port) -"bqm" = ( +"bui" = ( +/obj/machinery/power/apc{ + dir = 4; + name = "Port Primary Hallway APC"; + areastring = "/area/hallway/primary/port"; + pixel_x = 26 + }, +/obj/structure/cable/white{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/yellow/corner{ + dir = 4 + }, +/area/hallway/primary/port) +"buj" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -31331,17 +34792,17 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/port/fore) -"bqn" = ( +"buk" = ( /obj/machinery/vending/hydroseeds, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"bqo" = ( +"bul" = ( /obj/machinery/vending/hydronutrients, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"bqp" = ( +"bum" = ( /obj/structure/table/glass, /obj/machinery/light{ dir = 4 @@ -31352,7 +34813,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"bqq" = ( +"bun" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line{ @@ -31363,7 +34824,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"bqr" = ( +"buo" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -31377,7 +34838,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"bqs" = ( +"bup" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, @@ -31389,15 +34850,15 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"bqt" = ( +"buq" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/hallway/primary/central) -"bqu" = ( +"bur" = ( /obj/machinery/status_display, /turf/closed/wall, /area/hallway/primary/central) -"bqv" = ( +"bus" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -31410,10 +34871,10 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"bqw" = ( +"but" = ( /turf/closed/wall/r_wall, /area/security/nuke_storage) -"bqx" = ( +"buu" = ( /obj/structure/grille, /obj/structure/cable/yellow{ icon_state = "0-8" @@ -31421,10 +34882,10 @@ /obj/structure/window/shuttle, /turf/open/floor/plating, /area/shuttle/labor) -"bqy" = ( +"buv" = ( /turf/open/floor/mineral/plastitanium/brig, /area/shuttle/labor) -"bqz" = ( +"buw" = ( /obj/machinery/button/flasher{ id = "gulagshuttleflasher"; name = "Flash Control"; @@ -31434,7 +34895,7 @@ /obj/machinery/light, /turf/open/floor/mineral/plastitanium/brig, /area/shuttle/labor) -"bqA" = ( +"bux" = ( /obj/machinery/mineral/labor_claim_console{ machinedir = 2; pixel_x = 30; @@ -31442,7 +34903,7 @@ }, /turf/open/floor/mineral/plastitanium/brig, /area/shuttle/labor) -"bqB" = ( +"buy" = ( /obj/machinery/door/airlock/shuttle{ name = "Labor Shuttle Airlock"; req_access_txt = "2" @@ -31455,7 +34916,7 @@ }, /turf/open/floor/plasteel/white, /area/shuttle/labor) -"bqC" = ( +"buz" = ( /obj/machinery/door/airlock/external{ cyclelinkeddir = 4; name = "Gulag Shuttle Airlock"; @@ -31469,11 +34930,11 @@ }, /turf/open/floor/plasteel, /area/security/execution/transfer) -"bqD" = ( +"buA" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/security/execution/transfer) -"bqE" = ( +"buB" = ( /obj/machinery/door/airlock/external{ cyclelinkeddir = 8; name = "Gulag Shuttle Airlock"; @@ -31487,13 +34948,13 @@ }, /turf/open/floor/plasteel, /area/security/execution/transfer) -"bqF" = ( +"buC" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/security/execution/transfer) -"bqG" = ( +"buD" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -31505,7 +34966,7 @@ dir = 8 }, /area/security/execution/transfer) -"bqH" = ( +"buE" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -31517,7 +34978,7 @@ }, /turf/open/floor/plasteel, /area/security/execution/transfer) -"bqI" = ( +"buF" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -31532,7 +34993,7 @@ }, /turf/open/floor/plasteel, /area/security/execution/transfer) -"bqJ" = ( +"buG" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -31547,7 +35008,7 @@ }, /turf/open/floor/plasteel, /area/security/execution/transfer) -"bqK" = ( +"buH" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -31558,7 +35019,7 @@ dir = 4 }, /area/security/execution/transfer) -"bqL" = ( +"buI" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -31569,7 +35030,7 @@ }, /turf/open/floor/plating, /area/security/execution/transfer) -"bqM" = ( +"buJ" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -31577,19 +35038,20 @@ dir = 8 }, /area/security/brig) -"bqN" = ( +"buK" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral, /area/security/brig) -"bqO" = ( +"buL" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/main) -"bqP" = ( +"buM" = ( /obj/machinery/firealarm{ dir = 8; pixel_x = -24; @@ -31599,12 +35061,12 @@ dir = 8 }, /area/security/main) -"bqQ" = ( +"buN" = ( /turf/open/floor/plasteel/red/corner{ dir = 4 }, /area/security/main) -"bqR" = ( +"buO" = ( /obj/structure/chair/office/dark{ dir = 1 }, @@ -31613,18 +35075,18 @@ dir = 1 }, /area/security/main) -"bqS" = ( +"buP" = ( /turf/open/floor/plasteel/red/corner{ dir = 1 }, /area/security/main) -"bqT" = ( +"buQ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/security/main) -"bqU" = ( +"buR" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -31633,7 +35095,7 @@ dir = 4 }, /area/security/main) -"bqV" = ( +"buS" = ( /obj/effect/landmark/secequipment, /obj/machinery/light/small{ dir = 4 @@ -31643,7 +35105,7 @@ dir = 5 }, /area/security/main) -"bqW" = ( +"buT" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/power/apc{ dir = 2; @@ -31656,7 +35118,7 @@ dir = 1 }, /area/crew_quarters/heads/hos) -"bqX" = ( +"buU" = ( /obj/structure/table/wood, /obj/item/clipboard, /obj/item/toy/figure/hos, @@ -31664,7 +35126,7 @@ dir = 8 }, /area/crew_quarters/heads/hos) -"bqY" = ( +"buV" = ( /obj/structure/table/wood, /obj/structure/cable/white{ icon_state = "1-2" @@ -31674,7 +35136,7 @@ dir = 8 }, /area/crew_quarters/heads/hos) -"bqZ" = ( +"buW" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, @@ -31682,7 +35144,7 @@ dir = 8 }, /area/crew_quarters/heads/hos) -"bra" = ( +"buX" = ( /obj/machinery/disposal/bin, /obj/machinery/airalarm{ dir = 1; @@ -31700,7 +35162,7 @@ dir = 8 }, /area/crew_quarters/heads/hos) -"brb" = ( +"buY" = ( /obj/machinery/atmospherics/pipe/manifold/cyan/visible{ dir = 8 }, @@ -31711,7 +35173,7 @@ dir = 9 }, /area/engine/atmos) -"brc" = ( +"buZ" = ( /obj/machinery/atmospherics/pipe/manifold/cyan/visible{ dir = 4 }, @@ -31721,7 +35183,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"brd" = ( +"bva" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 2; name = "Mix to Distro"; @@ -31729,12 +35191,12 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bre" = ( +"bvb" = ( /obj/machinery/atmospherics/components/unary/thermomachine/heater, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/atmos) -"brf" = ( +"bvc" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ icon_state = "freezer"; dir = 4 @@ -31743,7 +35205,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/atmos) -"brg" = ( +"bvd" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ dir = 4 @@ -31752,7 +35214,7 @@ dir = 4 }, /area/engine/atmos) -"brh" = ( +"bve" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 }, @@ -31765,7 +35227,7 @@ }, /turf/open/floor/plasteel/arrival, /area/engine/atmos) -"bri" = ( +"bvf" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 }, @@ -31780,14 +35242,14 @@ }, /turf/open/floor/plasteel/arrival, /area/engine/atmos) -"brj" = ( +"bvg" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 }, /obj/machinery/portable_atmospherics/scrubber, /turf/open/floor/plasteel/escape, /area/engine/atmos) -"brk" = ( +"bvh" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 }, @@ -31800,7 +35262,7 @@ }, /turf/open/floor/plasteel/escape, /area/engine/atmos) -"brl" = ( +"bvi" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -31811,20 +35273,19 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"brm" = ( +"bvj" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/atmos) -"brn" = ( +"bvk" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light/small, /obj/machinery/light_switch{ @@ -31843,7 +35304,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bro" = ( +"bvl" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, @@ -31852,7 +35313,7 @@ }, /turf/open/floor/plating, /area/engine/atmos) -"brp" = ( +"bvm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -31864,7 +35325,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"brq" = ( +"bvn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, @@ -31876,7 +35337,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"brr" = ( +"bvo" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -31889,7 +35350,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"brs" = ( +"bvp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ dir = 4 @@ -31899,7 +35360,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"brt" = ( +"bvq" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -31907,7 +35368,7 @@ dir = 1 }, /area/engine/atmos) -"bru" = ( +"bvr" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -31922,7 +35383,7 @@ }, /turf/open/floor/plating, /area/engine/atmos) -"brv" = ( +"bvs" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -31930,7 +35391,7 @@ dir = 1 }, /area/hallway/primary/port) -"brw" = ( +"bvt" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -31940,7 +35401,7 @@ /obj/structure/disposalpipe/junction, /turf/open/floor/plasteel/neutral, /area/hallway/primary/port) -"brx" = ( +"bvu" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 }, @@ -31949,18 +35410,18 @@ dir = 4 }, /area/hallway/primary/port) -"bry" = ( +"bvv" = ( /obj/structure/sign/electricshock, /turf/closed/wall/r_wall, /area/storage/tech) -"brz" = ( +"bvw" = ( /obj/structure/cable/white{ icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/storage/tech) -"brA" = ( +"bvx" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -31973,24 +35434,38 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/storage/tech) -"brB" = ( +"bvy" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/storage/tech) -"brD" = ( +"bvz" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12 + }, +/obj/effect/turf_decal/bot, +/obj/structure/sign/poster/official/cleanliness{ + pixel_x = -32 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"bvA" = ( /turf/open/floor/plasteel/greenblue/side{ dir = 10 }, /area/hydroponics) -"brE" = ( +"bvB" = ( +/turf/open/floor/plasteel/greenblue/side, +/area/hydroponics) +"bvC" = ( /turf/open/floor/plasteel/greenblue/side{ dir = 6 }, /area/hydroponics) -"brF" = ( +"bvD" = ( /obj/structure/sink{ dir = 4; pixel_x = 11 @@ -32005,74 +35480,74 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"brG" = ( +"bvE" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/hydroponics) -"brH" = ( +"bvF" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/corner{ dir = 1 }, /area/hallway/primary/central) -"brI" = ( +"bvG" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"brJ" = ( +"bvH" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"brK" = ( +"bvI" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/central) -"brL" = ( +"bvJ" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/space) -"brM" = ( +"bvK" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/central) -"brN" = ( +"bvL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/corner{ dir = 8 }, /area/hallway/primary/central) -"brO" = ( +"bvM" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"brP" = ( +"bvN" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/hallway/primary/central) -"brQ" = ( +"bvO" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/hallway/primary/central) -"brR" = ( +"bvP" = ( /turf/open/floor/plasteel/vault{ dir = 1 }, /area/security/nuke_storage) -"brS" = ( +"bvQ" = ( /obj/structure/closet/crate{ name = "Silver Crate" }, @@ -32094,7 +35569,7 @@ dir = 8 }, /area/security/nuke_storage) -"brT" = ( +"bvR" = ( /obj/machinery/ai_status_display{ pixel_y = 32 }, @@ -32103,7 +35578,7 @@ dir = 8 }, /area/security/nuke_storage) -"brU" = ( +"bvS" = ( /obj/structure/filingcabinet, /obj/item/folder/documents, /obj/machinery/light/small{ @@ -32113,13 +35588,13 @@ dir = 8 }, /area/security/nuke_storage) -"brV" = ( +"bvT" = ( /obj/machinery/computer/bank_machine, /turf/open/floor/plasteel/vault{ dir = 4 }, /area/security/nuke_storage) -"brW" = ( +"bvU" = ( /obj/machinery/door/airlock/shuttle{ name = "Labor Shuttle Airlock"; req_access_txt = "2" @@ -32129,10 +35604,10 @@ }, /turf/open/floor/plasteel/white, /area/shuttle/labor) -"brX" = ( +"bvV" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/labor) -"brY" = ( +"bvW" = ( /obj/machinery/mineral/stacking_machine/laborstacker{ input_dir = 2; output_dir = 1 @@ -32142,7 +35617,7 @@ }, /turf/open/floor/plasteel/white, /area/shuttle/labor) -"brZ" = ( +"bvX" = ( /obj/structure/closet/emcloset, /obj/structure/cable/white{ icon_state = "4-8" @@ -32152,7 +35627,7 @@ }, /turf/open/floor/plasteel, /area/security/execution/transfer) -"bsa" = ( +"bvY" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -32164,10 +35639,10 @@ dir = 10 }, /area/security/execution/transfer) -"bsb" = ( +"bvZ" = ( /turf/open/floor/plasteel/red/side, /area/security/execution/transfer) -"bsc" = ( +"bwa" = ( /obj/structure/cable/white, /obj/machinery/power/apc{ dir = 2; @@ -32177,13 +35652,13 @@ }, /turf/open/floor/plasteel/red/side, /area/security/execution/transfer) -"bsd" = ( +"bwb" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/red/side, /area/security/execution/transfer) -"bse" = ( +"bwc" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/firealarm{ dir = 1; @@ -32196,13 +35671,20 @@ dir = 6 }, /area/security/execution/transfer) -"bsf" = ( +"bwd" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/neutral, +/area/security/brig) +"bwe" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/red/side{ dir = 10 }, /area/security/main) -"bsg" = ( +"bwf" = ( /obj/machinery/computer/security/telescreen/entertainment{ pixel_y = -32 }, @@ -32210,16 +35692,16 @@ dir = 8 }, /area/security/main) -"bsh" = ( +"bwg" = ( /turf/open/floor/plasteel, /area/security/main) -"bsi" = ( +"bwh" = ( /obj/structure/sign/goldenplaque{ pixel_y = -32 }, /turf/open/floor/plasteel/red/corner, /area/security/main) -"bsj" = ( +"bwi" = ( /obj/machinery/light, /obj/machinery/ai_status_display{ pixel_y = -32 @@ -32231,11 +35713,11 @@ }, /turf/open/floor/plasteel/red/side, /area/security/main) -"bsk" = ( +"bwj" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/red/side, /area/security/main) -"bsl" = ( +"bwk" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -32244,7 +35726,7 @@ dir = 4 }, /area/security/main) -"bsm" = ( +"bwl" = ( /obj/item/storage/pod{ pixel_x = 32 }, @@ -32254,7 +35736,7 @@ dir = 5 }, /area/security/main) -"bsn" = ( +"bwm" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-8" @@ -32269,11 +35751,11 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hos) -"bso" = ( +"bwn" = ( /obj/machinery/ai_status_display, /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/ai) -"bsp" = ( +"bwo" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -32281,7 +35763,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel/black, /area/ai_monitored/turret_protected/ai) -"bsq" = ( +"bwp" = ( /obj/machinery/power/smes{ charge = 5e+006 }, @@ -32302,7 +35784,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel/black, /area/ai_monitored/turret_protected/ai) -"bsr" = ( +"bwq" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -32313,7 +35795,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel/black, /area/ai_monitored/turret_protected/ai) -"bss" = ( +"bwr" = ( /obj/machinery/atmospherics/components/unary/thermomachine/heater{ dir = 1; on = 1 @@ -32322,7 +35804,7 @@ dir = 10 }, /area/engine/atmos) -"bst" = ( +"bws" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 5 @@ -32332,7 +35814,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bsu" = ( +"bwt" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 4; name = "Air to Distro"; @@ -32342,7 +35824,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/caution, /area/engine/atmos) -"bsv" = ( +"bwu" = ( /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -32355,7 +35837,7 @@ }, /turf/open/floor/plasteel/caution, /area/engine/atmos) -"bsw" = ( +"bwv" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/meter{ frequency = 1441; @@ -32365,7 +35847,7 @@ /obj/machinery/atmospherics/pipe/manifold4w/supply/visible, /turf/open/floor/plasteel/caution, /area/engine/atmos) -"bsx" = ( +"bww" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 4; name = "Distro to Waste"; @@ -32374,7 +35856,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/caution, /area/engine/atmos) -"bsy" = ( +"bwx" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_x = 26 @@ -32391,16 +35873,16 @@ dir = 6 }, /area/engine/atmos) -"bsz" = ( +"bwy" = ( /obj/machinery/status_display, /turf/closed/wall/r_wall, /area/engine/atmos) -"bsA" = ( +"bwz" = ( /obj/structure/sign/securearea, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/engine/atmos) -"bsB" = ( +"bwA" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -32418,7 +35900,7 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bsC" = ( +"bwB" = ( /obj/machinery/disposal/bin, /obj/machinery/light{ dir = 8 @@ -32438,7 +35920,7 @@ dir = 8 }, /area/engine/atmos) -"bsD" = ( +"bwC" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, @@ -32447,7 +35929,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bsE" = ( +"bwD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -32460,7 +35942,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bsF" = ( +"bwE" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -32470,7 +35952,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bsG" = ( +"bwF" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -32481,7 +35963,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/atmos) -"bsH" = ( +"bwG" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/plasticflaps{ opacity = 1 @@ -32509,27 +35991,27 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/atmos) -"bsI" = ( +"bwH" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/port) -"bsJ" = ( +"bwI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ name = "Atmospherics Junction"; sortType = 6 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/port) -"bsK" = ( +"bwJ" = ( /obj/structure/rack, /obj/item/circuitboard/computer/robotics{ pixel_x = -3; @@ -32544,7 +36026,7 @@ }, /turf/open/floor/plasteel, /area/storage/tech) -"bsL" = ( +"bwK" = ( /obj/structure/rack, /obj/item/circuitboard/computer/communications{ pixel_x = -3; @@ -32567,7 +36049,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/storage/tech) -"bsM" = ( +"bwL" = ( /obj/structure/rack, /obj/item/circuitboard/aicore{ pixel_x = -3; @@ -32586,7 +36068,7 @@ }, /turf/open/floor/plasteel, /area/storage/tech) -"bsN" = ( +"bwM" = ( /obj/item/shovel/spade, /obj/item/crowbar, /obj/item/cultivator, @@ -32605,12 +36087,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hydroponics) -"bsO" = ( +"bwN" = ( /obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics) -"bsP" = ( +"bwO" = ( /obj/machinery/hydroponics/constructable, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -32619,7 +36101,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics) -"bsQ" = ( +"bwP" = ( /obj/machinery/hydroponics/constructable, /obj/structure/sign/nanotrasen{ pixel_y = -32 @@ -32627,7 +36109,21 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics) -"bsS" = ( +"bwQ" = ( +/obj/structure/table/glass, +/obj/item/reagent_containers/spray/plantbgone, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_x = 16 + }, +/obj/item/watertank, +/obj/item/grenade/chem_grenade/antiweed, +/obj/effect/turf_decal/bot, +/obj/structure/sign/poster/official/ian{ + pixel_y = -32 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"bwR" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -32641,7 +36137,7 @@ }, /turf/open/floor/plating, /area/bridge) -"bsT" = ( +"bwS" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -32655,7 +36151,7 @@ }, /turf/open/floor/plating, /area/bridge) -"bsU" = ( +"bwT" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -32669,10 +36165,10 @@ }, /turf/open/floor/plating, /area/bridge) -"bsV" = ( +"bwU" = ( /turf/closed/wall/r_wall, /area/bridge) -"bsW" = ( +"bwV" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -32683,7 +36179,7 @@ }, /turf/open/floor/plating, /area/bridge) -"bsX" = ( +"bwW" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -32700,7 +36196,7 @@ }, /turf/open/floor/plating, /area/bridge) -"bsY" = ( +"bwX" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -32711,7 +36207,7 @@ }, /turf/open/floor/plating, /area/bridge) -"bsZ" = ( +"bwY" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -32719,7 +36215,7 @@ dir = 8 }, /area/hallway/primary/central) -"bta" = ( +"bwZ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -32728,7 +36224,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"btb" = ( +"bxa" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -32738,7 +36234,7 @@ dir = 4 }, /area/hallway/primary/central) -"btc" = ( +"bxb" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -32752,7 +36248,7 @@ }, /turf/open/floor/plating, /area/hallway/primary/central) -"btd" = ( +"bxc" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -32762,13 +36258,13 @@ }, /turf/open/floor/plating, /area/security/nuke_storage) -"bte" = ( +"bxd" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/security/nuke_storage) -"btf" = ( +"bxe" = ( /obj/machinery/camera/motion{ c_tag = "Vault"; dir = 4; @@ -32781,33 +36277,33 @@ dir = 5 }, /area/security/nuke_storage) -"btg" = ( +"bxf" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/circuit/green, /area/security/nuke_storage) -"bth" = ( +"bxg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, /turf/open/floor/circuit/green, /area/security/nuke_storage) -"bti" = ( +"bxh" = ( /turf/open/floor/circuit/green, /area/security/nuke_storage) -"btj" = ( +"bxi" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/security/nuke_storage) -"btk" = ( +"bxj" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plasteel, /area/shuttle/labor) -"btl" = ( +"bxk" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -32817,7 +36313,7 @@ }, /turf/open/floor/plasteel, /area/shuttle/labor) -"btm" = ( +"bxl" = ( /obj/machinery/mineral/labor_claim_console{ machinedir = 1; pixel_x = 30 @@ -32828,7 +36324,7 @@ }, /turf/open/floor/plasteel, /area/shuttle/labor) -"btn" = ( +"bxm" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -32843,21 +36339,21 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/red, /area/security/execution/transfer) -"bto" = ( +"bxn" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/execution/transfer) -"btp" = ( +"bxo" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/red/side{ dir = 8 }, /area/security/brig) -"btq" = ( +"bxp" = ( /obj/machinery/newscaster/security_unit{ pixel_x = 32 }, @@ -32871,7 +36367,7 @@ dir = 4 }, /area/security/brig) -"btr" = ( +"bxq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ name = "Interrogation"; @@ -32881,14 +36377,14 @@ dir = 5 }, /area/security/main) -"bts" = ( +"bxr" = ( /obj/structure/cable/white{ icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/security/main) -"btt" = ( +"bxs" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -32907,14 +36403,14 @@ dir = 5 }, /area/security/main) -"btu" = ( +"bxt" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/security/main) -"btv" = ( +"bxu" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -32932,13 +36428,13 @@ dir = 5 }, /area/aisat) -"btw" = ( +"bxv" = ( /obj/machinery/porta_turret/ai, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ai_monitored/turret_protected/ai) -"btx" = ( +"bxw" = ( /obj/machinery/light{ dir = 1 }, @@ -32946,13 +36442,13 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"bty" = ( +"bxx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"btz" = ( +"bxy" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -32960,7 +36456,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"btA" = ( +"bxz" = ( /obj/machinery/power/terminal{ dir = 1 }, @@ -32968,13 +36464,13 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"btB" = ( +"bxA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"btC" = ( +"bxB" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -32992,10 +36488,10 @@ dir = 5 }, /area/aisat) -"btD" = ( +"bxC" = ( /turf/closed/wall/r_wall, /area/engine/gravity_generator) -"btE" = ( +"bxD" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/external{ cyclelinkeddir = 2; @@ -33010,48 +36506,60 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"btF" = ( +"bxE" = ( /turf/closed/wall/r_wall, /area/engine/break_room) -"btG" = ( +"bxF" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, /turf/closed/wall/r_wall, /area/engine/break_room) -"btH" = ( +"bxG" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/engine/break_room) -"btI" = ( +"bxH" = ( /obj/machinery/status_display, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/engine/break_room) -"btJ" = ( +"bxI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, /turf/closed/wall/r_wall, /area/engine/break_room) -"btK" = ( +"bxJ" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/engine/break_room) -"btM" = ( +"bxK" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave{ + desc = "It looks really dirty."; + name = "maintenance microwave"; + pixel_y = 5 + }, +/obj/structure/sign/poster/official/help_others{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/redyellow, +/area/engine/break_room) +"bxL" = ( /obj/machinery/light/small{ dir = 1 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/break_room) -"btN" = ( +"bxM" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/pen, @@ -33060,7 +36568,7 @@ }, /turf/open/floor/plasteel/redyellow, /area/engine/break_room) -"btO" = ( +"bxN" = ( /obj/structure/closet/firecloset, /obj/machinery/light/small{ dir = 8 @@ -33076,20 +36584,20 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/break_room) -"btP" = ( +"bxO" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/break_room) -"btQ" = ( +"bxP" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/break_room) -"btR" = ( +"bxQ" = ( /obj/structure/table/reinforced, /obj/item/crowbar/red, /obj/item/wrench, @@ -33104,21 +36612,25 @@ dir = 8 }, /area/engine/atmos) -"btS" = ( +"bxR" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/engine/atmos) +"bxS" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"btT" = ( +"bxT" = ( /obj/effect/decal/cleanable/dirt, /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/caution{ dir = 4 }, /area/engine/atmos) -"btU" = ( +"bxU" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -33130,7 +36642,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/engine/atmos) -"btV" = ( +"bxV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, @@ -33138,7 +36650,7 @@ dir = 1 }, /area/hallway/primary/port) -"btW" = ( +"bxW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, @@ -33148,7 +36660,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/primary/port) -"btX" = ( +"bxX" = ( /obj/structure/table, /obj/machinery/light{ dir = 4 @@ -33163,17 +36675,17 @@ dir = 4 }, /area/hallway/primary/port) -"btY" = ( +"bxY" = ( /turf/closed/wall/r_wall, /area/storage/tech) -"btZ" = ( +"bxZ" = ( /obj/machinery/light/small{ dir = 8 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/tech) -"bua" = ( +"bya" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -33181,7 +36693,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/storage/tech) -"bub" = ( +"byb" = ( /obj/machinery/light/small{ dir = 4 }, @@ -33193,7 +36705,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/tech) -"buc" = ( +"byc" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -33201,7 +36713,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"bud" = ( +"byd" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/extinguisher_cabinet{ pixel_x = -26 @@ -33210,7 +36722,15 @@ dir = 1 }, /area/hallway/primary/central) -"bue" = ( +"bye" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/hallway/primary/central) +"byf" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -33219,19 +36739,19 @@ }, /turf/open/floor/plating, /area/bridge) -"buf" = ( +"byg" = ( /obj/machinery/computer/card, /turf/open/floor/plasteel/darkblue/corner{ dir = 1 }, /area/bridge) -"bug" = ( +"byh" = ( /obj/machinery/computer/crew, /turf/open/floor/plasteel/darkblue/side{ dir = 1 }, /area/bridge) -"buh" = ( +"byi" = ( /obj/machinery/computer/med_data, /obj/structure/cable/white{ icon_state = "1-2" @@ -33240,7 +36760,7 @@ dir = 1 }, /area/bridge) -"bui" = ( +"byj" = ( /obj/structure/table/reinforced, /obj/machinery/ai_status_display{ pixel_y = 32 @@ -33249,13 +36769,13 @@ /obj/item/device/assembly/flash/handheld, /turf/open/floor/plasteel/black, /area/bridge) -"buj" = ( +"byk" = ( /obj/machinery/computer/prisoner, /turf/open/floor/plasteel/darkred/side{ dir = 1 }, /area/bridge) -"buk" = ( +"byl" = ( /obj/machinery/computer/security, /obj/structure/cable/white{ icon_state = "1-2" @@ -33264,13 +36784,13 @@ dir = 1 }, /area/bridge) -"bul" = ( +"bym" = ( /obj/machinery/computer/secure_data, /turf/open/floor/plasteel/darkred/side{ dir = 1 }, /area/bridge) -"bum" = ( +"byn" = ( /obj/structure/table/reinforced, /obj/machinery/status_display{ pixel_y = 32 @@ -33278,7 +36798,7 @@ /obj/item/storage/toolbox/mechanical, /turf/open/floor/plasteel/black, /area/bridge) -"bun" = ( +"byo" = ( /obj/machinery/computer/station_alert, /obj/structure/cable/white{ icon_state = "1-2" @@ -33287,19 +36807,19 @@ dir = 1 }, /area/bridge) -"buo" = ( +"byp" = ( /obj/machinery/computer/atmos_alert, /turf/open/floor/plasteel/darkyellow/side{ dir = 1 }, /area/bridge) -"bup" = ( +"byq" = ( /obj/machinery/computer/monitor, /turf/open/floor/plasteel/darkyellow/corner{ dir = 4 }, /area/bridge) -"buq" = ( +"byr" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -33308,7 +36828,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bur" = ( +"bys" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -33320,7 +36840,7 @@ dir = 4 }, /area/hallway/primary/central) -"bus" = ( +"byt" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -33343,7 +36863,7 @@ dir = 8 }, /area/hallway/primary/central) -"but" = ( +"byu" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -33354,7 +36874,7 @@ dir = 5 }, /area/security/nuke_storage) -"buu" = ( +"byv" = ( /obj/machinery/door/airlock/vault{ cyclelinkeddir = 8; locked = 1; @@ -33377,7 +36897,7 @@ dir = 8 }, /area/security/nuke_storage) -"buv" = ( +"byw" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -33386,7 +36906,7 @@ }, /turf/open/floor/circuit/green, /area/security/nuke_storage) -"buw" = ( +"byx" = ( /obj/machinery/nuclearbomb/selfdestruct{ layer = 2 }, @@ -33400,13 +36920,13 @@ dir = 8 }, /area/security/nuke_storage) -"bux" = ( +"byy" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/circuit/green, /area/security/nuke_storage) -"buy" = ( +"byz" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -33420,7 +36940,7 @@ dir = 5 }, /area/security/nuke_storage) -"buz" = ( +"byA" = ( /obj/structure/chair{ dir = 4 }, @@ -33429,11 +36949,11 @@ }, /turf/open/floor/plasteel, /area/shuttle/labor) -"buA" = ( +"byB" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/shuttle/labor) -"buB" = ( +"byC" = ( /obj/structure/chair{ dir = 8 }, @@ -33446,7 +36966,7 @@ }, /turf/open/floor/plasteel, /area/shuttle/labor) -"buC" = ( +"byD" = ( /obj/machinery/gulag_item_reclaimer{ pixel_y = 28 }, @@ -33459,7 +36979,7 @@ }, /turf/open/floor/plasteel, /area/security/execution/transfer) -"buD" = ( +"byE" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -33471,7 +36991,7 @@ dir = 9 }, /area/security/execution/transfer) -"buE" = ( +"byF" = ( /obj/structure/table/reinforced, /obj/item/storage/briefcase{ pixel_x = 3; @@ -33482,7 +37002,7 @@ dir = 1 }, /area/security/execution/transfer) -"buF" = ( +"byG" = ( /obj/structure/table/reinforced, /obj/machinery/light{ dir = 1 @@ -33493,7 +37013,7 @@ dir = 1 }, /area/security/execution/transfer) -"buG" = ( +"byH" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/pen, @@ -33501,7 +37021,7 @@ dir = 1 }, /area/security/execution/transfer) -"buH" = ( +"byI" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/firealarm{ dir = 4; @@ -33511,7 +37031,7 @@ dir = 5 }, /area/security/execution/transfer) -"buI" = ( +"byJ" = ( /obj/machinery/firealarm{ dir = 8; pixel_x = -24 @@ -33521,7 +37041,7 @@ dir = 8 }, /area/security/brig) -"buJ" = ( +"byK" = ( /obj/machinery/light{ dir = 4 }, @@ -33530,28 +37050,28 @@ dir = 4 }, /area/security/brig) -"buK" = ( +"byL" = ( /turf/closed/wall, /area/security/main) -"buM" = ( +"byM" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/security/main) -"buN" = ( +"byN" = ( /obj/machinery/holopad, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/security/main) -"buO" = ( +"byO" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/security/main) -"buP" = ( +"byP" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -33560,7 +37080,7 @@ dir = 5 }, /area/security/main) -"buQ" = ( +"byQ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -33571,7 +37091,7 @@ dir = 5 }, /area/security/main) -"buR" = ( +"byR" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -33583,7 +37103,7 @@ dir = 5 }, /area/aisat) -"buS" = ( +"byS" = ( /obj/structure/table/reinforced, /obj/item/folder/blue, /obj/item/bodypart/l_leg/robot, @@ -33592,7 +37112,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/ai) -"buT" = ( +"byT" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -33600,7 +37120,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"buU" = ( +"byU" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -33609,14 +37129,14 @@ }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"buV" = ( +"byV" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"buW" = ( +"byW" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -33628,7 +37148,7 @@ }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"buX" = ( +"byX" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -33646,7 +37166,7 @@ }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"buY" = ( +"byY" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -33658,7 +37178,7 @@ }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"buZ" = ( +"byZ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -33668,7 +37188,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"bva" = ( +"bza" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -33677,42 +37197,42 @@ }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"bvb" = ( +"bzb" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"bvc" = ( +"bzc" = ( /obj/structure/table/reinforced, /obj/item/device/flashlight/lamp, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ai_monitored/turret_protected/ai) -"bvd" = ( +"bzd" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb, /obj/structure/closet/emcloset/anchored, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bve" = ( +"bze" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bvf" = ( +"bzf" = ( /obj/machinery/light/small{ dir = 4 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bvg" = ( +"bzg" = ( /turf/closed/wall, /area/engine/break_room) -"bvh" = ( +"bzh" = ( /obj/structure/table/reinforced, /obj/machinery/light/small{ dir = 1 @@ -33731,7 +37251,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/break_room) -"bvi" = ( +"bzi" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/electrical, /obj/item/wrench/power, @@ -33741,18 +37261,16 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/break_room) -"bvj" = ( +"bzj" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/engine/break_room) -"bvk" = ( +"bzk" = ( /obj/structure/table/reinforced, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /obj/item/stack/sheet/rglass{ amount = 30; pixel_x = 2; @@ -33762,14 +37280,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/break_room) -"bvl" = ( +"bzl" = ( /obj/structure/table/reinforced, /obj/machinery/light/small{ dir = 1 }, -/obj/item/stack/sheet/plasteel{ - amount = 50 - }, +/obj/item/stack/sheet/plasteel/fifty, /obj/item/crowbar/power, /obj/structure/sign/nanotrasen{ pixel_x = 32 @@ -33778,7 +37294,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/break_room) -"bvm" = ( +"bzm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/bonfire, /obj/item/reagent_containers/food/drinks/bottle/orangejuice{ @@ -33795,7 +37311,7 @@ dir = 8 }, /area/engine/break_room) -"bvn" = ( +"bzn" = ( /obj/structure/table/reinforced, /obj/item/storage/box/donkpockets, /obj/machinery/newscaster{ @@ -33803,23 +37319,23 @@ }, /turf/open/floor/plasteel/redyellow, /area/engine/break_room) -"bvo" = ( +"bzo" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/break_room) -"bvp" = ( +"bzp" = ( /obj/machinery/vending/cola/random, /obj/machinery/newscaster{ pixel_x = 32 }, /turf/open/floor/plasteel/redyellow, /area/engine/break_room) -"bvq" = ( +"bzq" = ( /obj/structure/sign/nosmoking_2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/engine/break_room) -"bvr" = ( +"bzr" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -33837,30 +37353,35 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bvs" = ( +"bzs" = ( /obj/structure/sign/securearea, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, /area/engine/break_room) -"bvt" = ( +"bzt" = ( /obj/machinery/status_display{ pixel_x = -32 }, /obj/structure/cable/white{ icon_state = "0-4" }, -/obj/machinery/modular_computer/console/preset/engineering, +/obj/machinery/modular_computer/console/preset/engineering{ + dir = 4 + }, /turf/open/floor/plasteel/caution{ dir = 8 }, /area/engine/atmos) -"bvu" = ( +"bzu" = ( /obj/structure/chair/office/dark{ dir = 8 }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bvv" = ( +"bzv" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -33872,14 +37393,14 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"bvw" = ( +"bzw" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bvx" = ( +"bzx" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -33890,7 +37411,7 @@ dir = 4 }, /area/engine/atmos) -"bvy" = ( +"bzy" = ( /obj/structure/table/reinforced, /obj/structure/cable/white{ icon_state = "1-8" @@ -33914,13 +37435,13 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/atmos) -"bvz" = ( +"bzz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/yellow/corner{ dir = 1 }, /area/hallway/primary/port) -"bvA" = ( +"bzA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, @@ -33930,7 +37451,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/primary/port) -"bvB" = ( +"bzB" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 }, @@ -33944,7 +37465,7 @@ dir = 4 }, /area/hallway/primary/port) -"bvC" = ( +"bzC" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "2-4" @@ -33968,11 +37489,11 @@ }, /turf/open/floor/plasteel, /area/storage/tech) -"bvD" = ( +"bzD" = ( /obj/structure/extinguisher_cabinet, /turf/closed/wall/r_wall, /area/storage/tech) -"bvE" = ( +"bzE" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -33983,9 +37504,12 @@ dir = 8 }, /obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"bvF" = ( +"bzF" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -33998,7 +37522,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"bvG" = ( +"bzG" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -34011,7 +37535,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/fore) -"bvH" = ( +"bzH" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -34023,12 +37547,11 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating, /area/maintenance/port/fore) -"bvI" = ( +"bzI" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -34047,7 +37570,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"bvJ" = ( +"bzJ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -34059,7 +37582,7 @@ dir = 1 }, /area/hallway/primary/central) -"bvK" = ( +"bzK" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -34072,7 +37595,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bvL" = ( +"bzL" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -34091,7 +37614,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"bvM" = ( +"bzM" = ( /obj/structure/table/reinforced, /obj/machinery/light{ dir = 8 @@ -34101,7 +37624,7 @@ dir = 1 }, /area/bridge) -"bvN" = ( +"bzN" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -34109,7 +37632,7 @@ dir = 5 }, /area/bridge) -"bvO" = ( +"bzO" = ( /obj/structure/chair/office/dark{ dir = 1 }, @@ -34120,12 +37643,12 @@ dir = 5 }, /area/bridge) -"bvP" = ( +"bzP" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/bridge) -"bvQ" = ( +"bzQ" = ( /obj/structure/chair/office/dark{ dir = 1 }, @@ -34133,7 +37656,7 @@ dir = 5 }, /area/bridge) -"bvR" = ( +"bzR" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -34141,7 +37664,7 @@ dir = 5 }, /area/bridge) -"bvS" = ( +"bzS" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -34149,7 +37672,7 @@ dir = 5 }, /area/bridge) -"bvT" = ( +"bzT" = ( /obj/structure/table/reinforced, /obj/machinery/light{ dir = 4 @@ -34161,7 +37684,7 @@ dir = 4 }, /area/bridge) -"bvU" = ( +"bzU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/light{ dir = 8 @@ -34170,14 +37693,14 @@ dir = 8 }, /area/hallway/primary/central) -"bvV" = ( +"bzV" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/primary/central) -"bvW" = ( +"bzW" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-2" @@ -34188,18 +37711,18 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/hallway/primary/central) -"bvX" = ( +"bzX" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/nuke_storage) -"bvY" = ( +"bzY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/circuit/green, /area/security/nuke_storage) -"bvZ" = ( +"bzZ" = ( /obj/item/clothing/suit/hazardvest{ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; name = "emergency lifejacket" @@ -34280,20 +37803,20 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/shuttle/labor) -"bwa" = ( +"bAa" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/end{ dir = 8 }, /turf/open/floor/plasteel, /area/shuttle/labor) -"bwb" = ( +"bAb" = ( /obj/effect/turf_decal/stripes/line{ dir = 2 }, /turf/open/floor/plasteel, /area/shuttle/labor) -"bwc" = ( +"bAc" = ( /obj/machinery/door/airlock/shuttle{ id_tag = "prisonshuttle"; name = "Labor Shuttle Airlock" @@ -34323,7 +37846,7 @@ }, /turf/open/floor/plasteel/white, /area/shuttle/labor) -"bwd" = ( +"bAd" = ( /obj/machinery/door/airlock/external{ cyclelinkeddir = 4; name = "Gulag Shuttle Airlock"; @@ -34337,12 +37860,12 @@ }, /turf/open/floor/plasteel, /area/security/execution/transfer) -"bwe" = ( +"bAe" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/security/execution/transfer) -"bwf" = ( +"bAf" = ( /obj/machinery/door/airlock/external{ cyclelinkeddir = 8; name = "Gulag Shuttle Airlock"; @@ -34356,7 +37879,7 @@ }, /turf/open/floor/plasteel, /area/security/execution/transfer) -"bwg" = ( +"bAg" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -34368,13 +37891,13 @@ dir = 8 }, /area/security/execution/transfer) -"bwh" = ( +"bAh" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/security/execution/transfer) -"bwi" = ( +"bAi" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -34382,7 +37905,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/security/execution/transfer) -"bwj" = ( +"bAj" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -34390,7 +37913,7 @@ dir = 4 }, /area/security/execution/transfer) -"bwk" = ( +"bAk" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ name = "Security Transferring Center"; @@ -34401,13 +37924,13 @@ }, /turf/open/floor/plasteel/red, /area/security/execution/transfer) -"bwl" = ( +"bAl" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /turf/open/floor/plasteel/red/side{ dir = 8 }, /area/security/brig) -"bwm" = ( +"bAm" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -34417,7 +37940,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/security/brig) -"bwn" = ( +"bAn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -34426,7 +37949,7 @@ dir = 4 }, /area/security/brig) -"bwo" = ( +"bAo" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ name = "Interrogation"; @@ -34439,7 +37962,7 @@ dir = 5 }, /area/security/main) -"bwp" = ( +"bAp" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -34450,7 +37973,7 @@ dir = 5 }, /area/security/main) -"bwq" = ( +"bAq" = ( /obj/structure/table/reinforced, /obj/item/folder/red, /obj/item/pen, @@ -34458,7 +37981,7 @@ dir = 8 }, /area/security/main) -"bwr" = ( +"bAr" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -34467,7 +37990,7 @@ dir = 5 }, /area/security/main) -"bws" = ( +"bAs" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-2" @@ -34478,7 +38001,7 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/security/main) -"bwt" = ( +"bAt" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -34489,7 +38012,7 @@ dir = 5 }, /area/security/main) -"bwu" = ( +"bAu" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -34506,7 +38029,7 @@ dir = 5 }, /area/security/main) -"bwv" = ( +"bAv" = ( /obj/structure/table/wood, /obj/machinery/light/small{ dir = 4 @@ -34522,7 +38045,7 @@ dir = 5 }, /area/security/main) -"bww" = ( +"bAw" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -34534,11 +38057,11 @@ dir = 5 }, /area/aisat) -"bwx" = ( +"bAx" = ( /obj/machinery/status_display, /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/ai) -"bwy" = ( +"bAy" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/pen, @@ -34546,7 +38069,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/ai) -"bwz" = ( +"bAz" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 @@ -34555,7 +38078,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"bwA" = ( +"bAA" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -34565,7 +38088,7 @@ }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"bwB" = ( +"bAB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -34573,7 +38096,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"bwC" = ( +"bAC" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -34584,7 +38107,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"bwD" = ( +"bAD" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -34592,7 +38115,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"bwE" = ( +"bAE" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -34601,7 +38124,7 @@ }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"bwF" = ( +"bAF" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -34612,7 +38135,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"bwG" = ( +"bAG" = ( /obj/structure/table/reinforced, /obj/item/folder/blue, /obj/item/pen, @@ -34620,12 +38143,12 @@ dir = 8 }, /area/ai_monitored/turret_protected/ai) -"bwH" = ( +"bAH" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/engine/gravity_generator) -"bwI" = ( +"bAI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, @@ -34633,7 +38156,7 @@ dir = 5 }, /area/engine/gravity_generator) -"bwJ" = ( +"bAJ" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -34646,7 +38169,7 @@ }, /turf/open/floor/plating, /area/engine/gravity_generator) -"bwK" = ( +"bAK" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light{ dir = 1 @@ -34662,7 +38185,7 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bwL" = ( +"bAL" = ( /obj/machinery/power/apc/highcap/five_k{ dir = 1; name = "Gravity Generator APC"; @@ -34680,7 +38203,7 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bwM" = ( +"bAM" = ( /obj/machinery/power/terminal{ dir = 4 }, @@ -34699,7 +38222,7 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bwN" = ( +"bAN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/machinery/power/smes{ @@ -34717,10 +38240,10 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bwO" = ( +"bAO" = ( /turf/closed/wall, /area/engine/gravity_generator) -"bwP" = ( +"bAP" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/external{ cyclelinkeddir = 1; @@ -34736,18 +38259,18 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bwQ" = ( +"bAQ" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -26 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/break_room) -"bwR" = ( +"bAR" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/break_room) -"bwS" = ( +"bAS" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -34755,7 +38278,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/engine/break_room) -"bwT" = ( +"bAT" = ( /obj/machinery/newscaster{ pixel_x = 32 }, @@ -34763,20 +38286,20 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/break_room) -"bwU" = ( +"bAU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/engine/break_room) -"bwV" = ( +"bAV" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, /turf/open/floor/plasteel/redyellow, /area/engine/break_room) -"bwW" = ( +"bAW" = ( /obj/machinery/vending/snack/random, /turf/open/floor/plasteel/redyellow, /area/engine/break_room) -"bwX" = ( +"bAX" = ( /obj/machinery/door/poddoor/preopen{ id = "atmoslock"; name = "Atmospherics Lockdown Blast door" @@ -34790,7 +38313,7 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bwY" = ( +"bAY" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -34806,7 +38329,7 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bwZ" = ( +"bAZ" = ( /obj/machinery/door/poddoor/preopen{ id = "atmoslock"; name = "Atmospherics Lockdown Blast door" @@ -34826,8 +38349,10 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bxa" = ( -/obj/machinery/computer/atmos_control, +"bBa" = ( +/obj/machinery/computer/atmos_control{ + dir = 4 + }, /obj/effect/decal/cleanable/dirt, /obj/machinery/button/door{ id = "atmoslock"; @@ -34847,19 +38372,25 @@ dir = 8 }, /area/engine/atmos) -"bxb" = ( +"bBb" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/neutral, +/area/engine/atmos) +"bBc" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/office/dark, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bxc" = ( +"bBd" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/engine/atmos) -"bxd" = ( +"bBe" = ( /obj/structure/table/reinforced, /obj/item/tank/internals/emergency_oxygen{ pixel_x = 6 @@ -34873,7 +38404,7 @@ dir = 4 }, /area/engine/atmos) -"bxe" = ( +"bBf" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -34885,7 +38416,7 @@ }, /turf/open/floor/plating, /area/engine/atmos) -"bxf" = ( +"bBg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -34894,7 +38425,7 @@ dir = 1 }, /area/hallway/primary/port) -"bxg" = ( +"bBh" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/structure/cable/white{ icon_state = "1-2" @@ -34902,7 +38433,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/primary/port) -"bxh" = ( +"bBi" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 }, @@ -34911,7 +38442,7 @@ dir = 4 }, /area/hallway/primary/port) -"bxi" = ( +"bBj" = ( /obj/structure/table/reinforced, /obj/item/device/plant_analyzer, /obj/item/device/plant_analyzer, @@ -34920,7 +38451,7 @@ dir = 5 }, /area/storage/tech) -"bxj" = ( +"bBk" = ( /obj/structure/table/reinforced, /obj/item/device/analyzer{ pixel_x = 7; @@ -34935,12 +38466,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/tech) -"bxk" = ( +"bBl" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/storage/tech) -"bxl" = ( +"bBm" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -34948,7 +38479,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/storage/tech) -"bxn" = ( +"bBn" = ( /obj/structure/table/reinforced, /obj/item/aiModule/reset, /obj/item/device/assembly/flash/handheld, @@ -34956,7 +38487,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/tech) -"bxo" = ( +"bBo" = ( /obj/structure/table/reinforced, /obj/item/bodypart/chest/robot, /obj/item/device/mmi, @@ -34965,7 +38496,7 @@ dir = 5 }, /area/storage/tech) -"bxp" = ( +"bBp" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -34976,19 +38507,19 @@ dir = 1 }, /area/maintenance/port/fore) -"bxq" = ( +"bBq" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/closed/wall, /area/storage/primary) -"bxr" = ( +"bBr" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/storage/primary) -"bxs" = ( +"bBs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -35004,7 +38535,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"bxt" = ( +"bBt" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/plasticflaps{ opacity = 1 @@ -35025,7 +38556,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/storage/primary) -"bxu" = ( +"bBu" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -35033,19 +38564,19 @@ dir = 1 }, /area/hallway/primary/central) -"bxv" = ( +"bBv" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/blue/corner, /area/hallway/primary/central) -"bxw" = ( +"bBw" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/bridge) -"bxx" = ( +"bBx" = ( /obj/machinery/light/small{ dir = 1 }, @@ -35066,7 +38597,7 @@ dir = 1 }, /area/bridge) -"bxy" = ( +"bBy" = ( /obj/machinery/door/poddoor/preopen{ id = "bridgedoors"; name = "Bridge Access Blast door" @@ -35075,34 +38606,34 @@ dir = 8 }, /area/bridge) -"bxz" = ( +"bBz" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/darkblue/side{ dir = 1 }, /area/bridge) -"bxA" = ( +"bBA" = ( /obj/machinery/vending/cola/random, /turf/open/floor/plasteel/darkblue/side{ dir = 1 }, /area/bridge) -"bxB" = ( +"bBB" = ( /obj/machinery/vending/snack/random, /turf/open/floor/plasteel/darkblue/side{ dir = 1 }, /area/bridge) -"bxC" = ( +"bBC" = ( /turf/closed/wall, /area/bridge) -"bxD" = ( +"bBD" = ( /obj/machinery/computer/security/mining, /turf/open/floor/plasteel/darkpurple/side{ dir = 1 }, /area/bridge) -"bxE" = ( +"bBE" = ( /obj/machinery/computer/cargo/request, /obj/structure/cable/white{ icon_state = "1-2" @@ -35111,13 +38642,13 @@ dir = 1 }, /area/bridge) -"bxF" = ( +"bBF" = ( /obj/structure/table/reinforced, /obj/item/clipboard, /obj/item/mining_voucher, /turf/open/floor/plasteel/black, /area/bridge) -"bxG" = ( +"bBG" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_x = -26; @@ -35127,7 +38658,7 @@ dir = 5 }, /area/bridge) -"bxH" = ( +"bBH" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -35136,7 +38667,7 @@ dir = 5 }, /area/bridge) -"bxI" = ( +"bBI" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -35145,7 +38676,13 @@ dir = 5 }, /area/bridge) -"bxJ" = ( +"bBJ" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/bridge) +"bBK" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -35154,7 +38691,7 @@ dir = 5 }, /area/bridge) -"bxK" = ( +"bBL" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_x = 26; @@ -35164,7 +38701,7 @@ dir = 5 }, /area/bridge) -"bxL" = ( +"bBM" = ( /obj/structure/table/reinforced, /obj/machinery/computer/security/telescreen{ desc = "Used for watching the RD's goons and the AI's satellite from the safety of his office."; @@ -35174,7 +38711,7 @@ }, /turf/open/floor/plasteel/black, /area/bridge) -"bxM" = ( +"bBN" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -35183,41 +38720,41 @@ dir = 1 }, /area/bridge) -"bxN" = ( +"bBO" = ( /obj/machinery/modular_computer/console/preset/engineering, /turf/open/floor/plasteel/darkpurple/side{ dir = 1 }, /area/bridge) -"bxO" = ( +"bBP" = ( /obj/machinery/vending/coffee, /turf/open/floor/plasteel/darkblue/side{ dir = 1 }, /area/bridge) -"bxP" = ( +"bBQ" = ( /obj/machinery/vending/cigarette, /turf/open/floor/plasteel/darkblue/side{ dir = 1 }, /area/bridge) -"bxQ" = ( +"bBR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/blue/corner{ dir = 8 }, /area/hallway/primary/central) -"bxR" = ( +"bBS" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/hallway/primary/central) -"bxS" = ( +"bBT" = ( /turf/open/floor/plasteel/vault{ dir = 4 }, /area/security/nuke_storage) -"bxT" = ( +"bBU" = ( /obj/structure/closet/crate{ name = "Gold Crate" }, @@ -35233,7 +38770,7 @@ dir = 8 }, /area/security/nuke_storage) -"bxU" = ( +"bBV" = ( /obj/machinery/status_display{ pixel_y = -32 }, @@ -35244,7 +38781,7 @@ dir = 8 }, /area/security/nuke_storage) -"bxV" = ( +"bBW" = ( /obj/structure/safe, /obj/item/clothing/neck/stethoscope, /obj/item/book{ @@ -35269,7 +38806,7 @@ dir = 8 }, /area/security/nuke_storage) -"bxW" = ( +"bBX" = ( /obj/structure/shuttle/engine/heater, /obj/structure/window/reinforced{ dir = 1; @@ -35278,7 +38815,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/shuttle/labor) -"bxX" = ( +"bBY" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -35290,16 +38827,20 @@ dir = 8 }, /area/security/execution/transfer) -"bxY" = ( +"bBZ" = ( +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral, /area/security/execution/transfer) -"bxZ" = ( +"bCa" = ( +/turf/open/floor/plasteel/neutral, +/area/security/execution/transfer) +"bCb" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/security/execution/transfer) -"bya" = ( +"bCc" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_x = 26 @@ -35311,13 +38852,13 @@ dir = 4 }, /area/security/execution/transfer) -"byb" = ( +"bCd" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/security/execution/transfer) -"byc" = ( +"bCe" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -35327,7 +38868,7 @@ dir = 8 }, /area/security/brig) -"byd" = ( +"bCf" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -35337,7 +38878,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, /area/security/brig) -"bye" = ( +"bCg" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_y = -26 @@ -35350,13 +38891,13 @@ dir = 4 }, /area/security/brig) -"byf" = ( +"bCh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/security/main) -"byg" = ( +"bCi" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -35364,7 +38905,7 @@ dir = 5 }, /area/security/main) -"byh" = ( +"bCj" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -35375,7 +38916,7 @@ dir = 5 }, /area/security/main) -"byi" = ( +"bCk" = ( /obj/structure/table/reinforced, /obj/item/device/flashlight/lamp, /obj/item/device/radio/intercom{ @@ -35399,7 +38940,19 @@ dir = 8 }, /area/security/main) -"byk" = ( +"bCl" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/structure/sign/poster/official/do_not_question{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/security/main) +"bCm" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced/tinted, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -35407,7 +38960,7 @@ }, /turf/open/floor/plating, /area/security/main) -"byl" = ( +"bCn" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -35418,7 +38971,7 @@ dir = 5 }, /area/security/main) -"bym" = ( +"bCo" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 @@ -35427,7 +38980,7 @@ dir = 5 }, /area/security/main) -"byn" = ( +"bCp" = ( /obj/structure/table/wood, /obj/item/folder/red, /obj/item/pen, @@ -35435,24 +38988,24 @@ dir = 5 }, /area/security/main) -"byo" = ( +"bCq" = ( /turf/open/floor/plasteel/vault{ dir = 4 }, /area/ai_monitored/turret_protected/ai) -"byp" = ( +"bCr" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"byq" = ( +"bCs" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"byr" = ( +"bCt" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ id = "aicorewindow"; @@ -35460,33 +39013,33 @@ }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/ai) -"bys" = ( +"bCu" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"byt" = ( +"bCv" = ( /turf/open/floor/plasteel/vault{ dir = 1 }, /area/ai_monitored/turret_protected/ai) -"byu" = ( +"bCw" = ( /turf/open/floor/plasteel/vault{ dir = 1 }, /area/engine/gravity_generator) -"byv" = ( +"bCx" = ( /turf/open/floor/plasteel/vault{ dir = 8 }, /area/engine/gravity_generator) -"byw" = ( +"bCy" = ( /turf/open/floor/plasteel/vault{ dir = 4 }, /area/engine/gravity_generator) -"byx" = ( +"bCz" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, @@ -35494,7 +39047,7 @@ dir = 5 }, /area/engine/gravity_generator) -"byy" = ( +"bCA" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-2" @@ -35502,13 +39055,13 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/engine/gravity_generator) -"byz" = ( +"bCB" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"byA" = ( +"bCC" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, @@ -35517,7 +39070,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/gravity_generator) -"byB" = ( +"bCD" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/structure/cable{ @@ -35531,7 +39084,7 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"byC" = ( +"bCE" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -35542,14 +39095,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"byD" = ( +"bCF" = ( /obj/structure/sign/radiation, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/engine/gravity_generator) -"byE" = ( +"bCG" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm{ pixel_y = 23 @@ -35567,14 +39120,14 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"byF" = ( +"bCH" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"byG" = ( +"bCI" = ( /obj/structure/closet/radiation, /obj/machinery/light/small{ dir = 1 @@ -35590,13 +39143,13 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"byH" = ( +"bCJ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/closed/wall, /area/engine/break_room) -"byI" = ( +"bCK" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -35606,7 +39159,7 @@ }, /turf/open/floor/plating, /area/engine/break_room) -"byJ" = ( +"bCL" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_command{ cyclelinkeddir = 0; @@ -35630,7 +39183,7 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"byK" = ( +"bCM" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -35644,7 +39197,7 @@ }, /turf/open/floor/plating, /area/engine/break_room) -"byL" = ( +"bCN" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_command{ cyclelinkeddir = 0; @@ -35668,7 +39221,7 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"byM" = ( +"bCO" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -35676,7 +39229,7 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plating, /area/engine/break_room) -"byN" = ( +"bCP" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -35689,7 +39242,7 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"byO" = ( +"bCQ" = ( /obj/machinery/firealarm{ pixel_y = 24 }, @@ -35699,7 +39252,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/break_room) -"byP" = ( +"bCR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -35708,7 +39261,7 @@ dir = 9 }, /area/engine/break_room) -"byQ" = ( +"bCS" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, @@ -35716,7 +39269,7 @@ dir = 1 }, /area/engine/break_room) -"byR" = ( +"bCT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -35724,7 +39277,7 @@ dir = 1 }, /area/engine/break_room) -"byS" = ( +"bCU" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light{ dir = 1 @@ -35745,7 +39298,7 @@ dir = 1 }, /area/engine/break_room) -"byT" = ( +"bCV" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -35757,7 +39310,7 @@ dir = 1 }, /area/engine/break_room) -"byU" = ( +"bCW" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -35771,7 +39324,7 @@ dir = 1 }, /area/engine/break_room) -"byV" = ( +"bCX" = ( /obj/machinery/airalarm{ dir = 8; pixel_x = 24 @@ -35783,15 +39336,17 @@ dir = 5 }, /area/engine/break_room) -"byW" = ( +"bCY" = ( /obj/structure/table/reinforced, /obj/item/device/flashlight/lamp, /turf/open/floor/plasteel/caution{ dir = 10 }, /area/engine/atmos) -"byX" = ( -/obj/machinery/computer/station_alert, +"bCZ" = ( +/obj/machinery/computer/station_alert{ + dir = 1 + }, /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm{ dir = 1; @@ -35799,15 +39354,17 @@ }, /turf/open/floor/plasteel/caution, /area/engine/atmos) -"byY" = ( -/obj/machinery/computer/atmos_alert, +"bDa" = ( +/obj/machinery/computer/atmos_alert{ + dir = 1 + }, /obj/machinery/light, /obj/machinery/newscaster{ pixel_y = -32 }, /turf/open/floor/plasteel/caution, /area/engine/atmos) -"byZ" = ( +"bDb" = ( /obj/structure/table/reinforced, /obj/item/folder/yellow, /obj/item/pen, @@ -35817,7 +39374,7 @@ }, /turf/open/floor/plasteel/caution, /area/engine/atmos) -"bza" = ( +"bDc" = ( /obj/structure/table/reinforced, /obj/effect/decal/cleanable/dirt, /obj/item/paper_bin, @@ -35839,14 +39396,14 @@ dir = 6 }, /area/engine/atmos) -"bzb" = ( +"bDd" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/primary/port) -"bzc" = ( +"bDe" = ( /obj/structure/table/reinforced, /obj/item/device/healthanalyzer, /obj/item/stack/cable_coil/white{ @@ -35862,27 +39419,31 @@ dir = 5 }, /area/storage/tech) -"bzd" = ( +"bDf" = ( /turf/open/floor/plasteel/neutral/side{ dir = 4 }, /area/storage/tech) -"bze" = ( +"bDg" = ( /turf/open/floor/plasteel/neutral, /area/storage/tech) -"bzf" = ( +"bDh" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/storage/tech) -"bzg" = ( +"bDi" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/storage/tech) +"bDj" = ( /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/storage/tech) -"bzh" = ( +"bDk" = ( /obj/structure/table/reinforced, /obj/item/device/aicard, /obj/machinery/light{ @@ -35892,11 +39453,11 @@ dir = 5 }, /area/storage/tech) -"bzi" = ( +"bDl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/storage/primary) -"bzj" = ( +"bDm" = ( /obj/structure/table/reinforced, /obj/item/device/analyzer{ pixel_x = 7; @@ -35914,7 +39475,15 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) -"bzl" = ( +"bDn" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/delivery, +/obj/structure/sign/poster/official/report_crimes{ + pixel_y = 32 + }, +/turf/open/floor/plasteel, +/area/storage/primary) +"bDo" = ( /obj/machinery/disposal/bin, /obj/machinery/requests_console{ department = "Primary Tool Storage"; @@ -35926,11 +39495,11 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) -"bzm" = ( +"bDp" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) -"bzn" = ( +"bDq" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -35938,7 +39507,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/storage/primary) -"bzo" = ( +"bDr" = ( /obj/item/clothing/suit/hazardvest{ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; name = "emergency lifejacket" @@ -36021,7 +39590,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) -"bzp" = ( +"bDs" = ( /obj/structure/table/reinforced, /obj/item/storage/belt/utility, /obj/item/weldingtool, @@ -36032,7 +39601,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) -"bzq" = ( +"bDt" = ( /obj/structure/table/reinforced, /obj/item/device/assembly/igniter, /obj/item/device/assembly/igniter, @@ -36044,11 +39613,11 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) -"bzr" = ( +"bDu" = ( /obj/machinery/status_display, /turf/closed/wall, /area/storage/primary) -"bzs" = ( +"bDv" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -36060,12 +39629,11 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bzt" = ( +"bDw" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36079,7 +39647,7 @@ }, /turf/open/floor/plasteel/blue/corner, /area/hallway/primary/central) -"bzu" = ( +"bDx" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "2-4" @@ -36105,7 +39673,7 @@ dir = 8 }, /area/bridge) -"bzv" = ( +"bDy" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36119,7 +39687,7 @@ dir = 5 }, /area/bridge) -"bzw" = ( +"bDz" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36131,14 +39699,13 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/bridge) -"bzx" = ( +"bDA" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "2-4" @@ -36161,7 +39728,7 @@ dir = 8 }, /area/bridge) -"bzy" = ( +"bDB" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36172,7 +39739,7 @@ dir = 5 }, /area/bridge) -"bzz" = ( +"bDC" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36183,7 +39750,7 @@ dir = 5 }, /area/bridge) -"bzA" = ( +"bDD" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/structure/cable/white{ icon_state = "4-8" @@ -36204,7 +39771,7 @@ dir = 5 }, /area/bridge) -"bzB" = ( +"bDE" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -36218,7 +39785,7 @@ dir = 5 }, /area/bridge) -"bzC" = ( +"bDF" = ( /obj/structure/chair/office/dark{ dir = 1 }, @@ -36238,7 +39805,7 @@ dir = 5 }, /area/bridge) -"bzD" = ( +"bDG" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36251,7 +39818,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/darkblue/corner, /area/bridge) -"bzE" = ( +"bDH" = ( /obj/structure/window/reinforced, /obj/structure/cable/white{ icon_state = "4-8" @@ -36261,7 +39828,7 @@ }, /turf/open/floor/plasteel/darkblue/side, /area/bridge) -"bzF" = ( +"bDI" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36274,7 +39841,7 @@ }, /turf/open/floor/plasteel/darkblue/side, /area/bridge) -"bzG" = ( +"bDJ" = ( /obj/structure/window/reinforced, /obj/structure/cable/white{ icon_state = "4-8" @@ -36290,7 +39857,7 @@ }, /turf/open/floor/plasteel/darkblue/side, /area/bridge) -"bzH" = ( +"bDK" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36302,7 +39869,7 @@ dir = 8 }, /area/bridge) -"bzI" = ( +"bDL" = ( /obj/structure/chair/office/dark{ dir = 1 }, @@ -36319,7 +39886,7 @@ dir = 5 }, /area/bridge) -"bzJ" = ( +"bDM" = ( /obj/structure/chair/office/dark{ dir = 1 }, @@ -36333,7 +39900,7 @@ dir = 5 }, /area/bridge) -"bzK" = ( +"bDN" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36345,7 +39912,7 @@ dir = 5 }, /area/bridge) -"bzL" = ( +"bDO" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -36365,7 +39932,7 @@ dir = 8 }, /area/bridge) -"bzM" = ( +"bDP" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36380,7 +39947,7 @@ dir = 8 }, /area/bridge) -"bzN" = ( +"bDQ" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "2-8" @@ -36403,7 +39970,7 @@ dir = 8 }, /area/bridge) -"bzO" = ( +"bDR" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36414,7 +39981,7 @@ dir = 8 }, /area/hallway/primary/central) -"bzP" = ( +"bDS" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -36423,7 +39990,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bzQ" = ( +"bDT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/machinery/camera{ @@ -36435,15 +40002,15 @@ dir = 4 }, /area/hallway/primary/central) -"bzR" = ( +"bDU" = ( /obj/structure/shuttle/engine/propulsion, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/shuttle/labor) -"bzS" = ( +"bDV" = ( /turf/closed/wall, /area/security/execution/transfer) -"bzT" = ( +"bDW" = ( /obj/structure/closet/emcloset, /obj/machinery/firealarm{ dir = 1; @@ -36451,8 +40018,7 @@ pixel_y = 6 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/button/door{ desc = "A remote control switch."; @@ -36467,13 +40033,12 @@ }, /turf/open/floor/plasteel, /area/security/execution/transfer) -"bzU" = ( +"bDX" = ( /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 8; - icon_state = "pipe-j1s"; name = "HoS Junction"; sortType = 8 }, @@ -36481,17 +40046,30 @@ dir = 10 }, /area/security/execution/transfer) -"bzV" = ( +"bDY" = ( /obj/structure/chair{ dir = 1 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/red/side, /area/security/execution/transfer) -"bzX" = ( +"bDZ" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Security - Transfer Centre Aft"; + dir = 1; + name = "security camera" + }, +/obj/structure/sign/poster/official/work_for_a_future{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/red/side, +/area/security/execution/transfer) +"bEa" = ( /obj/structure/chair{ dir = 1 }, @@ -36501,7 +40079,7 @@ }, /turf/open/floor/plasteel/red/side, /area/security/execution/transfer) -"bzY" = ( +"bEb" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/structure/extinguisher_cabinet{ pixel_x = 26 @@ -36513,15 +40091,29 @@ dir = 6 }, /area/security/execution/transfer) -"bzZ" = ( +"bEc" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall, /area/security/brig) -"bAb" = ( +"bEd" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/security{ + name = "Brig"; + req_access_txt = "63" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/sign/poster/official/nanotrasen_logo{ + pixel_x = -32 + }, +/turf/open/floor/plasteel, +/area/security/brig) +"bEe" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/security/brig) -"bAc" = ( +"bEf" = ( /obj/item/device/radio/intercom{ anyai = 1; freerange = 1; @@ -36558,13 +40150,13 @@ /obj/effect/landmark/tripai, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"bAd" = ( +"bEg" = ( /obj/machinery/holopad, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ai_monitored/turret_protected/ai) -"bAe" = ( +"bEh" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -36574,7 +40166,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"bAf" = ( +"bEi" = ( /obj/machinery/turretid{ icon_state = "control_stun"; name = "AI Chamber turret control"; @@ -36596,7 +40188,7 @@ dir = 6 }, /area/ai_monitored/turret_protected/ai) -"bAg" = ( +"bEj" = ( /obj/machinery/requests_console{ department = "AI"; departmentType = 5; @@ -36614,7 +40206,7 @@ }, /turf/open/floor/plasteel/vault, /area/ai_monitored/turret_protected/ai) -"bAh" = ( +"bEk" = ( /obj/machinery/door/window{ base_state = "rightsecure"; dir = 4; @@ -36626,7 +40218,7 @@ dir = 10 }, /area/ai_monitored/turret_protected/ai) -"bAi" = ( +"bEl" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -36635,7 +40227,7 @@ }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"bAj" = ( +"bEm" = ( /obj/item/device/radio/intercom{ anyai = 1; freerange = 1; @@ -36672,7 +40264,7 @@ /obj/effect/landmark/tripai, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"bAk" = ( +"bEn" = ( /obj/machinery/light{ dir = 8 }, @@ -36683,10 +40275,10 @@ dir = 5 }, /area/engine/gravity_generator) -"bAl" = ( +"bEo" = ( /turf/open/floor/circuit/green, /area/engine/gravity_generator) -"bAm" = ( +"bEp" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_command{ name = "Gravity Generator Chamber"; @@ -36706,7 +40298,16 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bAn" = ( +"bEq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/engine/gravity_generator) +"bEr" = ( /obj/machinery/holopad, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, @@ -36715,7 +40316,7 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bAo" = ( +"bEs" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -36727,7 +40328,7 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bAp" = ( +"bEt" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -36735,7 +40336,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bAq" = ( +"bEu" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/highsecurity{ name = "Gravity Generator Room"; @@ -36752,7 +40353,7 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bAr" = ( +"bEv" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -36763,7 +40364,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bAs" = ( +"bEw" = ( /obj/machinery/holopad, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -36772,7 +40373,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bAt" = ( +"bEx" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36783,7 +40384,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bAu" = ( +"bEy" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -36804,7 +40405,7 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bAv" = ( +"bEz" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36816,7 +40417,7 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bAw" = ( +"bEA" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -36835,7 +40436,7 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bAx" = ( +"bEB" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36850,7 +40451,7 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bAy" = ( +"bEC" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -36868,7 +40469,7 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bAz" = ( +"bED" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36880,7 +40481,7 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bAA" = ( +"bEE" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -36901,7 +40502,7 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bAB" = ( +"bEF" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36914,7 +40515,7 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bAC" = ( +"bEG" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36924,7 +40525,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/break_room) -"bAD" = ( +"bEH" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36936,7 +40537,7 @@ dir = 8 }, /area/engine/break_room) -"bAE" = ( +"bEI" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36946,7 +40547,17 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bAF" = ( +"bEJ" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/engine/break_room) +"bEK" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36955,7 +40566,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bAG" = ( +"bEL" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -36964,7 +40575,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bAH" = ( +"bEM" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -36973,25 +40584,25 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bAI" = ( +"bEN" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/caution{ dir = 4 }, /area/engine/break_room) -"bAJ" = ( +"bEO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, /turf/closed/wall/r_wall, /area/engine/atmos) -"bAK" = ( +"bEP" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/engine/atmos) -"bAL" = ( +"bEQ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -37001,7 +40612,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/primary/port) -"bAM" = ( +"bER" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, @@ -37009,7 +40620,7 @@ dir = 4 }, /area/hallway/primary/port) -"bAN" = ( +"bES" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/status_display{ pixel_x = -32 @@ -37018,7 +40629,7 @@ dir = 5 }, /area/storage/tech) -"bAO" = ( +"bET" = ( /obj/structure/rack, /obj/item/circuitboard/computer/scan_consolenew{ pixel_x = -3; @@ -37033,7 +40644,7 @@ /obj/item/circuitboard/machine/smoke_machine, /turf/open/floor/plasteel, /area/storage/tech) -"bAP" = ( +"bEU" = ( /obj/structure/rack, /obj/item/circuitboard/computer/aifixer{ pixel_x = -3; @@ -37048,7 +40659,7 @@ /obj/item/circuitboard/machine/autolathe, /turf/open/floor/plasteel, /area/storage/tech) -"bAQ" = ( +"bEV" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/ai_status_display{ pixel_x = 32 @@ -37057,7 +40668,7 @@ dir = 5 }, /area/storage/tech) -"bAR" = ( +"bEW" = ( /obj/structure/table/reinforced, /obj/item/stack/rods{ amount = 25 @@ -37080,7 +40691,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) -"bAS" = ( +"bEX" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -37088,19 +40699,18 @@ dir = 9 }, /area/storage/primary) -"bAT" = ( +"bEY" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/yellow/side{ dir = 1 }, /area/storage/primary) -"bAU" = ( +"bEZ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -37111,29 +40721,28 @@ dir = 1 }, /area/storage/primary) -"bAV" = ( +"bFa" = ( /obj/structure/cable/white{ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/yellow/side{ dir = 1 }, /area/storage/primary) -"bAW" = ( +"bFb" = ( /turf/open/floor/plasteel/yellow/side{ dir = 1 }, /area/storage/primary) -"bAX" = ( +"bFc" = ( /turf/open/floor/plasteel/yellow/side{ dir = 5 }, /area/storage/primary) -"bAY" = ( +"bFd" = ( /obj/structure/table/reinforced, /obj/item/crowbar, /obj/item/wrench, @@ -37141,24 +40750,24 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) -"bAZ" = ( +"bFe" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/storage/primary) -"bBa" = ( +"bFf" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/yellow/corner{ dir = 1 }, /area/hallway/primary/central) -"bBb" = ( +"bFg" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/blue/corner, /area/hallway/primary/central) -"bBc" = ( +"bFh" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -37175,7 +40784,7 @@ dir = 8 }, /area/bridge) -"bBd" = ( +"bFi" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -37183,7 +40792,7 @@ dir = 5 }, /area/bridge) -"bBe" = ( +"bFj" = ( /obj/machinery/door/poddoor/preopen{ id = "bridgedoors"; name = "Bridge Access Blast door" @@ -37191,9 +40800,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 1; - icon_state = "pipe-j1s"; name = "HoP Junction"; sortType = 15 }, @@ -37201,7 +40809,7 @@ dir = 8 }, /area/bridge) -"bBf" = ( +"bFk" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -37221,7 +40829,7 @@ dir = 8 }, /area/bridge) -"bBg" = ( +"bFl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -37232,7 +40840,7 @@ dir = 5 }, /area/bridge) -"bBh" = ( +"bFm" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -37246,7 +40854,7 @@ dir = 5 }, /area/bridge) -"bBi" = ( +"bFn" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -37254,14 +40862,13 @@ dir = 1 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/bridge) -"bBj" = ( +"bFo" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -37270,7 +40877,7 @@ dir = 5 }, /area/bridge) -"bBk" = ( +"bFp" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -37281,7 +40888,7 @@ dir = 5 }, /area/bridge) -"bBl" = ( +"bFq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -37289,14 +40896,14 @@ dir = 9 }, /area/bridge) -"bBm" = ( +"bFr" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/darkblue/side{ dir = 1 }, /area/bridge) -"bBn" = ( +"bFs" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -37308,14 +40915,14 @@ }, /turf/open/floor/plasteel/grimy, /area/bridge) -"bBo" = ( +"bFt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/bridge) -"bBp" = ( +"bFu" = ( /obj/machinery/computer/communications, /obj/structure/cable/white{ icon_state = "1-2" @@ -37325,7 +40932,7 @@ }, /turf/open/floor/plasteel/grimy, /area/bridge) -"bBq" = ( +"bFv" = ( /obj/structure/table/wood, /obj/machinery/computer/security/wooden_tv, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -37333,7 +40940,7 @@ }, /turf/open/floor/plasteel/grimy, /area/bridge) -"bBr" = ( +"bFw" = ( /obj/structure/table/wood, /obj/structure/window/reinforced{ dir = 4 @@ -37344,7 +40951,7 @@ }, /turf/open/floor/plasteel/grimy, /area/bridge) -"bBs" = ( +"bFx" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -37353,7 +40960,7 @@ dir = 1 }, /area/bridge) -"bBt" = ( +"bFy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -37361,7 +40968,7 @@ dir = 5 }, /area/bridge) -"bBu" = ( +"bFz" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -37372,13 +40979,13 @@ dir = 5 }, /area/bridge) -"bBv" = ( +"bFA" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/bridge) -"bBw" = ( +"bFB" = ( /obj/machinery/door/poddoor/preopen{ id = "bridgedoors"; name = "Bridge Access Blast door" @@ -37390,7 +40997,24 @@ dir = 8 }, /area/bridge) -"bBx" = ( +"bFC" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/glass_command{ + cyclelinkeddir = 8; + name = "Bridge Access"; + req_access_txt = "19" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/bridge) +"bFD" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -37399,7 +41023,7 @@ dir = 8 }, /area/hallway/primary/central) -"bBy" = ( +"bFE" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -37408,7 +41032,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bBz" = ( +"bFF" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -37417,7 +41041,7 @@ dir = 4 }, /area/hallway/primary/central) -"bBA" = ( +"bFG" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -37428,7 +41052,7 @@ }, /turf/open/floor/plating, /area/security/execution/transfer) -"bBB" = ( +"bFH" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -37444,7 +41068,7 @@ dir = 1 }, /area/security/execution/transfer) -"bBC" = ( +"bFI" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -37452,14 +41076,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/security/execution/transfer) -"bBD" = ( +"bFJ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, /area/security/brig) -"bBE" = ( +"bFK" = ( /obj/machinery/disposal/bin, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/light/small{ @@ -37469,10 +41093,10 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/security/brig) -"bBF" = ( +"bFL" = ( /turf/closed/wall/r_wall, /area/security/warden) -"bBG" = ( +"bFM" = ( /obj/structure/closet{ name = "Evidence Closet" }, @@ -37480,7 +41104,7 @@ dir = 8 }, /area/security/warden) -"bBH" = ( +"bFN" = ( /obj/structure/closet{ name = "Evidence Closet" }, @@ -37491,20 +41115,20 @@ dir = 8 }, /area/security/warden) -"bBI" = ( +"bFO" = ( /obj/structure/closet/secure_closet/evidence, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/security/warden) -"bBJ" = ( +"bFP" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/warden) -"bBK" = ( +"bFQ" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_y = 26 @@ -37514,13 +41138,13 @@ }, /turf/open/floor/plasteel, /area/security/warden) -"bBL" = ( +"bFR" = ( /obj/machinery/suit_storage_unit/security, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/security/warden) -"bBM" = ( +"bFS" = ( /obj/machinery/light{ dir = 4 }, @@ -37528,7 +41152,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"bBN" = ( +"bFT" = ( /obj/item/device/radio/intercom{ broadcasting = 0; freerange = 1; @@ -37570,7 +41194,7 @@ /obj/effect/landmark/start/ai, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"bBO" = ( +"bFU" = ( /obj/machinery/light{ dir = 8 }, @@ -37579,7 +41203,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"bBP" = ( +"bFV" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -37594,32 +41218,32 @@ dir = 5 }, /area/aisat) -"bBQ" = ( +"bFW" = ( /obj/machinery/gravity_generator/main/station, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/engine/gravity_generator) -"bBR" = ( +"bFX" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/engine/gravity_generator) -"bBS" = ( +"bFY" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bBT" = ( +"bFZ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/engine/gravity_generator) -"bBU" = ( +"bGa" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, @@ -37628,7 +41252,7 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bBV" = ( +"bGb" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/power/port_gen/pacman, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -37637,14 +41261,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bBW" = ( +"bGc" = ( /obj/structure/sign/radiation, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/engine/gravity_generator) -"bBX" = ( +"bGd" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -37657,7 +41281,7 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bBY" = ( +"bGe" = ( /obj/machinery/status_display{ pixel_x = 32; pixel_y = -32 @@ -37668,7 +41292,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bBZ" = ( +"bGf" = ( /obj/structure/closet/radiation, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -37680,7 +41304,7 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bCa" = ( +"bGg" = ( /obj/machinery/firealarm{ dir = 8; pixel_x = -24 @@ -37689,7 +41313,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/break_room) -"bCb" = ( +"bGh" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, @@ -37700,17 +41324,17 @@ }, /turf/open/floor/plasteel/caution, /area/engine/break_room) -"bCc" = ( +"bGi" = ( /obj/machinery/light, /turf/open/floor/plasteel/caution, /area/engine/break_room) -"bCd" = ( +"bGj" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, /turf/open/floor/plasteel/caution, /area/engine/break_room) -"bCe" = ( +"bGk" = ( /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -37723,7 +41347,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/break_room) -"bCf" = ( +"bGl" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, @@ -37732,31 +41356,30 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bCg" = ( +"bGm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 2 }, /turf/open/floor/plasteel/yellow/side{ dir = 8 }, /area/engine/break_room) -"bCh" = ( +"bGn" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bCi" = ( +"bGo" = ( /obj/structure/chair/stool/bar, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bCj" = ( +"bGp" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, @@ -37766,7 +41389,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bCk" = ( +"bGq" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -37778,7 +41401,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bCl" = ( +"bGr" = ( /obj/machinery/status_display{ pixel_x = 32; pixel_y = 32 @@ -37791,7 +41414,7 @@ dir = 4 }, /area/engine/break_room) -"bCm" = ( +"bGs" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -37802,7 +41425,7 @@ dir = 1 }, /area/engine/break_room) -"bCn" = ( +"bGt" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/firealarm{ dir = 4; @@ -37821,7 +41444,7 @@ dir = 5 }, /area/engine/break_room) -"bCo" = ( +"bGu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -37830,7 +41453,7 @@ }, /turf/closed/wall, /area/engine/break_room) -"bCp" = ( +"bGv" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/structure/disposalpipe/segment{ @@ -37842,7 +41465,7 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bCq" = ( +"bGw" = ( /obj/machinery/light{ dir = 1 }, @@ -37857,7 +41480,7 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bCr" = ( +"bGx" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -37866,7 +41489,7 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bCs" = ( +"bGy" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -37876,7 +41499,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/engine/break_room) -"bCt" = ( +"bGz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ dir = 4 @@ -37885,23 +41508,22 @@ dir = 1 }, /area/hallway/primary/port) -"bCu" = ( +"bGA" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/port) -"bCv" = ( +"bGB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/yellow/corner{ dir = 4 }, /area/hallway/primary/port) -"bCw" = ( +"bGC" = ( /obj/structure/table/reinforced, /obj/item/stock_parts/cell/high, /obj/item/stock_parts/cell/high, @@ -37910,7 +41532,7 @@ dir = 8 }, /area/storage/tech) -"bCx" = ( +"bGD" = ( /obj/structure/rack, /obj/item/circuitboard/computer/cloning{ pixel_x = -3; @@ -37924,7 +41546,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/tech) -"bCy" = ( +"bGE" = ( /obj/structure/rack, /obj/item/circuitboard/machine/destructive_analyzer{ pixel_x = -3; @@ -37939,7 +41561,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/tech) -"bCz" = ( +"bGF" = ( /obj/structure/table/reinforced, /obj/item/stock_parts/matter_bin{ pixel_x = 3; @@ -37955,7 +41577,7 @@ dir = 8 }, /area/storage/tech) -"bCA" = ( +"bGG" = ( /obj/structure/rack, /obj/item/airlock_painter, /obj/item/device/toner, @@ -37965,31 +41587,35 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) -"bCB" = ( +"bGH" = ( /turf/open/floor/plasteel/yellow/side{ dir = 8 }, /area/storage/primary) -"bCC" = ( +"bGI" = ( /turf/open/floor/plasteel/neutral, /area/storage/primary) -"bCD" = ( +"bGJ" = ( /obj/machinery/holopad, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) -"bCE" = ( +"bGK" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/storage/primary) +"bGL" = ( /turf/open/floor/plasteel/yellow/side{ dir = 4 }, /area/storage/primary) -"bCF" = ( +"bGM" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) -"bCG" = ( +"bGN" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -37998,17 +41624,16 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bCH" = ( +"bGO" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/blue/corner, /area/hallway/primary/central) -"bCI" = ( +"bGP" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment{ @@ -38016,7 +41641,7 @@ }, /turf/open/floor/plating, /area/bridge) -"bCJ" = ( +"bGQ" = ( /obj/structure/sign/nanotrasen{ pixel_x = 32; pixel_y = -32 @@ -38030,41 +41655,40 @@ }, /turf/open/floor/plasteel/darkblue/side, /area/bridge) -"bCK" = ( +"bGR" = ( /obj/machinery/door/poddoor/preopen{ id = "bridgedoors"; name = "Bridge Access Blast door" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/bridge) -"bCL" = ( +"bGS" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/bridge) -"bCM" = ( +"bGT" = ( /obj/machinery/light_switch{ pixel_x = -7; pixel_y = -26 }, /turf/open/floor/plasteel/darkblue/side, /area/bridge) -"bCN" = ( +"bGU" = ( /turf/open/floor/plasteel/darkblue/side, /area/bridge) -"bCO" = ( +"bGV" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -32 }, /turf/open/floor/plasteel/darkblue/side, /area/bridge) -"bCP" = ( +"bGW" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -38072,7 +41696,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/darkblue/side, /area/bridge) -"bCQ" = ( +"bGX" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/camera{ c_tag = "Bridge - Port"; @@ -38081,7 +41705,7 @@ }, /turf/open/floor/plasteel/darkblue/side, /area/bridge) -"bCR" = ( +"bGY" = ( /obj/structure/cable/white, /obj/machinery/power/apc{ dir = 2; @@ -38091,19 +41715,19 @@ }, /turf/open/floor/plasteel/darkblue/side, /area/bridge) -"bCS" = ( +"bGZ" = ( /obj/structure/fireaxecabinet{ pixel_y = -28 }, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/darkblue/side, /area/bridge) -"bCT" = ( +"bHa" = ( /turf/open/floor/plasteel/darkblue/side{ dir = 8 }, /area/bridge) -"bCU" = ( +"bHb" = ( /obj/structure/rack, /obj/machinery/light/small, /obj/item/device/aicard, @@ -38112,7 +41736,7 @@ dir = 8 }, /area/bridge) -"bCV" = ( +"bHc" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -38123,13 +41747,13 @@ }, /turf/open/floor/plasteel/grimy, /area/bridge) -"bCW" = ( +"bHd" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, /turf/open/floor/carpet, /area/bridge) -"bCX" = ( +"bHe" = ( /obj/structure/chair/comfy/brown{ color = "#596479"; dir = 1 @@ -38139,14 +41763,14 @@ }, /turf/open/floor/carpet, /area/bridge) -"bCY" = ( +"bHf" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /turf/open/floor/carpet, /area/bridge) -"bCZ" = ( +"bHg" = ( /obj/structure/table/wood, /obj/structure/window/reinforced{ dir = 4 @@ -38158,7 +41782,7 @@ }, /turf/open/floor/plasteel/grimy, /area/bridge) -"bDa" = ( +"bHh" = ( /obj/structure/rack, /obj/machinery/light/small, /obj/item/storage/toolbox/emergency, @@ -38167,12 +41791,12 @@ dir = 8 }, /area/bridge) -"bDb" = ( +"bHi" = ( /turf/open/floor/plasteel/darkblue/side{ dir = 4 }, /area/bridge) -"bDc" = ( +"bHj" = ( /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -38180,7 +41804,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/darkblue/side, /area/bridge) -"bDd" = ( +"bHk" = ( /obj/machinery/camera{ c_tag = "Bridge - Starboard"; dir = 1; @@ -38188,28 +41812,32 @@ }, /turf/open/floor/plasteel/darkblue/side, /area/bridge) -"bDe" = ( +"bHl" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/darkblue/side, /area/bridge) -"bDf" = ( +"bHm" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/darkblue/side, +/area/bridge) +"bHn" = ( /obj/machinery/firealarm{ dir = 1; pixel_y = -26 }, /turf/open/floor/plasteel/darkblue/side, /area/bridge) -"bDg" = ( +"bHo" = ( /obj/machinery/light_switch{ pixel_x = 7; pixel_y = -26 }, /turf/open/floor/plasteel/darkblue/side, /area/bridge) -"bDh" = ( +"bHp" = ( /obj/structure/sign/nanotrasen{ pixel_x = -32; pixel_y = -32 @@ -38220,10 +41848,13 @@ }, /turf/open/floor/plasteel/darkblue/side, /area/bridge) -"bDi" = ( +"bHq" = ( +/turf/closed/wall, +/area/maintenance/starboard) +"bHr" = ( /turf/closed/wall/r_wall, /area/security/detectives_office) -"bDj" = ( +"bHs" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -38234,7 +41865,7 @@ }, /turf/open/floor/plating, /area/security/detectives_office) -"bDk" = ( +"bHt" = ( /obj/structure/disposalpipe/segment, /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-22" @@ -38243,10 +41874,10 @@ dir = 1 }, /area/hallway/primary/starboard) -"bDl" = ( +"bHu" = ( /turf/open/floor/plasteel/neutral, /area/hallway/primary/starboard) -"bDm" = ( +"bHv" = ( /obj/structure/disposalpipe/segment, /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" @@ -38255,7 +41886,7 @@ dir = 4 }, /area/hallway/primary/starboard) -"bDn" = ( +"bHw" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -38266,7 +41897,7 @@ }, /turf/open/floor/plating, /area/security/brig) -"bDo" = ( +"bHx" = ( /obj/structure/closet/secure_closet/brig{ id = "brig1"; name = "Cell 1 Locker" @@ -38278,7 +41909,7 @@ dir = 9 }, /area/security/brig) -"bDp" = ( +"bHy" = ( /obj/machinery/flasher{ id = "brig1"; pixel_y = 26 @@ -38290,7 +41921,7 @@ dir = 5 }, /area/security/brig) -"bDq" = ( +"bHz" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -38300,13 +41931,13 @@ }, /turf/open/floor/plating, /area/security/brig) -"bDr" = ( +"bHA" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /turf/open/floor/plasteel/red/corner{ dir = 1 }, /area/security/brig) -"bDs" = ( +"bHB" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -38319,7 +41950,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/security/brig) -"bDt" = ( +"bHC" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -38330,7 +41961,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, /area/security/brig) -"bDu" = ( +"bHD" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -38346,7 +41977,7 @@ dir = 4 }, /area/security/warden) -"bDv" = ( +"bHE" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -38357,7 +41988,7 @@ dir = 5 }, /area/security/warden) -"bDw" = ( +"bHF" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -38371,7 +42002,7 @@ dir = 5 }, /area/security/warden) -"bDx" = ( +"bHG" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -38383,7 +42014,7 @@ dir = 5 }, /area/security/warden) -"bDy" = ( +"bHH" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -38391,7 +42022,7 @@ dir = 5 }, /area/security/warden) -"bDz" = ( +"bHI" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -38413,7 +42044,7 @@ }, /turf/open/floor/plasteel, /area/security/warden) -"bDA" = ( +"bHJ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -38422,7 +42053,7 @@ }, /turf/open/floor/plasteel, /area/security/warden) -"bDB" = ( +"bHK" = ( /obj/structure/tank_dispenser/oxygen, /obj/structure/cable/white{ icon_state = "4-8" @@ -38431,14 +42062,14 @@ dir = 8 }, /area/security/warden) -"bDC" = ( +"bHL" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/warden) -"bDD" = ( +"bHM" = ( /obj/structure/table/reinforced, /obj/item/crowbar, /obj/item/wrench, @@ -38447,7 +42078,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/ai) -"bDE" = ( +"bHN" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, @@ -38455,7 +42086,7 @@ dir = 5 }, /area/engine/gravity_generator) -"bDF" = ( +"bHO" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/electricshock{ @@ -38466,7 +42097,7 @@ }, /turf/open/floor/plating, /area/engine/gravity_generator) -"bDG" = ( +"bHP" = ( /obj/machinery/light, /obj/machinery/status_display{ pixel_y = -32 @@ -38484,7 +42115,7 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bDH" = ( +"bHQ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm{ dir = 1; @@ -38496,7 +42127,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bDI" = ( +"bHR" = ( /obj/machinery/newscaster{ pixel_y = -32 }, @@ -38508,7 +42139,7 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bDJ" = ( +"bHS" = ( /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -38517,14 +42148,12 @@ pixel_y = -26 }, /obj/structure/table/reinforced, -/obj/item/stack/sheet/plasteel{ - amount = 20 - }, +/obj/item/stack/sheet/plasteel/twenty, /obj/item/wrench, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bDK" = ( +"bHT" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -38541,7 +42170,7 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bDL" = ( +"bHU" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/poddoor/preopen{ id = "transitlock"; @@ -38556,10 +42185,10 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"bDM" = ( +"bHV" = ( /turf/closed/wall/r_wall, /area/crew_quarters/heads/chief) -"bDN" = ( +"bHW" = ( /obj/structure/sign/directions/engineering{ desc = "A handy sign praising the engineering department."; icon_state = "safety"; @@ -38567,11 +42196,11 @@ }, /turf/closed/wall, /area/engine/break_room) -"bDO" = ( +"bHX" = ( /obj/machinery/status_display, /turf/closed/wall, /area/engine/break_room) -"bDP" = ( +"bHY" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light{ dir = 8 @@ -38587,24 +42216,24 @@ dir = 8 }, /area/engine/break_room) -"bDQ" = ( +"bHZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bDR" = ( +"bIa" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/food/drinks/soda_cans/thirteenloko, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/break_room) -"bDS" = ( +"bIb" = ( /obj/structure/table/reinforced, /obj/item/folder/yellow, /obj/item/pen, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/break_room) -"bDT" = ( +"bIc" = ( /obj/structure/table/reinforced, /obj/item/folder/yellow, /obj/item/device/lightreplacer, @@ -38612,7 +42241,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/break_room) -"bDU" = ( +"bId" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -38621,20 +42250,20 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bDV" = ( +"bIe" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bDW" = ( +"bIf" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bDX" = ( +"bIg" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -38642,7 +42271,7 @@ dir = 4 }, /area/engine/break_room) -"bDY" = ( +"bIh" = ( /obj/machinery/door/firedoor, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -38661,21 +42290,21 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bDZ" = ( +"bIi" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/break_room) -"bEa" = ( +"bIj" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/effect/landmark/lightsout, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bEb" = ( +"bIk" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -38683,7 +42312,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/break_room) -"bEc" = ( +"bIl" = ( /obj/machinery/door/firedoor, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -38708,7 +42337,7 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bEd" = ( +"bIm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/white{ icon_state = "4-8" @@ -38717,7 +42346,7 @@ dir = 8 }, /area/hallway/primary/port) -"bEe" = ( +"bIn" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -38729,7 +42358,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/port) -"bEf" = ( +"bIo" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/light{ dir = 4 @@ -38738,7 +42367,7 @@ dir = 4 }, /area/hallway/primary/port) -"bEg" = ( +"bIp" = ( /obj/structure/table/reinforced, /obj/structure/cable/white{ icon_state = "0-4" @@ -38756,7 +42385,7 @@ dir = 8 }, /area/storage/tech) -"bEh" = ( +"bIq" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -38767,7 +42396,7 @@ dir = 4 }, /area/storage/tech) -"bEi" = ( +"bIr" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -38776,7 +42405,7 @@ }, /turf/open/floor/plasteel/neutral, /area/storage/tech) -"bEj" = ( +"bIs" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -38788,7 +42417,7 @@ }, /turf/open/floor/plasteel/neutral, /area/storage/tech) -"bEk" = ( +"bIt" = ( /obj/machinery/holopad, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -38798,7 +42427,7 @@ /obj/item/circuitboard/machine/autolathe, /turf/open/floor/plasteel, /area/storage/tech) -"bEl" = ( +"bIu" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, @@ -38806,7 +42435,7 @@ dir = 8 }, /area/storage/tech) -"bEm" = ( +"bIv" = ( /obj/structure/table/reinforced, /obj/item/stack/cable_coil/white{ pixel_x = 3; @@ -38828,7 +42457,18 @@ dir = 8 }, /area/storage/tech) -"bEn" = ( +"bIw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral/side{ + dir = 4 + }, +/area/maintenance/port/fore) +"bIx" = ( /obj/machinery/vending/assist, /obj/structure/extinguisher_cabinet{ pixel_x = -26 @@ -38841,32 +42481,32 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/storage/primary) -"bEo" = ( +"bIy" = ( /obj/effect/landmark/lightsout, /turf/open/floor/plasteel/neutral, /area/storage/primary) -"bEp" = ( +"bIz" = ( /obj/structure/table/reinforced, /obj/item/stack/packageWrap, /obj/item/hand_labeler, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) -"bEq" = ( +"bIA" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/mechanical, /obj/item/device/flashlight, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) -"bEr" = ( +"bIB" = ( /obj/effect/landmark/start/assistant, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/storage/primary) -"bEs" = ( +"bIC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -38874,14 +42514,14 @@ dir = 4 }, /area/storage/primary) -"bEt" = ( +"bID" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/storage/primary) -"bEu" = ( +"bIE" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_engineering{ name = "Primary Tool Storage"; @@ -38898,7 +42538,7 @@ }, /turf/open/floor/plasteel, /area/storage/primary) -"bEv" = ( +"bIF" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -38906,7 +42546,7 @@ dir = 1 }, /area/hallway/primary/central) -"bEw" = ( +"bIG" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/firealarm{ dir = 4; @@ -38914,13 +42554,13 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"bEx" = ( +"bIH" = ( /turf/closed/wall/r_wall, /area/bridge/meeting_room/council) -"bEy" = ( +"bII" = ( /turf/closed/wall, /area/bridge/meeting_room/council) -"bEz" = ( +"bIJ" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -38934,29 +42574,29 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bEA" = ( +"bIK" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/bridge/meeting_room/council) -"bEB" = ( +"bIL" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/bridge) -"bEC" = ( +"bIM" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/bridge) -"bED" = ( +"bIN" = ( /obj/machinery/status_display, /turf/closed/wall, /area/bridge) -"bEE" = ( +"bIO" = ( /obj/structure/table/wood, /obj/structure/window/reinforced{ dir = 8 @@ -38965,7 +42605,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/bridge) -"bEF" = ( +"bIP" = ( /obj/machinery/button/door{ id = "bridgedoors"; name = "Bridge Access Blast doors"; @@ -38998,13 +42638,13 @@ }, /turf/open/floor/carpet, /area/bridge) -"bEG" = ( +"bIQ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/carpet, /area/bridge) -"bEH" = ( +"bIR" = ( /obj/machinery/button/door{ id = "evastorage"; name = "E.V.A. Shutters"; @@ -39032,7 +42672,7 @@ }, /turf/open/floor/carpet, /area/bridge) -"bEI" = ( +"bIS" = ( /obj/structure/table/wood, /obj/structure/window/reinforced{ dir = 4 @@ -39041,25 +42681,25 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/grimy, /area/bridge) -"bEJ" = ( +"bIT" = ( /obj/machinery/ai_status_display, /turf/closed/wall, /area/bridge) -"bEK" = ( +"bIU" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/bridge) -"bEL" = ( +"bIV" = ( /turf/closed/wall/r_wall, /area/crew_quarters/heads/captain) -"bEM" = ( +"bIW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/crew_quarters/heads/captain) -"bEN" = ( +"bIX" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ name = "Captain's Office"; @@ -39072,11 +42712,11 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bEO" = ( +"bIY" = ( /obj/machinery/computer/security/telescreen/entertainment, /turf/closed/wall/r_wall, /area/crew_quarters/heads/captain) -"bEP" = ( +"bIZ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -39086,7 +42726,7 @@ dir = 4 }, /area/hallway/primary/central) -"bEQ" = ( +"bJa" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -39102,7 +42742,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"bER" = ( +"bJb" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -39111,14 +42751,14 @@ dir = 1 }, /area/maintenance/starboard) -"bES" = ( +"bJc" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plating, /area/maintenance/starboard) -"bET" = ( +"bJd" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -39128,7 +42768,13 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard) -"bEV" = ( +"bJe" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bJf" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -39138,7 +42784,16 @@ dir = 5 }, /area/maintenance/starboard) -"bEX" = ( +"bJg" = ( +/obj/structure/table/wood, +/obj/item/clipboard, +/obj/item/toy/figure/detective, +/obj/structure/sign/poster/official/report_crimes{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/vault, +/area/security/detectives_office) +"bJh" = ( /obj/structure/closet/secure_closet/detective, /obj/structure/cable/white{ icon_state = "1-4" @@ -39157,7 +42812,7 @@ }, /turf/open/floor/plasteel/vault, /area/security/detectives_office) -"bEY" = ( +"bJi" = ( /obj/structure/table/wood, /obj/structure/cable/white{ icon_state = "1-8" @@ -39166,7 +42821,7 @@ /obj/item/device/camera/detective, /turf/open/floor/plasteel/vault, /area/security/detectives_office) -"bEZ" = ( +"bJj" = ( /obj/structure/table/wood, /obj/structure/cable/white{ icon_state = "0-2" @@ -39181,14 +42836,14 @@ /obj/item/restraints/handcuffs, /turf/open/floor/plasteel/vault, /area/security/detectives_office) -"bFa" = ( +"bJk" = ( /obj/structure/filingcabinet/security, /obj/structure/cable/white{ icon_state = "1-4" }, /turf/open/floor/plasteel/vault, /area/security/detectives_office) -"bFb" = ( +"bJl" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -39199,14 +42854,14 @@ /obj/machinery/disposal/bin, /turf/open/floor/plasteel/vault, /area/security/detectives_office) -"bFc" = ( +"bJm" = ( /obj/machinery/photocopier, /obj/machinery/ai_status_display{ pixel_y = 32 }, /turf/open/floor/plasteel/vault, /area/security/detectives_office) -"bFd" = ( +"bJn" = ( /obj/structure/rack, /obj/item/storage/briefcase{ pixel_x = -3; @@ -39215,11 +42870,11 @@ /obj/item/storage/secure/briefcase, /turf/open/floor/plasteel/vault, /area/security/detectives_office) -"bFe" = ( +"bJo" = ( /obj/structure/dresser, /turf/open/floor/plasteel/vault, /area/security/detectives_office) -"bFf" = ( +"bJp" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -39234,19 +42889,19 @@ dir = 1 }, /area/hallway/primary/starboard) -"bFg" = ( +"bJq" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/starboard) -"bFh" = ( +"bJr" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/red/corner{ dir = 4 }, /area/hallway/primary/starboard) -"bFi" = ( +"bJs" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-2" @@ -39264,17 +42919,18 @@ }, /turf/open/floor/plating, /area/security/brig) -"bFj" = ( +"bJt" = ( +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/red/side{ dir = 8 }, /area/security/brig) -"bFk" = ( +"bJu" = ( /turf/open/floor/plasteel/red/side{ dir = 4 }, /area/security/brig) -"bFl" = ( +"bJv" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -39289,14 +42945,14 @@ dir = 8 }, /area/security/brig) -"bFm" = ( +"bJw" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, /area/security/brig) -"bFn" = ( +"bJx" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -39306,7 +42962,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/security/brig) -"bFo" = ( +"bJy" = ( /obj/machinery/newscaster/security_unit{ pixel_x = 32 }, @@ -39314,7 +42970,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/red/corner, /area/security/brig) -"bFp" = ( +"bJz" = ( /obj/structure/table, /obj/item/stack/packageWrap, /obj/item/hand_labeler, @@ -39322,7 +42978,7 @@ dir = 8 }, /area/security/warden) -"bFq" = ( +"bJA" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -39330,7 +42986,7 @@ dir = 5 }, /area/security/warden) -"bFr" = ( +"bJB" = ( /obj/structure/closet/secure_closet/evidence, /obj/machinery/camera{ c_tag = "Security - Evidence Storage"; @@ -39341,25 +42997,25 @@ dir = 8 }, /area/security/warden) -"bFs" = ( +"bJC" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/warden) -"bFt" = ( +"bJD" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/security/warden) -"bFu" = ( +"bJE" = ( /obj/machinery/suit_storage_unit/security, /obj/machinery/light/small, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/security/warden) -"bFv" = ( +"bJF" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -39370,7 +43026,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"bFw" = ( +"bJG" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -39379,7 +43035,7 @@ }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"bFx" = ( +"bJH" = ( /obj/machinery/airalarm{ pixel_y = 22 }, @@ -39387,7 +43043,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"bFy" = ( +"bJI" = ( /obj/machinery/flasher{ id = "AI"; pixel_y = 26 @@ -39397,7 +43053,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/ai) -"bFz" = ( +"bJJ" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -39414,13 +43070,13 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"bFA" = ( +"bJK" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"bFB" = ( +"bJL" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -39429,7 +43085,7 @@ }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"bFC" = ( +"bJM" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -39440,7 +43096,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"bFD" = ( +"bJN" = ( /obj/structure/table/reinforced, /obj/item/folder/blue, /obj/item/device/assembly/flash/handheld, @@ -39448,7 +43104,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/ai) -"bFE" = ( +"bJO" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -39461,17 +43117,17 @@ dir = 8 }, /area/engine/transit_tube) -"bFF" = ( +"bJP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/engine/transit_tube) -"bFG" = ( +"bJQ" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/heads/chief) -"bFH" = ( +"bJR" = ( /obj/machinery/disposal/bin, /obj/structure/extinguisher_cabinet{ pixel_y = 32 @@ -39483,7 +43139,7 @@ dir = 8 }, /area/crew_quarters/heads/chief) -"bFI" = ( +"bJS" = ( /obj/machinery/cell_charger, /obj/structure/table/reinforced, /obj/machinery/ai_status_display{ @@ -39498,7 +43154,7 @@ dir = 5 }, /area/crew_quarters/heads/chief) -"bFJ" = ( +"bJT" = ( /obj/structure/table/reinforced, /obj/item/clipboard, /obj/item/device/gps/engineering{ @@ -39514,7 +43170,7 @@ dir = 5 }, /area/crew_quarters/heads/chief) -"bFK" = ( +"bJU" = ( /obj/structure/rack, /obj/item/crowbar, /obj/item/storage/toolbox/mechanical, @@ -39531,7 +43187,7 @@ dir = 5 }, /area/crew_quarters/heads/chief) -"bFL" = ( +"bJV" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/firealarm{ pixel_y = 24 @@ -39553,7 +43209,7 @@ dir = 5 }, /area/crew_quarters/heads/chief) -"bFM" = ( +"bJW" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -39566,7 +43222,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/chief) -"bFN" = ( +"bJX" = ( /obj/machinery/door/poddoor/preopen{ id = "ceblast"; name = "Chief's Lockdown Shutters" @@ -39585,7 +43241,7 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bFO" = ( +"bJY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -39595,11 +43251,11 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/break_room) -"bFP" = ( +"bJZ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ name = "CE's Junction"; sortType = 5 }, @@ -39607,21 +43263,21 @@ dir = 8 }, /area/engine/break_room) -"bFQ" = ( +"bKa" = ( /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bFR" = ( +"bKb" = ( /obj/structure/chair/stool/bar, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bFS" = ( +"bKc" = ( /obj/structure/chair/stool/bar, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bFT" = ( +"bKd" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -39630,7 +43286,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bFU" = ( +"bKe" = ( /obj/machinery/holopad, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -39640,13 +43296,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/break_room) -"bFV" = ( +"bKf" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bFW" = ( +"bKg" = ( /obj/machinery/light{ dir = 4 }, @@ -39657,14 +43313,14 @@ dir = 4 }, /area/engine/break_room) -"bFX" = ( +"bKh" = ( /obj/structure/sign/securearea, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/engine/break_room) -"bFY" = ( +"bKi" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, @@ -39674,38 +43330,38 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bFZ" = ( +"bKj" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/break_room) -"bGa" = ( +"bKk" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/plasteel, /area/engine/break_room) -"bGb" = ( +"bKl" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/engine/break_room) -"bGc" = ( +"bKm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/yellow/corner{ dir = 8 }, /area/hallway/primary/port) -"bGd" = ( +"bKn" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/port) -"bGe" = ( +"bKo" = ( /obj/structure/table/reinforced, /obj/item/electronics/airalarm, /obj/item/electronics/apc, @@ -39718,7 +43374,7 @@ dir = 8 }, /area/storage/tech) -"bGf" = ( +"bKp" = ( /obj/structure/rack, /obj/item/circuitboard/computer/security{ pixel_x = -3; @@ -39733,7 +43389,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/tech) -"bGg" = ( +"bKq" = ( /obj/structure/rack, /obj/item/circuitboard/computer/atmos_alert{ pixel_x = -3; @@ -39747,7 +43403,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/tech) -"bGh" = ( +"bKr" = ( /obj/structure/table/reinforced, /obj/item/folder/white, /obj/item/stock_parts/cell/high, @@ -39758,7 +43414,7 @@ dir = 8 }, /area/storage/tech) -"bGi" = ( +"bKs" = ( /obj/machinery/vending/tool, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -39767,21 +43423,21 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/storage/primary) -"bGj" = ( +"bKt" = ( /obj/structure/table/reinforced, /obj/item/clothing/gloves/color/yellow, /obj/item/storage/box/lights/mixed, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) -"bGk" = ( +"bKu" = ( /turf/open/floor/plasteel/yellow/corner, /area/storage/primary) -"bGl" = ( +"bKv" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/storage/primary) -"bGm" = ( +"bKw" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_engineering{ name = "Primary Tool Storage"; @@ -39795,11 +43451,11 @@ }, /turf/open/floor/plasteel, /area/storage/primary) -"bGn" = ( +"bKx" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"bGo" = ( +"bKy" = ( /obj/machinery/status_display{ pixel_x = -32 }, @@ -39810,24 +43466,24 @@ /obj/item/device/flashlight/lamp, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bGp" = ( +"bKz" = ( /obj/structure/bookcase/random, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bGq" = ( +"bKA" = ( /obj/machinery/light{ dir = 1 }, /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bGr" = ( +"bKB" = ( /obj/machinery/firealarm{ pixel_y = 26 }, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bGs" = ( +"bKC" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -39839,17 +43495,16 @@ }, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bGt" = ( +"bKD" = ( /obj/structure/cable/white{ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bGu" = ( +"bKE" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -39859,28 +43514,27 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bGv" = ( +"bKF" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bGw" = ( +"bKG" = ( /obj/structure/table/wood, /obj/item/device/paicard, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bGx" = ( +"bKH" = ( /turf/closed/wall/r_wall, /area/tcommsat/computer) -"bGy" = ( +"bKI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/tcommsat/computer) -"bGz" = ( +"bKJ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -39894,23 +43548,23 @@ dir = 8 }, /area/tcommsat/computer) -"bGA" = ( +"bKK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, /area/tcommsat/computer) -"bGB" = ( +"bKL" = ( /obj/structure/table/wood, /obj/item/clipboard, /obj/item/toy/figure/captain, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bGC" = ( +"bKM" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bGD" = ( +"bKN" = ( /obj/machinery/light_switch{ pixel_x = -26; pixel_y = 26 @@ -39921,19 +43575,19 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bGE" = ( +"bKO" = ( /obj/machinery/light{ dir = 1 }, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bGF" = ( +"bKP" = ( /obj/machinery/firealarm{ pixel_y = 26 }, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bGG" = ( +"bKQ" = ( /obj/machinery/ai_status_display{ pixel_y = 32 }, @@ -39941,11 +43595,11 @@ dir = 6 }, /area/crew_quarters/heads/captain) -"bGH" = ( +"bKR" = ( /obj/structure/fireplace, /turf/open/floor/plasteel/vault, /area/crew_quarters/heads/captain) -"bGI" = ( +"bKS" = ( /obj/machinery/status_display{ pixel_y = 32 }, @@ -39953,11 +43607,11 @@ dir = 10 }, /area/crew_quarters/heads/captain) -"bGJ" = ( +"bKT" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bGK" = ( +"bKU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/firealarm{ dir = 8; @@ -39967,7 +43621,7 @@ dir = 8 }, /area/hallway/primary/central) -"bGL" = ( +"bKV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/item/device/radio/intercom{ @@ -39978,7 +43632,7 @@ dir = 4 }, /area/hallway/primary/central) -"bGM" = ( +"bKW" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Auxiliary Tool Storage Maintenance"; req_access_txt = "12" @@ -39994,14 +43648,14 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"bGN" = ( +"bKX" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-4" }, /turf/open/floor/plating, /area/maintenance/starboard) -"bGO" = ( +"bKY" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Detective's Office Maintenance"; req_access_txt = "4" @@ -40017,7 +43671,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard) -"bGP" = ( +"bKZ" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -26; pixel_y = 32 @@ -40029,7 +43683,7 @@ dir = 5 }, /area/security/detectives_office) -"bGQ" = ( +"bLa" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -40043,7 +43697,7 @@ dir = 5 }, /area/security/detectives_office) -"bGR" = ( +"bLb" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -40052,7 +43706,7 @@ }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) -"bGS" = ( +"bLc" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -40067,7 +43721,7 @@ }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) -"bGT" = ( +"bLd" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -40076,7 +43730,7 @@ }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) -"bGU" = ( +"bLe" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -40090,13 +43744,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) -"bGV" = ( +"bLf" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) -"bGW" = ( +"bLg" = ( /obj/machinery/door/airlock/security{ name = "Private Interrogation"; req_access = null; @@ -40109,7 +43763,7 @@ dir = 8 }, /area/security/detectives_office) -"bGX" = ( +"bLh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -40118,7 +43772,7 @@ dir = 5 }, /area/security/detectives_office) -"bGY" = ( +"bLi" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, @@ -40131,14 +43785,14 @@ dir = 5 }, /area/security/detectives_office) -"bGZ" = ( +"bLj" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/red/corner{ dir = 1 }, /area/hallway/primary/starboard) -"bHa" = ( +"bLk" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -40147,7 +43801,7 @@ }, /turf/open/floor/plating, /area/security/brig) -"bHb" = ( +"bLl" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, @@ -40155,7 +43809,7 @@ dir = 10 }, /area/security/brig) -"bHc" = ( +"bLm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, @@ -40165,13 +43819,13 @@ dir = 6 }, /area/security/brig) -"bHd" = ( +"bLn" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/red/corner{ dir = 8 }, /area/security/brig) -"bHe" = ( +"bLo" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -40181,7 +43835,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/security/brig) -"bHf" = ( +"bLp" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -40190,14 +43844,14 @@ dir = 4 }, /area/security/brig) -"bHg" = ( +"bLq" = ( /obj/structure/cable/white{ icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/warden) -"bHh" = ( +"bLr" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-4" @@ -40211,10 +43865,10 @@ }, /turf/open/floor/plasteel/red, /area/security/warden) -"bHi" = ( +"bLs" = ( /turf/closed/wall/r_wall, /area/ai_monitored/security/armory) -"bHj" = ( +"bLt" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -40229,7 +43883,7 @@ dir = 5 }, /area/aisat) -"bHk" = ( +"bLu" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 1; @@ -40242,7 +43896,7 @@ dir = 5 }, /area/aisat) -"bHl" = ( +"bLv" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 4 @@ -40254,7 +43908,7 @@ dir = 5 }, /area/aisat) -"bHm" = ( +"bLw" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -40263,7 +43917,7 @@ }, /turf/open/space, /area/space) -"bHn" = ( +"bLx" = ( /obj/structure/table/reinforced, /obj/item/bodypart/chest/robot, /obj/item/bodypart/r_arm/robot{ @@ -40276,20 +43930,20 @@ dir = 8 }, /area/ai_monitored/turret_protected/ai) -"bHo" = ( +"bLy" = ( /obj/structure/cable/white{ icon_state = "1-4" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"bHp" = ( +"bLz" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"bHq" = ( +"bLA" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -40298,7 +43952,7 @@ }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"bHr" = ( +"bLB" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -40308,13 +43962,13 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"bHs" = ( +"bLC" = ( /obj/structure/cable/white{ icon_state = "1-8" }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) -"bHt" = ( +"bLD" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 8 @@ -40326,7 +43980,7 @@ dir = 5 }, /area/aisat) -"bHu" = ( +"bLE" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -40341,20 +43995,20 @@ dir = 5 }, /area/aisat) -"bHv" = ( +"bLF" = ( /turf/closed/wall/r_wall, /area/engine/transit_tube) -"bHw" = ( +"bLG" = ( /obj/structure/closet/emcloset/anchored, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/engine/transit_tube) -"bHx" = ( +"bLH" = ( /obj/machinery/status_display, /turf/closed/wall, /area/engine/transit_tube) -"bHy" = ( +"bLI" = ( /obj/machinery/power/apc/highcap/five_k{ dir = 1; name = "Transit Tube Access APC"; @@ -40364,14 +44018,14 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/vault, /area/engine/transit_tube) -"bHz" = ( +"bLJ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/vault, /area/engine/transit_tube) -"bHA" = ( +"bLK" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/firealarm{ dir = 4; @@ -40388,7 +44042,7 @@ dir = 8 }, /area/engine/transit_tube) -"bHB" = ( +"bLL" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light{ dir = 8 @@ -40403,19 +44057,19 @@ dir = 5 }, /area/crew_quarters/heads/chief) -"bHC" = ( +"bLM" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/heads/chief) -"bHD" = ( +"bLN" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral/side, /area/crew_quarters/heads/chief) -"bHE" = ( +"bLO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -40425,7 +44079,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/heads/chief) -"bHF" = ( +"bLP" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -40436,7 +44090,7 @@ dir = 5 }, /area/crew_quarters/heads/chief) -"bHG" = ( +"bLQ" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -40462,7 +44116,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/chief) -"bHH" = ( +"bLR" = ( /obj/machinery/door/poddoor/preopen{ id = "ceblast"; name = "Chief's Lockdown Shutters" @@ -40481,7 +44135,7 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bHI" = ( +"bLS" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -40491,7 +44145,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/break_room) -"bHJ" = ( +"bLT" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -40499,14 +44153,13 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/yellow/side{ dir = 8 }, /area/engine/break_room) -"bHK" = ( +"bLU" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -40518,7 +44171,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bHL" = ( +"bLV" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -40530,7 +44183,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bHM" = ( +"bLW" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -40542,7 +44195,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bHN" = ( +"bLX" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -40557,7 +44210,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bHO" = ( +"bLY" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -40565,12 +44218,11 @@ icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/neutral, /area/engine/break_room) -"bHP" = ( +"bLZ" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 26 }, @@ -40578,10 +44230,10 @@ dir = 4 }, /area/engine/break_room) -"bHQ" = ( +"bMa" = ( /turf/closed/wall, /area/security/checkpoint/engineering) -"bHR" = ( +"bMb" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -40591,7 +44243,7 @@ }, /turf/open/floor/plating, /area/security/checkpoint/engineering) -"bHS" = ( +"bMc" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -40608,7 +44260,7 @@ }, /turf/open/floor/plasteel/red, /area/security/checkpoint/engineering) -"bHT" = ( +"bMd" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -40618,14 +44270,14 @@ }, /turf/open/floor/plating, /area/security/checkpoint/engineering) -"bHU" = ( +"bMe" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/sign/electricshock, /turf/closed/wall/r_wall, /area/security/checkpoint/engineering) -"bHV" = ( +"bMf" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -40633,7 +44285,7 @@ dir = 8 }, /area/hallway/primary/port) -"bHW" = ( +"bMg" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/ai_status_display{ pixel_x = -32 @@ -40642,7 +44294,7 @@ dir = 5 }, /area/storage/tech) -"bHX" = ( +"bMh" = ( /obj/structure/rack, /obj/item/circuitboard/machine/teleporter_hub{ pixel_x = -3; @@ -40657,7 +44309,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/tech) -"bHY" = ( +"bMi" = ( /obj/structure/rack, /obj/item/circuitboard/machine/telecomms/server{ pixel_x = -3; @@ -40675,7 +44327,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/tech) -"bHZ" = ( +"bMj" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/status_display{ pixel_x = 32 @@ -40684,7 +44336,7 @@ dir = 5 }, /area/storage/tech) -"bIa" = ( +"bMk" = ( /obj/structure/rack, /obj/item/book/manual/wiki/engineering_hacking{ pixel_x = -3; @@ -40701,11 +44353,11 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) -"bIb" = ( +"bMl" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/neutral, /area/storage/primary) -"bId" = ( +"bMm" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -40716,7 +44368,7 @@ }, /turf/open/floor/plating, /area/bridge/meeting_room/council) -"bIe" = ( +"bMn" = ( /obj/structure/table/wood, /obj/item/clothing/mask/cigarette/cigar/cohiba{ pixel_x = 3 @@ -40727,23 +44379,23 @@ /obj/item/clothing/mask/cigarette/cigar, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bIf" = ( +"bMo" = ( /turf/open/floor/plasteel/grimy, /area/bridge/meeting_room/council) -"bIg" = ( +"bMp" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/carpet, /area/bridge/meeting_room/council) -"bIh" = ( +"bMq" = ( /obj/structure/chair/comfy/black, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/carpet, /area/bridge/meeting_room/council) -"bIi" = ( +"bMr" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -40753,7 +44405,7 @@ }, /turf/open/floor/carpet, /area/bridge/meeting_room/council) -"bIj" = ( +"bMs" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -40764,7 +44416,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/carpet, /area/bridge/meeting_room/council) -"bIk" = ( +"bMt" = ( /obj/structure/table/wood, /obj/item/cigbutt/cigarbutt{ pixel_x = 7 @@ -40780,26 +44432,26 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/grimy, /area/bridge/meeting_room/council) -"bIl" = ( +"bMu" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bIm" = ( +"bMv" = ( /obj/structure/sign/nanotrasen{ pixel_x = 32; pixel_y = 32 }, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bIn" = ( +"bMw" = ( /obj/machinery/vending/coffee, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/bridge/meeting_room/council) -"bIo" = ( +"bMx" = ( /obj/structure/table/wood, /obj/machinery/light{ dir = 1 @@ -40809,7 +44461,7 @@ dir = 8 }, /area/tcommsat/computer) -"bIp" = ( +"bMy" = ( /obj/structure/table/wood, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -40819,7 +44471,7 @@ /obj/item/pen, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bIq" = ( +"bMz" = ( /obj/machinery/power/apc/highcap/ten_k{ dir = 1; name = "Telecomms Monitoring APC"; @@ -40835,7 +44487,7 @@ }, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bIr" = ( +"bMA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, @@ -40847,7 +44499,7 @@ }, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bIs" = ( +"bMB" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -40857,13 +44509,13 @@ }, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bIt" = ( +"bMC" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bIu" = ( +"bMD" = ( /obj/machinery/airalarm{ pixel_y = 22 }, @@ -40873,7 +44525,7 @@ }, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bIv" = ( +"bME" = ( /obj/structure/table/wood, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -40884,7 +44536,7 @@ }, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bIw" = ( +"bMF" = ( /obj/structure/table/wood, /obj/machinery/light{ dir = 1 @@ -40894,13 +44546,13 @@ dir = 8 }, /area/tcommsat/computer) -"bIx" = ( +"bMG" = ( /obj/machinery/vending/boozeomat, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/crew_quarters/heads/captain) -"bIy" = ( +"bMH" = ( /obj/structure/sign/nanotrasen{ pixel_x = -32; pixel_y = 32 @@ -40908,17 +44560,16 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bIz" = ( +"bMI" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bIA" = ( +"bMJ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -40926,50 +44577,56 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bIB" = ( +"bMK" = ( /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bIC" = ( +"bML" = ( /obj/structure/chair/comfy/brown{ dir = 4 }, /obj/effect/landmark/start/captain, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain) -"bID" = ( +"bMM" = ( /obj/structure/table/wood, /obj/item/storage/fancy/donut_box, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain) -"bIE" = ( +"bMN" = ( /obj/structure/chair/comfy/brown{ dir = 8 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain) -"bIF" = ( +"bMO" = ( /obj/machinery/airalarm{ dir = 8; pixel_x = 24 }, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bIG" = ( +"bMP" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/hallway/primary/central) +"bMQ" = ( /turf/closed/wall, /area/storage/tools) -"bIH" = ( +"bMR" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/yellow/side{ dir = 9 }, /area/storage/tools) -"bII" = ( +"bMS" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -40986,13 +44643,13 @@ dir = 1 }, /area/storage/tools) -"bIJ" = ( +"bMT" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel, /area/storage/tools) -"bIK" = ( +"bMU" = ( /obj/structure/closet/toolcloset, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/lootdrop/maintenance, @@ -41003,7 +44660,7 @@ dir = 4 }, /area/storage/tools) -"bIL" = ( +"bMV" = ( /obj/structure/closet/toolcloset, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/lootdrop/maintenance, @@ -41011,10 +44668,10 @@ dir = 5 }, /area/storage/tools) -"bIM" = ( +"bMW" = ( /turf/closed/wall, /area/security/detectives_office) -"bIN" = ( +"bMX" = ( /obj/machinery/light{ dir = 8 }, @@ -41030,19 +44687,20 @@ dir = 5 }, /area/security/detectives_office) -"bIO" = ( +"bMY" = ( +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/security/detectives_office) -"bIP" = ( +"bMZ" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) -"bIQ" = ( +"bNa" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -41054,7 +44712,7 @@ }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) -"bIR" = ( +"bNb" = ( /obj/structure/table/wood, /obj/item/clothing/mask/cigarette/cigar/cohiba{ pixel_x = 3 @@ -41070,15 +44728,17 @@ /obj/item/clothing/glasses/sunglasses, /turf/open/floor/carpet, /area/security/detectives_office) -"bIS" = ( +"bNc" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment, /turf/open/floor/carpet, /area/security/detectives_office) -"bIT" = ( -/obj/machinery/computer/med_data, +"bNd" = ( +/obj/machinery/computer/med_data{ + dir = 8 + }, /obj/machinery/requests_console{ department = "Detective's Office"; departmentType = 0; @@ -41090,13 +44750,13 @@ }, /turf/open/floor/carpet, /area/security/detectives_office) -"bIU" = ( +"bNe" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/security/detectives_office) -"bIV" = ( +"bNf" = ( /obj/structure/chair/office/dark, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -41105,7 +44765,7 @@ dir = 5 }, /area/security/detectives_office) -"bIW" = ( +"bNg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, @@ -41116,7 +44776,7 @@ dir = 5 }, /area/security/detectives_office) -"bIX" = ( +"bNh" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/machinery/airalarm{ @@ -41127,7 +44787,7 @@ dir = 1 }, /area/hallway/primary/starboard) -"bIY" = ( +"bNi" = ( /obj/machinery/light{ dir = 4 }, @@ -41136,10 +44796,10 @@ dir = 4 }, /area/hallway/primary/starboard) -"bIZ" = ( +"bNj" = ( /turf/closed/wall, /area/security/brig) -"bJa" = ( +"bNk" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/door_timer{ id = "brig1"; @@ -41159,14 +44819,14 @@ dir = 8 }, /area/security/brig) -"bJb" = ( +"bNl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/red/side{ dir = 4 }, /area/security/brig) -"bJc" = ( +"bNm" = ( /obj/machinery/computer/crew, /obj/machinery/requests_console{ department = "Security"; @@ -41182,7 +44842,7 @@ dir = 9 }, /area/security/warden) -"bJd" = ( +"bNn" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -41193,7 +44853,7 @@ dir = 1 }, /area/security/warden) -"bJe" = ( +"bNo" = ( /obj/structure/rack, /obj/item/storage/box/handcuffs, /obj/item/storage/box/flashbangs{ @@ -41212,13 +44872,13 @@ dir = 5 }, /area/security/warden) -"bJf" = ( +"bNp" = ( /obj/machinery/flasher/portable, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ai_monitored/security/armory) -"bJg" = ( +"bNq" = ( /obj/item/grenade/barrier{ pixel_x = -3; pixel_y = 1 @@ -41241,7 +44901,7 @@ dir = 8 }, /area/ai_monitored/security/armory) -"bJh" = ( +"bNr" = ( /obj/item/storage/box/chemimp{ pixel_x = 6 }, @@ -41257,7 +44917,7 @@ dir = 8 }, /area/ai_monitored/security/armory) -"bJi" = ( +"bNs" = ( /obj/item/storage/box/firingpins, /obj/item/storage/box/firingpins, /obj/item/key/security, @@ -41266,7 +44926,7 @@ dir = 8 }, /area/ai_monitored/security/armory) -"bJj" = ( +"bNt" = ( /obj/item/storage/box/teargas{ pixel_x = 3; pixel_y = 3 @@ -41281,7 +44941,7 @@ dir = 8 }, /area/ai_monitored/security/armory) -"bJk" = ( +"bNu" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -41291,7 +44951,7 @@ }, /turf/open/space, /area/space) -"bJl" = ( +"bNv" = ( /obj/machinery/light, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -41300,7 +44960,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"bJm" = ( +"bNw" = ( /obj/machinery/firealarm{ dir = 1; pixel_y = -26 @@ -41312,7 +44972,7 @@ dir = 6 }, /area/ai_monitored/turret_protected/ai) -"bJn" = ( +"bNx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, @@ -41324,22 +44984,22 @@ }, /turf/open/floor/plasteel/vault, /area/ai_monitored/turret_protected/ai) -"bJo" = ( +"bNy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/vault, /area/ai_monitored/turret_protected/ai) -"bJp" = ( +"bNz" = ( /turf/open/floor/plasteel/vault{ dir = 10 }, /area/ai_monitored/turret_protected/ai) -"bJq" = ( +"bNA" = ( /obj/machinery/light, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/ai_monitored/turret_protected/ai) -"bJr" = ( +"bNB" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -41349,7 +45009,7 @@ }, /turf/open/space, /area/space) -"bJs" = ( +"bNC" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -41360,7 +45020,7 @@ dir = 5 }, /area/aisat) -"bJt" = ( +"bND" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -41371,7 +45031,7 @@ dir = 5 }, /area/aisat) -"bJu" = ( +"bNE" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -41386,7 +45046,7 @@ dir = 8 }, /area/aisat) -"bJv" = ( +"bNF" = ( /obj/structure/lattice/catwalk, /obj/structure/cable/white{ icon_state = "4-8" @@ -41396,7 +45056,7 @@ }, /turf/open/space, /area/space) -"bJw" = ( +"bNG" = ( /obj/structure/lattice/catwalk, /obj/structure/cable/white{ icon_state = "2-8" @@ -41406,7 +45066,7 @@ }, /turf/open/space, /area/space) -"bJx" = ( +"bNH" = ( /obj/structure/lattice/catwalk, /obj/structure/cable/white{ icon_state = "2-4" @@ -41416,7 +45076,7 @@ }, /turf/open/space, /area/space) -"bJy" = ( +"bNI" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -41432,7 +45092,7 @@ dir = 8 }, /area/engine/transit_tube) -"bJz" = ( +"bNJ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -41443,7 +45103,23 @@ dir = 5 }, /area/engine/transit_tube) -"bJA" = ( +"bNK" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/hatch{ + cyclelinkeddir = 8; + name = "MiniSat Exterior Access"; + req_one_access_txt = "32;19" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/engine/transit_tube) +"bNL" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -41452,7 +45128,7 @@ dir = 5 }, /area/engine/transit_tube) -"bJB" = ( +"bNM" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -41463,7 +45139,7 @@ dir = 5 }, /area/engine/transit_tube) -"bJC" = ( +"bNN" = ( /obj/machinery/light/small{ dir = 4 }, @@ -41472,8 +45148,10 @@ dir = 5 }, /area/engine/transit_tube) -"bJD" = ( -/obj/machinery/computer/card/minor/ce, +"bNO" = ( +/obj/machinery/computer/card/minor/ce{ + dir = 4 + }, /obj/machinery/status_display{ pixel_x = -32 }, @@ -41481,7 +45159,7 @@ dir = 5 }, /area/crew_quarters/heads/chief) -"bJE" = ( +"bNP" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, @@ -41489,25 +45167,25 @@ dir = 4 }, /area/crew_quarters/heads/chief) -"bJF" = ( +"bNQ" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/pen, /turf/open/floor/plasteel/neutral, /area/crew_quarters/heads/chief) -"bJG" = ( +"bNR" = ( /obj/structure/table/reinforced, /obj/item/device/flashlight/lamp, /turf/open/floor/plasteel/neutral, /area/crew_quarters/heads/chief) -"bJH" = ( +"bNS" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 8; heat_capacity = 1e+006 }, /area/crew_quarters/heads/chief) -"bJI" = ( +"bNT" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -41516,12 +45194,12 @@ dir = 5 }, /area/crew_quarters/heads/chief) -"bJJ" = ( +"bNU" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/crew_quarters/heads/chief) -"bJK" = ( +"bNV" = ( /obj/machinery/door/poddoor/preopen{ id = "ceblast"; name = "Chief's Lockdown Shutters" @@ -41534,7 +45212,7 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bJL" = ( +"bNW" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_y = -26 @@ -41543,7 +45221,7 @@ dir = 10 }, /area/engine/break_room) -"bJM" = ( +"bNX" = ( /obj/structure/rack, /obj/item/book/manual/wiki/engineering_hacking{ pixel_x = -3; @@ -41556,14 +45234,14 @@ }, /turf/open/floor/plasteel/yellow/side, /area/engine/break_room) -"bJN" = ( +"bNY" = ( /obj/structure/table/reinforced, /obj/item/stock_parts/cell/high, /obj/item/stock_parts/cell/high, /obj/machinery/cell_charger, /turf/open/floor/plasteel/yellow/side, /area/engine/break_room) -"bJO" = ( +"bNZ" = ( /obj/machinery/light, /obj/machinery/light_switch{ pixel_y = -26 @@ -41573,41 +45251,41 @@ /obj/item/pen, /turf/open/floor/plasteel/yellow/side, /area/engine/break_room) -"bJP" = ( +"bOa" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/yellow/side, /area/engine/break_room) -"bJQ" = ( +"bOb" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/yellow/side, /area/engine/break_room) -"bJR" = ( +"bOc" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/yellow/side, /area/engine/break_room) -"bJS" = ( +"bOd" = ( /obj/machinery/status_display{ pixel_y = -32 }, /turf/open/floor/plasteel/yellow/side, /area/engine/break_room) -"bJT" = ( +"bOe" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/yellow/side{ dir = 6 }, /area/engine/break_room) -"bJU" = ( +"bOf" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/engineering) -"bJV" = ( +"bOg" = ( /obj/structure/chair{ dir = 4 }, @@ -41615,12 +45293,12 @@ dir = 9 }, /area/security/checkpoint/engineering) -"bJW" = ( +"bOh" = ( /turf/open/floor/plasteel/red/side{ dir = 1 }, /area/security/checkpoint/engineering) -"bJX" = ( +"bOi" = ( /obj/machinery/light/small{ dir = 4 }, @@ -41632,11 +45310,18 @@ dir = 5 }, /area/security/checkpoint/engineering) -"bJY" = ( +"bOj" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall/r_wall, /area/security/checkpoint/engineering) -"bJZ" = ( +"bOk" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/hallway/primary/port) +"bOl" = ( /obj/structure/table/reinforced, /obj/item/clothing/gloves/color/yellow, /obj/item/storage/toolbox/electrical, @@ -41651,11 +45336,11 @@ dir = 5 }, /area/storage/tech) -"bKa" = ( +"bOm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/storage/tech) -"bKb" = ( +"bOn" = ( /obj/structure/table/reinforced, /obj/item/electronics/firelock, /obj/item/electronics/firelock, @@ -41668,7 +45353,7 @@ dir = 5 }, /area/storage/tech) -"bKc" = ( +"bOo" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -41679,7 +45364,7 @@ dir = 4 }, /area/maintenance/port/fore) -"bKd" = ( +"bOp" = ( /obj/structure/table/reinforced, /obj/item/stack/sheet/metal{ amount = 30 @@ -41694,32 +45379,32 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) -"bKe" = ( +"bOq" = ( /turf/open/floor/plasteel/yellow/side{ dir = 10 }, /area/storage/primary) -"bKf" = ( +"bOr" = ( /turf/open/floor/plasteel/yellow/side, /area/storage/primary) -"bKg" = ( +"bOs" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/yellow/corner{ dir = 8 }, /area/storage/primary) -"bKh" = ( +"bOt" = ( /turf/open/floor/plasteel/yellow/side{ dir = 6 }, /area/storage/primary) -"bKi" = ( +"bOu" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/electrical, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) -"bKj" = ( +"bOv" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-2" @@ -41734,21 +45419,21 @@ }, /turf/open/floor/plating, /area/bridge/meeting_room/council) -"bKk" = ( +"bOw" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/photocopier, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bKl" = ( +"bOx" = ( /obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/grimy, /area/bridge/meeting_room/council) -"bKm" = ( +"bOy" = ( /obj/structure/chair/comfy/brown{ color = "#c45c57"; dir = 4; @@ -41759,7 +45444,7 @@ }, /turf/open/floor/carpet, /area/bridge/meeting_room/council) -"bKn" = ( +"bOz" = ( /obj/structure/table/wood, /obj/structure/cable/white{ icon_state = "4-8" @@ -41768,7 +45453,7 @@ /obj/item/pen, /turf/open/floor/carpet, /area/bridge/meeting_room/council) -"bKo" = ( +"bOA" = ( /obj/structure/table/wood, /obj/structure/cable/white{ icon_state = "4-8" @@ -41780,7 +45465,7 @@ /obj/item/lighter, /turf/open/floor/carpet, /area/bridge/meeting_room/council) -"bKp" = ( +"bOB" = ( /obj/structure/table/wood, /obj/structure/cable/white{ icon_state = "1-2" @@ -41792,7 +45477,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/carpet, /area/bridge/meeting_room/council) -"bKq" = ( +"bOC" = ( /obj/structure/table/wood, /obj/item/storage/fancy/donut_box, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -41800,20 +45485,20 @@ }, /turf/open/floor/plasteel/grimy, /area/bridge/meeting_room/council) -"bKr" = ( +"bOD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bKs" = ( +"bOE" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bKt" = ( +"bOF" = ( /obj/machinery/vending/cigarette, /obj/machinery/light{ dir = 4 @@ -41822,7 +45507,7 @@ dir = 8 }, /area/bridge/meeting_room/council) -"bKu" = ( +"bOG" = ( /obj/machinery/announcement_system, /obj/machinery/ai_status_display{ pixel_x = -32 @@ -41831,13 +45516,13 @@ dir = 8 }, /area/tcommsat/computer) -"bKv" = ( +"bOH" = ( /obj/structure/chair/office/dark{ dir = 1 }, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bKw" = ( +"bOI" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -41846,7 +45531,7 @@ }, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bKx" = ( +"bOJ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -41855,7 +45540,7 @@ }, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bKy" = ( +"bOK" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -41865,26 +45550,28 @@ }, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bKz" = ( +"bOL" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bKA" = ( +"bOM" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bKB" = ( +"bON" = ( /obj/structure/chair/office/dark{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bKC" = ( -/obj/machinery/computer/telecomms/monitor, +"bOO" = ( +/obj/machinery/computer/telecomms/monitor{ + dir = 8 + }, /obj/machinery/status_display{ pixel_x = 32 }, @@ -41892,17 +45579,17 @@ dir = 8 }, /area/tcommsat/computer) -"bKD" = ( +"bOP" = ( /obj/machinery/vending/cigarette, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/crew_quarters/heads/captain) -"bKE" = ( +"bOQ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bKF" = ( +"bOR" = ( /obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "1-4" @@ -41914,21 +45601,21 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bKG" = ( +"bOS" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/effect/landmark/event_spawn, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bKH" = ( +"bOT" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bKI" = ( +"bOU" = ( /obj/structure/chair/comfy/brown{ dir = 4 }, @@ -41937,7 +45624,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain) -"bKJ" = ( +"bOV" = ( /obj/structure/table/wood, /obj/item/clothing/mask/cigarette/cigar/cohiba{ pixel_x = 3 @@ -41951,7 +45638,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain) -"bKK" = ( +"bOW" = ( /obj/machinery/light{ dir = 4 }, @@ -41960,7 +45647,7 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bKL" = ( +"bOX" = ( /obj/structure/rack, /obj/item/clothing/gloves/color/fyellow, /obj/item/clothing/suit/hazardvest, @@ -41975,7 +45662,7 @@ dir = 8 }, /area/storage/tools) -"bKM" = ( +"bOY" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -41984,17 +45671,17 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/storage/tools) -"bKN" = ( +"bOZ" = ( /obj/structure/cable/white{ icon_state = "1-8" }, /turf/open/floor/plasteel/neutral, /area/storage/tools) -"bKO" = ( +"bPa" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/neutral, /area/storage/tools) -"bKP" = ( +"bPb" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_x = 26 @@ -42009,7 +45696,7 @@ dir = 4 }, /area/storage/tools) -"bKQ" = ( +"bPc" = ( /obj/structure/table, /obj/item/storage/box/bodybags, /obj/item/clothing/gloves/color/latex, @@ -42017,13 +45704,18 @@ dir = 8 }, /area/security/detectives_office) -"bKR" = ( +"bPd" = ( /obj/machinery/door/window/eastright{ name = "Detective's Morgue" }, /turf/open/floor/plasteel/black, /area/security/detectives_office) -"bKS" = ( +"bPe" = ( +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/security/detectives_office) +"bPf" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, @@ -42031,13 +45723,13 @@ dir = 5 }, /area/security/detectives_office) -"bKT" = ( +"bPg" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) -"bKU" = ( +"bPh" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -42046,14 +45738,14 @@ }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) -"bKV" = ( +"bPi" = ( /obj/structure/table/wood, /obj/item/folder/red, /obj/item/hand_labeler, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/carpet, /area/security/detectives_office) -"bKW" = ( +"bPj" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -42061,8 +45753,10 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/carpet, /area/security/detectives_office) -"bKX" = ( -/obj/machinery/computer/secure_data, +"bPk" = ( +/obj/machinery/computer/secure_data{ + dir = 8 + }, /obj/machinery/light{ dir = 4 }, @@ -42071,7 +45765,7 @@ }, /turf/open/floor/carpet, /area/security/detectives_office) -"bKY" = ( +"bPl" = ( /obj/structure/table/wood, /obj/item/clipboard, /obj/item/folder/red, @@ -42080,7 +45774,7 @@ dir = 8 }, /area/security/detectives_office) -"bKZ" = ( +"bPm" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/detective, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -42088,11 +45782,11 @@ dir = 5 }, /area/security/detectives_office) -"bLa" = ( +"bPn" = ( /obj/effect/landmark/lightsout, /turf/open/floor/plasteel/neutral, /area/hallway/primary/starboard) -"bLb" = ( +"bPo" = ( /obj/structure/closet/secure_closet/brig{ id = "brig2"; name = "Cell 2 Locker" @@ -42104,7 +45798,7 @@ dir = 9 }, /area/security/brig) -"bLc" = ( +"bPp" = ( /obj/machinery/flasher{ id = "brig2"; pixel_y = 26 @@ -42117,7 +45811,7 @@ dir = 5 }, /area/security/brig) -"bLd" = ( +"bPq" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -42125,7 +45819,7 @@ dir = 1 }, /area/security/brig) -"bLe" = ( +"bPr" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -42134,7 +45828,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/security/brig) -"bLf" = ( +"bPs" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/machinery/door/window/brigdoor/northright{ @@ -42150,7 +45844,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/security/warden) -"bLg" = ( +"bPt" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -42159,7 +45853,7 @@ dir = 8 }, /area/security/warden) -"bLh" = ( +"bPu" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -42169,8 +45863,10 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/neutral, /area/security/warden) -"bLi" = ( -/obj/machinery/computer/secure_data, +"bPv" = ( +/obj/machinery/computer/secure_data{ + dir = 8 + }, /obj/structure/cable/white{ icon_state = "4-8" }, @@ -42178,33 +45874,33 @@ dir = 6 }, /area/security/warden) -"bLj" = ( +"bPw" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/ai_monitored/security/armory) -"bLk" = ( +"bPx" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bLl" = ( +"bPy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bLm" = ( +"bPz" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bLn" = ( +"bPA" = ( /obj/structure/closet/secure_closet/contraband/armory, /obj/machinery/light{ dir = 4 @@ -42213,7 +45909,7 @@ dir = 8 }, /area/ai_monitored/security/armory) -"bLo" = ( +"bPB" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -42232,18 +45928,18 @@ dir = 5 }, /area/aisat) -"bLp" = ( +"bPC" = ( /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/aisat_interior) -"bLq" = ( +"bPD" = ( /obj/machinery/ai_status_display, /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/aisat_interior) -"bLr" = ( +"bPE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/aisat_interior) -"bLs" = ( +"bPF" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/highsecurity{ locked = 1; @@ -42269,19 +45965,19 @@ dir = 8 }, /area/ai_monitored/turret_protected/aisat_interior) -"bLt" = ( +"bPG" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/aisat_interior) -"bLu" = ( +"bPH" = ( /obj/structure/sign/kiddieplaque, /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/aisat_interior) -"bLv" = ( +"bPI" = ( /obj/machinery/status_display, /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/aisat_interior) -"bLw" = ( +"bPJ" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -42300,7 +45996,7 @@ dir = 5 }, /area/aisat) -"bLx" = ( +"bPK" = ( /obj/structure/lattice/catwalk, /obj/structure/cable/white{ icon_state = "1-2" @@ -42308,7 +46004,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/space, /area/space) -"bLy" = ( +"bPL" = ( /obj/machinery/light/small, /obj/structure/sign/vacuum{ pixel_x = -32 @@ -42317,10 +46013,10 @@ dir = 8 }, /area/engine/transit_tube) -"bLz" = ( +"bPM" = ( /turf/closed/wall, /area/engine/transit_tube) -"bLA" = ( +"bPN" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/airalarm{ dir = 4; @@ -42335,19 +46031,23 @@ dir = 8 }, /area/engine/transit_tube) -"bLB" = ( +"bPO" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/engine/transit_tube) -"bLC" = ( +"bPP" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/light_switch{ + pixel_x = 22; + pixel_y = -10 + }, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/engine/transit_tube) -"bLD" = ( +"bPQ" = ( /obj/machinery/requests_console{ announcementConsole = 1; department = "Chief Engineer's Desk"; @@ -42360,24 +46060,26 @@ dir = 4; name = "engineering camera" }, -/obj/machinery/computer/apc_control, +/obj/machinery/computer/apc_control{ + dir = 4 + }, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/heads/chief) -"bLE" = ( +"bPR" = ( /turf/open/floor/plasteel/neutral/side{ dir = 4 }, /area/crew_quarters/heads/chief) -"bLF" = ( +"bPS" = ( /obj/structure/chair/office/light{ dir = 4 }, /obj/effect/landmark/start/chief_engineer, /turf/open/floor/plasteel/neutral, /area/crew_quarters/heads/chief) -"bLG" = ( +"bPT" = ( /obj/structure/table/reinforced, /obj/structure/cable/white{ icon_state = "2-4" @@ -42390,7 +46092,7 @@ /obj/item/lighter, /turf/open/floor/plasteel/neutral, /area/crew_quarters/heads/chief) -"bLH" = ( +"bPU" = ( /obj/structure/chair/office/light{ dir = 8 }, @@ -42403,7 +46105,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/heads/chief) -"bLI" = ( +"bPV" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -42418,20 +46120,20 @@ dir = 5 }, /area/crew_quarters/heads/chief) -"bLJ" = ( +"bPW" = ( /obj/structure/sign/electricshock, /turf/closed/wall/r_wall, /area/crew_quarters/heads/chief) -"bLK" = ( +"bPX" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall/r_wall, /area/crew_quarters/heads/chief) -"bLL" = ( +"bPY" = ( /obj/structure/sign/nosmoking_2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/engine/break_room) -"bLM" = ( +"bPZ" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -42449,17 +46151,17 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) -"bLN" = ( +"bQa" = ( /obj/structure/sign/securearea, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall, /area/engine/break_room) -"bLO" = ( +"bQb" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/break_room) -"bLP" = ( +"bQc" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -42467,7 +46169,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/engineering) -"bLQ" = ( +"bQd" = ( /obj/structure/chair{ dir = 4 }, @@ -42475,18 +46177,18 @@ dir = 10 }, /area/security/checkpoint/engineering) -"bLR" = ( +"bQe" = ( /turf/open/floor/plasteel/red/side, /area/security/checkpoint/engineering) -"bLS" = ( +"bQf" = ( /turf/open/floor/plasteel/red/side{ dir = 6 }, /area/security/checkpoint/engineering) -"bLT" = ( +"bQg" = ( /turf/closed/wall/r_wall, /area/security/checkpoint/engineering) -"bLU" = ( +"bQh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/firealarm{ dir = 8; @@ -42496,7 +46198,7 @@ dir = 8 }, /area/hallway/primary/port) -"bLV" = ( +"bQi" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, @@ -42505,7 +46207,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/port) -"bLW" = ( +"bQj" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -42513,7 +46215,7 @@ dir = 4 }, /area/hallway/primary/port) -"bLX" = ( +"bQk" = ( /obj/structure/table/reinforced, /obj/item/book/manual/wiki/engineering_hacking{ pixel_y = 3 @@ -42522,7 +46224,7 @@ dir = 5 }, /area/storage/tech) -"bLY" = ( +"bQl" = ( /obj/structure/table/reinforced, /obj/item/device/assembly/timer, /obj/item/device/assembly/timer, @@ -42531,7 +46233,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/tech) -"bLZ" = ( +"bQm" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/firealarm{ dir = 1; @@ -42541,7 +46243,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/storage/tech) -"bMa" = ( +"bQn" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light_switch{ pixel_y = -26 @@ -42549,7 +46251,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/storage/tech) -"bMb" = ( +"bQo" = ( /obj/structure/table/reinforced, /obj/item/wrench, /obj/item/crowbar, @@ -42560,7 +46262,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/tech) -"bMc" = ( +"bQp" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/mechanical, /obj/item/device/flashlight, @@ -42569,7 +46271,7 @@ dir = 5 }, /area/storage/tech) -"bMd" = ( +"bQq" = ( /obj/structure/table/reinforced, /obj/item/device/assembly/timer, /obj/item/device/assembly/timer, @@ -42579,17 +46281,17 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) -"bMe" = ( +"bQr" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/storage/primary) -"bMf" = ( +"bQs" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/storage/primary) -"bMg" = ( +"bQt" = ( /obj/structure/table/reinforced, /obj/item/stock_parts/cell/high, /obj/item/stock_parts/cell/high, @@ -42597,7 +46299,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) -"bMh" = ( +"bQu" = ( /obj/structure/table/reinforced, /obj/item/device/radio{ pixel_x = 5; @@ -42621,10 +46323,10 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/primary) -"bMi" = ( +"bQv" = ( /turf/closed/wall, /area/storage/primary) -"bMj" = ( +"bQw" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/light{ dir = 8 @@ -42638,7 +46340,7 @@ dir = 1 }, /area/hallway/primary/central) -"bMk" = ( +"bQx" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -42647,30 +46349,30 @@ }, /turf/open/floor/plating, /area/bridge/meeting_room/council) -"bMl" = ( +"bQy" = ( /obj/structure/table/wood, /obj/item/folder/red, /obj/item/book/manual/wiki/security_space_law, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bMm" = ( +"bQz" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/carpet, /area/bridge/meeting_room/council) -"bMn" = ( +"bQA" = ( /obj/structure/chair/comfy/brown{ buildstackamount = 0; dir = 1 }, /turf/open/floor/carpet, /area/bridge/meeting_room/council) -"bMo" = ( +"bQB" = ( /obj/structure/chair/comfy/black{ dir = 1 }, /turf/open/floor/carpet, /area/bridge/meeting_room/council) -"bMp" = ( +"bQC" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -42680,13 +46382,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/carpet, /area/bridge/meeting_room/council) -"bMq" = ( +"bQD" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/grimy, /area/bridge/meeting_room/council) -"bMr" = ( +"bQE" = ( /obj/machinery/newscaster{ pixel_x = 32; pixel_y = -32 @@ -42694,17 +46396,19 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bMs" = ( +"bQF" = ( /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bMt" = ( +"bQG" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/bridge/meeting_room/council) -"bMu" = ( -/obj/machinery/computer/message_monitor, +"bQH" = ( +/obj/machinery/computer/message_monitor{ + dir = 4 + }, /obj/machinery/newscaster{ pixel_x = -32 }, @@ -42713,31 +46417,37 @@ dir = 8 }, /area/tcommsat/computer) -"bMv" = ( +"bQI" = ( /obj/structure/chair/office/dark{ dir = 8 }, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bMw" = ( +"bQJ" = ( /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bMx" = ( +"bQK" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bMy" = ( +"bQL" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bMA" = ( +"bQM" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/grimy, +/area/tcommsat/computer) +"bQN" = ( /obj/structure/chair/office/dark, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bMB" = ( -/obj/machinery/computer/telecomms/server, +"bQO" = ( +/obj/machinery/computer/telecomms/server{ + dir = 8 + }, /obj/machinery/newscaster{ pixel_x = 32 }, @@ -42745,14 +46455,14 @@ dir = 8 }, /area/tcommsat/computer) -"bMC" = ( +"bQP" = ( /obj/structure/bed/dogbed/renault, /mob/living/simple_animal/pet/fox/Renault, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/crew_quarters/heads/captain) -"bMD" = ( +"bQQ" = ( /obj/machinery/newscaster{ pixel_x = -32; pixel_y = -32 @@ -42765,13 +46475,13 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bME" = ( +"bQR" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bMF" = ( +"bQS" = ( /obj/structure/chair/comfy/brown, /obj/structure/cable/white{ icon_state = "1-2" @@ -42783,19 +46493,19 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bMG" = ( +"bQT" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bMH" = ( +"bQU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bMI" = ( +"bQV" = ( /obj/machinery/power/apc/highcap/ten_k{ dir = 2; name = "Captain's Office APC"; @@ -42805,13 +46515,13 @@ /obj/structure/cable/white, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bMJ" = ( +"bQW" = ( /obj/structure/sign/goldenplaque/captain{ pixel_x = 32 }, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bMK" = ( +"bQX" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/light{ dir = 4 @@ -42821,7 +46531,7 @@ dir = 4 }, /area/hallway/primary/central) -"bML" = ( +"bQY" = ( /obj/structure/rack, /obj/item/storage/toolbox/emergency{ pixel_x = -3; @@ -42837,14 +46547,10 @@ dir = 10 }, /area/storage/tools) -"bMM" = ( +"bQZ" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/rods/fifty, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, @@ -42852,18 +46558,18 @@ dir = 8 }, /area/storage/tools) -"bMN" = ( +"bRa" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, /area/storage/tools) -"bMO" = ( +"bRb" = ( /obj/structure/table, /obj/item/stack/sheet/glass/fifty, /obj/item/storage/box/lights/mixed, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/yellow/corner, /area/storage/tools) -"bMP" = ( +"bRc" = ( /obj/structure/table, /obj/item/stack/packageWrap, /obj/item/hand_labeler, @@ -42872,7 +46578,7 @@ dir = 6 }, /area/storage/tools) -"bMQ" = ( +"bRd" = ( /obj/structure/bodycontainer/morgue, /obj/machinery/light/small{ dir = 8 @@ -42882,13 +46588,13 @@ dir = 8 }, /area/security/detectives_office) -"bMR" = ( +"bRe" = ( /obj/structure/window/reinforced{ dir = 4 }, /turf/open/floor/plasteel/black, /area/security/detectives_office) -"bMS" = ( +"bRf" = ( /obj/machinery/firealarm{ dir = 1; pixel_y = -26 @@ -42898,7 +46604,7 @@ dir = 5 }, /area/security/detectives_office) -"bMT" = ( +"bRg" = ( /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -42910,14 +46616,14 @@ dir = 5 }, /area/security/detectives_office) -"bMU" = ( +"bRh" = ( /obj/structure/cable/white{ icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) -"bMV" = ( +"bRi" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -42935,7 +46641,7 @@ }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) -"bMW" = ( +"bRj" = ( /obj/structure/table/wood, /obj/structure/cable/white{ icon_state = "2-8" @@ -42945,7 +46651,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/carpet, /area/security/detectives_office) -"bMX" = ( +"bRk" = ( /obj/structure/table/wood, /obj/machinery/button/door{ id = "detectivewindows"; @@ -42963,7 +46669,7 @@ /obj/item/reagent_containers/food/drinks/flask/det, /turf/open/floor/carpet, /area/security/detectives_office) -"bMY" = ( +"bRl" = ( /obj/structure/table/wood, /obj/item/storage/secure/safe{ pixel_x = 32 @@ -42971,7 +46677,7 @@ /obj/machinery/computer/security/wooden_tv, /turf/open/floor/carpet, /area/security/detectives_office) -"bMZ" = ( +"bRm" = ( /obj/structure/chair/office/dark{ dir = 1 }, @@ -42979,7 +46685,7 @@ dir = 5 }, /area/security/detectives_office) -"bNa" = ( +"bRn" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 @@ -42988,7 +46694,12 @@ dir = 5 }, /area/security/detectives_office) -"bNb" = ( +"bRo" = ( +/turf/open/floor/plasteel/red/side{ + dir = 8 + }, +/area/security/brig) +"bRp" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -43003,7 +46714,7 @@ dir = 8 }, /area/security/brig) -"bNc" = ( +"bRq" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/pen, @@ -43014,7 +46725,7 @@ dir = 8 }, /area/security/warden) -"bNd" = ( +"bRr" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -43027,20 +46738,22 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/security/warden) -"bNe" = ( -/obj/machinery/computer/security, +"bRs" = ( +/obj/machinery/computer/security{ + dir = 8 + }, /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/red, /area/security/warden) -"bNf" = ( +"bRt" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bNg" = ( +"bRu" = ( /obj/structure/rack, /obj/item/gun/ballistic/shotgun/riot{ pixel_x = -3; @@ -43058,13 +46771,13 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bNh" = ( +"bRv" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bNi" = ( +"bRw" = ( /obj/structure/rack, /obj/item/clothing/suit/armor/vest{ pixel_x = -3; @@ -43092,7 +46805,7 @@ dir = 8 }, /area/ai_monitored/security/armory) -"bNj" = ( +"bRx" = ( /obj/structure/lattice, /obj/structure/window/reinforced, /obj/structure/window/reinforced{ @@ -43100,7 +46813,7 @@ }, /turf/open/space, /area/space) -"bNk" = ( +"bRy" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/machinery/portable_atmospherics/canister/air, /obj/effect/turf_decal/stripes/corner{ @@ -43108,7 +46821,7 @@ }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) -"bNl" = ( +"bRz" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/structure/cable/white{ icon_state = "2-4" @@ -43122,7 +46835,7 @@ }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) -"bNm" = ( +"bRA" = ( /obj/machinery/power/smes{ charge = 5e+006 }, @@ -43140,7 +46853,7 @@ }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) -"bNn" = ( +"bRB" = ( /obj/machinery/power/port_gen/pacman, /obj/structure/cable/yellow{ icon_state = "0-2" @@ -43153,7 +46866,7 @@ }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) -"bNo" = ( +"bRC" = ( /obj/machinery/cell_charger, /obj/structure/table/reinforced, /obj/item/stock_parts/cell/high, @@ -43162,21 +46875,21 @@ }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) -"bNp" = ( +"bRD" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/aisat_interior) -"bNq" = ( +"bRE" = ( /obj/machinery/porta_turret/ai, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ai_monitored/turret_protected/aisat_interior) -"bNr" = ( +"bRF" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/vault, /area/ai_monitored/turret_protected/aisat_interior) -"bNs" = ( +"bRG" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/camera{ c_tag = "AI Satellite - Antechamber"; @@ -43187,22 +46900,22 @@ }, /turf/open/floor/plasteel/vault, /area/ai_monitored/turret_protected/aisat_interior) -"bNt" = ( +"bRH" = ( /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ai_monitored/turret_protected/aisat_interior) -"bNu" = ( +"bRI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/vault, /area/ai_monitored/turret_protected/aisat_interior) -"bNw" = ( +"bRJ" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ai_monitored/turret_protected/aisat_interior) -"bNx" = ( +"bRK" = ( /obj/machinery/teleport/hub, /obj/machinery/airalarm{ pixel_y = 23 @@ -43212,7 +46925,7 @@ }, /turf/open/floor/plasteel/black, /area/ai_monitored/turret_protected/aisat_interior) -"bNy" = ( +"bRL" = ( /obj/machinery/teleport/station, /obj/machinery/light{ dir = 1 @@ -43223,14 +46936,14 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel/black, /area/ai_monitored/turret_protected/aisat_interior) -"bNz" = ( +"bRM" = ( /obj/machinery/computer/teleporter, /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/plasteel/black, /area/ai_monitored/turret_protected/aisat_interior) -"bNA" = ( +"bRN" = ( /obj/structure/lattice, /obj/structure/window/reinforced, /obj/structure/window/reinforced{ @@ -43238,16 +46951,16 @@ }, /turf/open/space, /area/space) -"bNB" = ( +"bRO" = ( /obj/structure/lattice, /obj/structure/window/reinforced, /turf/open/space, /area/space) -"bNC" = ( +"bRP" = ( /obj/structure/sign/vacuum, /turf/closed/wall, /area/space) -"bND" = ( +"bRQ" = ( /obj/structure/lattice, /obj/structure/transit_tube/curved/flipped{ icon_state = "curved1"; @@ -43255,12 +46968,12 @@ }, /turf/open/space, /area/space) -"bNE" = ( +"bRR" = ( /obj/structure/lattice, /obj/structure/transit_tube/crossing/horizontal, /turf/open/space, /area/space) -"bNF" = ( +"bRS" = ( /obj/structure/lattice, /obj/structure/transit_tube/curved{ icon_state = "curved0"; @@ -43268,7 +46981,7 @@ }, /turf/open/space, /area/space) -"bNG" = ( +"bRT" = ( /obj/structure/lattice/catwalk, /obj/structure/cable/white{ icon_state = "1-4" @@ -43278,7 +46991,7 @@ }, /turf/open/space, /area/space) -"bNH" = ( +"bRU" = ( /obj/structure/lattice/catwalk, /obj/structure/cable/white{ icon_state = "1-8" @@ -43288,11 +47001,11 @@ }, /turf/open/space, /area/space) -"bNI" = ( +"bRV" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/engine/transit_tube) -"bNJ" = ( +"bRW" = ( /obj/machinery/door/airlock/hatch{ name = "MiniSat Transit Tube Access"; req_one_access_txt = "32;19" @@ -43301,12 +47014,12 @@ dir = 8 }, /area/engine/transit_tube) -"bNK" = ( +"bRX" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/engine/transit_tube) -"bNL" = ( +"bRY" = ( /obj/machinery/keycard_auth{ pixel_x = -26 }, @@ -43324,17 +47037,19 @@ pixel_y = -8; req_access_txt = "39; 19" }, -/obj/machinery/modular_computer/console/preset/engineering, +/obj/machinery/modular_computer/console/preset/engineering{ + dir = 4 + }, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/heads/chief) -"bNM" = ( +"bRZ" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/heads/chief) -"bNN" = ( +"bSa" = ( /obj/structure/table/reinforced, /obj/structure/cable/white{ icon_state = "1-2" @@ -43343,7 +47058,7 @@ /obj/item/toy/figure/ce, /turf/open/floor/plasteel/neutral, /area/crew_quarters/heads/chief) -"bNO" = ( +"bSb" = ( /obj/structure/chair/office/light{ dir = 8 }, @@ -43353,14 +47068,14 @@ heat_capacity = 1e+006 }, /area/crew_quarters/heads/chief) -"bNP" = ( +"bSc" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/crew_quarters/heads/chief) -"bNQ" = ( +"bSd" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/newscaster{ pixel_y = 32 @@ -43369,7 +47084,7 @@ dir = 5 }, /area/crew_quarters/heads/chief) -"bNR" = ( +"bSe" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /obj/machinery/ai_status_display{ @@ -43377,7 +47092,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/chief) -"bNS" = ( +"bSf" = ( /obj/structure/bed, /obj/item/bedsheet/ce, /obj/machinery/light{ @@ -43385,14 +47100,14 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/chief) -"bNT" = ( +"bSg" = ( /obj/structure/dresser, /obj/machinery/status_display{ pixel_y = 32 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/chief) -"bNU" = ( +"bSh" = ( /obj/structure/closet/secure_closet/engineering_chief, /obj/machinery/button/door{ id = "ceprivacy"; @@ -43414,7 +47129,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/chief) -"bNV" = ( +"bSi" = ( /obj/structure/closet/radiation, /obj/structure/extinguisher_cabinet{ pixel_x = -26 @@ -43428,7 +47143,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bNW" = ( +"bSj" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -43436,7 +47151,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/engineering) -"bNX" = ( +"bSk" = ( /obj/structure/closet/toolcloset, /obj/machinery/light/small{ dir = 1 @@ -43448,17 +47163,17 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bNY" = ( +"bSl" = ( /turf/closed/wall, /area/engine/engineering) -"bNZ" = ( +"bSm" = ( /obj/structure/cable/white{ icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/engineering) -"bOa" = ( +"bSn" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -43473,14 +47188,14 @@ }, /turf/open/floor/plasteel/red, /area/security/checkpoint/engineering) -"bOb" = ( +"bSo" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/engineering) -"bOc" = ( +"bSp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/camera{ c_tag = "Engineering Hallway - Center"; @@ -43491,15 +47206,15 @@ dir = 4 }, /area/hallway/primary/port) -"bOd" = ( +"bSq" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall, /area/storage/tech) -"bOe" = ( +"bSr" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/storage/tech) -"bOf" = ( +"bSs" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -43517,7 +47232,7 @@ }, /turf/open/floor/plasteel, /area/storage/tech) -"bOg" = ( +"bSt" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_engineering{ name = "Primary Tool Storage"; @@ -43532,7 +47247,7 @@ }, /turf/open/floor/plasteel, /area/storage/primary) -"bOh" = ( +"bSu" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_engineering{ name = "Primary Tool Storage"; @@ -43546,7 +47261,7 @@ }, /turf/open/floor/plasteel, /area/storage/primary) -"bOi" = ( +"bSv" = ( /obj/structure/sign/directions/science{ dir = 2 }, @@ -43563,7 +47278,7 @@ }, /turf/closed/wall, /area/storage/primary) -"bOj" = ( +"bSw" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ @@ -43574,7 +47289,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"bOk" = ( +"bSx" = ( /obj/machinery/ai_status_display{ pixel_x = -32 }, @@ -43586,7 +47301,7 @@ /obj/item/storage/secure/briefcase, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bOl" = ( +"bSy" = ( /obj/machinery/button/door{ id = "councilblast"; name = "Council Blast doors"; @@ -43600,12 +47315,12 @@ /obj/structure/bookcase/random, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bOm" = ( +"bSz" = ( /obj/machinery/light, /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bOn" = ( +"bSA" = ( /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -43617,7 +47332,7 @@ }, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bOo" = ( +"bSB" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -43628,11 +47343,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bOp" = ( +"bSC" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/bridge/meeting_room/council) -"bOq" = ( +"bSD" = ( /obj/structure/table/wood, /obj/machinery/microwave{ desc = "Cooks and boils stuff, somehow."; @@ -43643,35 +47358,35 @@ dir = 8 }, /area/tcommsat/computer) -"bOr" = ( +"bSE" = ( /obj/structure/table/wood, /obj/item/storage/box/donkpockets, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bOs" = ( +"bSF" = ( /obj/structure/filingcabinet/security, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bOt" = ( +"bSG" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bOu" = ( +"bSH" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bOv" = ( +"bSI" = ( /obj/structure/filingcabinet/medical, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bOw" = ( +"bSJ" = ( /obj/structure/table/wood, /obj/item/folder/red, /obj/item/pen, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) -"bOx" = ( +"bSK" = ( /obj/structure/table/wood, /obj/machinery/firealarm{ dir = 1; @@ -43689,7 +47404,7 @@ dir = 8 }, /area/tcommsat/computer) -"bOy" = ( +"bSL" = ( /obj/structure/table/wood, /obj/machinery/light{ dir = 8 @@ -43707,7 +47422,7 @@ }, /turf/open/floor/carpet, /area/crew_quarters/heads/captain) -"bOz" = ( +"bSM" = ( /obj/structure/table/wood, /obj/item/folder/blue, /obj/item/pen/fourcolor, @@ -43723,7 +47438,7 @@ }, /turf/open/floor/carpet, /area/crew_quarters/heads/captain) -"bOA" = ( +"bSN" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/structure/window/reinforced{ @@ -43732,10 +47447,14 @@ }, /turf/open/floor/carpet, /area/crew_quarters/heads/captain) -"bOB" = ( +"bSO" = ( +/obj/machinery/door/window/brigdoor/northleft{ + name = "Captain's Desk"; + req_access_txt = "20" + }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain) -"bOC" = ( +"bSP" = ( /obj/structure/table/wood, /obj/item/storage/secure/briefcase{ pixel_x = 5; @@ -43748,18 +47467,18 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain) -"bOD" = ( +"bSQ" = ( /obj/structure/table/wood, /obj/item/storage/photo_album, /obj/item/device/camera, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bOE" = ( +"bSR" = ( /obj/structure/table/wood, /obj/machinery/recharger, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bOF" = ( +"bSS" = ( /obj/structure/sign/directions/science{ dir = 2; pixel_y = -8 @@ -43779,13 +47498,13 @@ }, /turf/closed/wall, /area/storage/tools) -"bOG" = ( +"bST" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/storage/tools) -"bOH" = ( +"bSU" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_engineering{ name = "Auxiliary Tool Storage"; @@ -43793,12 +47512,12 @@ }, /turf/open/floor/plasteel, /area/storage/tools) -"bOI" = ( +"bSV" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/storage/tools) -"bOJ" = ( +"bSW" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -43808,7 +47527,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/security/detectives_office) -"bOK" = ( +"bSX" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ name = "Detective's Office"; @@ -43822,7 +47541,7 @@ dir = 1 }, /area/security/detectives_office) -"bOL" = ( +"bSY" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -43835,7 +47554,7 @@ }, /turf/open/floor/plating, /area/security/detectives_office) -"bOM" = ( +"bSZ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ id = "detectivewindows"; @@ -43847,7 +47566,7 @@ }, /turf/open/floor/plating, /area/security/detectives_office) -"bON" = ( +"bTa" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/machinery/firealarm{ @@ -43858,7 +47577,7 @@ dir = 1 }, /area/hallway/primary/starboard) -"bOO" = ( +"bTb" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/bed, /obj/item/bedsheet, @@ -43866,7 +47585,7 @@ dir = 6 }, /area/security/brig) -"bOP" = ( +"bTc" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -43874,7 +47593,7 @@ }, /turf/open/floor/plating, /area/security/brig) -"bOQ" = ( +"bTd" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -43883,7 +47602,7 @@ dir = 8 }, /area/security/brig) -"bOR" = ( +"bTe" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -43893,7 +47612,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/security/brig) -"bOS" = ( +"bTf" = ( /obj/structure/table/reinforced, /obj/machinery/airalarm{ dir = 4; @@ -43908,7 +47627,7 @@ dir = 8 }, /area/security/warden) -"bOT" = ( +"bTg" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -43918,8 +47637,10 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/security/warden) -"bOU" = ( -/obj/machinery/computer/prisoner, +"bTh" = ( +/obj/machinery/computer/prisoner{ + dir = 8 + }, /obj/structure/cable/white{ icon_state = "0-8" }, @@ -43938,7 +47659,7 @@ dir = 5 }, /area/security/warden) -"bOV" = ( +"bTi" = ( /obj/structure/rack, /obj/item/storage/box/rubbershot{ pixel_x = -3; @@ -43966,7 +47687,7 @@ dir = 8 }, /area/ai_monitored/security/armory) -"bOW" = ( +"bTj" = ( /obj/structure/rack, /obj/item/gun/energy/laser{ pixel_x = -3; @@ -43984,7 +47705,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bOX" = ( +"bTk" = ( /obj/structure/rack, /obj/item/clothing/suit/armor/bulletproof{ pixel_x = -3; @@ -44015,7 +47736,7 @@ dir = 8 }, /area/ai_monitored/security/armory) -"bOY" = ( +"bTl" = ( /obj/machinery/camera/motion{ c_tag = "Armoury - Exterior"; dir = 4; @@ -44023,7 +47744,7 @@ }, /turf/open/space, /area/space) -"bOZ" = ( +"bTm" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -44033,7 +47754,7 @@ dir = 5 }, /area/aisat) -"bPa" = ( +"bTn" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -44049,7 +47770,7 @@ dir = 5 }, /area/aisat) -"bPb" = ( +"bTo" = ( /obj/structure/showcase/cyborg/old{ dir = 4; pixel_x = -9; @@ -44061,7 +47782,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) -"bPc" = ( +"bTp" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -44072,7 +47793,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) -"bPd" = ( +"bTq" = ( /obj/machinery/power/terminal{ dir = 1 }, @@ -44082,14 +47803,14 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) -"bPe" = ( +"bTr" = ( /obj/structure/cable/yellow{ icon_state = "1-8" }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) -"bPf" = ( +"bTs" = ( /obj/machinery/camera{ c_tag = "AI Satellite - Maintenance"; dir = 8; @@ -44100,7 +47821,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) -"bPg" = ( +"bTt" = ( /obj/structure/showcase/cyborg/old{ dir = 4; pixel_x = -9; @@ -44113,17 +47834,17 @@ dir = 5 }, /area/ai_monitored/turret_protected/aisat_interior) -"bPh" = ( +"bTu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/ai_monitored/turret_protected/aisat_interior) -"bPi" = ( +"bTv" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/ai_monitored/turret_protected/aisat_interior) -"bPj" = ( +"bTw" = ( /obj/machinery/ai_slipper{ uses = 10 }, @@ -44132,20 +47853,20 @@ }, /turf/open/floor/plasteel/grimy, /area/ai_monitored/turret_protected/aisat_interior) -"bPk" = ( +"bTx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/grimy, /area/ai_monitored/turret_protected/aisat_interior) -"bPl" = ( +"bTy" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /turf/open/floor/plasteel/grimy, /area/ai_monitored/turret_protected/aisat_interior) -"bPm" = ( +"bTz" = ( /obj/structure/showcase/cyborg/old{ dir = 8; pixel_x = 9; @@ -44158,13 +47879,13 @@ dir = 5 }, /area/ai_monitored/turret_protected/aisat_interior) -"bPn" = ( +"bTA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/aisat_interior) -"bPo" = ( +"bTB" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/turretid{ control_area = "/area/ai_monitored/turret_protected/aisat_interior"; @@ -44188,19 +47909,19 @@ dir = 6 }, /area/ai_monitored/turret_protected/aisat_interior) -"bPp" = ( +"bTC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/vault, /area/ai_monitored/turret_protected/aisat_interior) -"bPq" = ( +"bTD" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /turf/open/floor/plasteel/vault, /area/ai_monitored/turret_protected/aisat_interior) -"bPr" = ( +"bTE" = ( /obj/structure/showcase/cyborg/old{ dir = 8; pixel_x = 9; @@ -44213,7 +47934,7 @@ dir = 10 }, /area/ai_monitored/turret_protected/aisat_interior) -"bPs" = ( +"bTF" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -44232,7 +47953,7 @@ dir = 5 }, /area/aisat) -"bPt" = ( +"bTG" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/door/window/northright, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -44242,7 +47963,7 @@ dir = 5 }, /area/aisat) -"bPu" = ( +"bTH" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -44254,7 +47975,7 @@ dir = 5 }, /area/aisat) -"bPv" = ( +"bTI" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -44270,7 +47991,7 @@ dir = 5 }, /area/aisat) -"bPw" = ( +"bTJ" = ( /obj/structure/lattice, /obj/structure/transit_tube/diagonal{ icon_state = "diagonal"; @@ -44278,14 +47999,14 @@ }, /turf/open/space, /area/space) -"bPx" = ( +"bTK" = ( /obj/structure/lattice/catwalk, /obj/structure/window/reinforced{ dir = 4 }, /turf/open/space, /area/space) -"bPy" = ( +"bTL" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -44307,7 +48028,7 @@ dir = 8 }, /area/engine/transit_tube) -"bPz" = ( +"bTM" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -44320,14 +48041,23 @@ dir = 8 }, /area/engine/transit_tube) -"bPA" = ( +"bTN" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/engine/transit_tube) -"bPC" = ( -/obj/machinery/computer/station_alert, +"bTO" = ( +/obj/item/twohanded/required/kirbyplants/random, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/engine/transit_tube) +"bTP" = ( +/obj/machinery/computer/station_alert{ + dir = 4 + }, /obj/machinery/status_display{ pixel_x = -32 }, @@ -44335,7 +48065,7 @@ dir = 5 }, /area/crew_quarters/heads/chief) -"bPD" = ( +"bTQ" = ( /obj/item/phone{ desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in."; pixel_x = -3; @@ -44353,7 +48083,7 @@ /obj/structure/table/reinforced, /turf/open/floor/plasteel/neutral, /area/crew_quarters/heads/chief) -"bPE" = ( +"bTR" = ( /obj/structure/table/reinforced, /obj/structure/cable/white{ icon_state = "1-2" @@ -44370,7 +48100,7 @@ /obj/item/reagent_containers/pill/patch/silver_sulf, /turf/open/floor/plasteel/neutral, /area/crew_quarters/heads/chief) -"bPF" = ( +"bTS" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, @@ -44379,7 +48109,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/heads/chief) -"bPG" = ( +"bTT" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -44390,7 +48120,7 @@ dir = 5 }, /area/crew_quarters/heads/chief) -"bPH" = ( +"bTU" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -44416,7 +48146,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/chief) -"bPI" = ( +"bTV" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -44427,7 +48157,7 @@ dir = 5 }, /area/crew_quarters/heads/chief) -"bPJ" = ( +"bTW" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -44436,7 +48166,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/chief) -"bPK" = ( +"bTX" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -44449,7 +48179,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/chief) -"bPL" = ( +"bTY" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -44461,7 +48191,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/chief) -"bPM" = ( +"bTZ" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -44472,7 +48202,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/chief) -"bPN" = ( +"bUa" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line{ @@ -44480,7 +48210,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bPO" = ( +"bUb" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -44491,14 +48221,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/engine/engineering) -"bPP" = ( +"bUc" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/engine/engineering) -"bPQ" = ( +"bUd" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -44511,7 +48241,7 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"bPR" = ( +"bUe" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -44523,7 +48253,7 @@ dir = 9 }, /area/security/checkpoint/engineering) -"bPS" = ( +"bUf" = ( /obj/machinery/power/apc{ dir = 1; name = "Security Post - Engineering APC"; @@ -44548,7 +48278,7 @@ dir = 1 }, /area/security/checkpoint/engineering) -"bPT" = ( +"bUg" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -44556,7 +48286,7 @@ dir = 1 }, /area/security/checkpoint/engineering) -"bPU" = ( +"bUh" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -44567,7 +48297,7 @@ dir = 1 }, /area/security/checkpoint/engineering) -"bPV" = ( +"bUi" = ( /obj/structure/closet/secure_closet/security/engine, /obj/machinery/door_timer{ id = "engcell"; @@ -44588,7 +48318,7 @@ dir = 5 }, /area/security/checkpoint/engineering) -"bPW" = ( +"bUj" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -44597,7 +48327,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/port) -"bPX" = ( +"bUk" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, @@ -44608,7 +48338,7 @@ dir = 4 }, /area/hallway/primary/port) -"bPY" = ( +"bUl" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -44624,7 +48354,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/port) -"bPZ" = ( +"bUm" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -44635,7 +48365,7 @@ dir = 1 }, /area/hallway/primary/port) -"bQa" = ( +"bUn" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -44646,7 +48376,7 @@ dir = 1 }, /area/hallway/primary/port) -"bQb" = ( +"bUo" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -44658,7 +48388,7 @@ dir = 1 }, /area/hallway/primary/port) -"bQc" = ( +"bUp" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -44670,7 +48400,7 @@ dir = 1 }, /area/hallway/primary/port) -"bQd" = ( +"bUq" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -44681,7 +48411,7 @@ dir = 1 }, /area/hallway/primary/port) -"bQe" = ( +"bUr" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -44692,7 +48422,18 @@ dir = 1 }, /area/hallway/primary/port) -"bQf" = ( +"bUs" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/neutral/corner{ + dir = 1 + }, +/area/hallway/primary/port) +"bUt" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -44704,7 +48445,7 @@ dir = 1 }, /area/hallway/primary/port) -"bQg" = ( +"bUu" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -44721,7 +48462,7 @@ dir = 1 }, /area/hallway/primary/port) -"bQh" = ( +"bUv" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -44734,7 +48475,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/port) -"bQi" = ( +"bUw" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -44743,7 +48484,7 @@ dir = 1 }, /area/hallway/primary/port) -"bQj" = ( +"bUx" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -44754,7 +48495,7 @@ dir = 1 }, /area/hallway/primary/port) -"bQk" = ( +"bUy" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -44773,7 +48514,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/port) -"bQl" = ( +"bUz" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -44785,16 +48526,16 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bQm" = ( +"bUA" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"bQn" = ( +"bUB" = ( /turf/closed/wall/r_wall, /area/crew_quarters/heads/hop) -"bQo" = ( +"bUC" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -44807,36 +48548,36 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"bQp" = ( +"bUD" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, /area/crew_quarters/heads/hop) -"bQq" = ( +"bUE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/crew_quarters/heads/hop) -"bQr" = ( +"bUF" = ( /turf/open/floor/plasteel/vault/telecomms{ dir = 8 }, /area/tcommsat/server) -"bQs" = ( +"bUG" = ( /turf/closed/wall/r_wall, /area/tcommsat/server) -"bQt" = ( +"bUH" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall/r_wall, /area/tcommsat/server) -"bQu" = ( +"bUI" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/tcommsat/server) -"bQv" = ( +"bUJ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/tcommsat/server) -"bQw" = ( +"bUK" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -44851,8 +48592,10 @@ dir = 8 }, /area/tcommsat/server) -"bQy" = ( -/obj/machinery/computer/card, +"bUL" = ( +/obj/machinery/computer/card{ + dir = 4 + }, /obj/machinery/keycard_auth{ pixel_x = -26; pixel_y = 26 @@ -44867,7 +48610,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/carpet, /area/crew_quarters/heads/captain) -"bQz" = ( +"bUM" = ( /obj/structure/chair/comfy/brown{ buildstackamount = 0; color = "#c45c57"; @@ -44881,12 +48624,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/carpet, /area/crew_quarters/heads/captain) -"bQA" = ( +"bUN" = ( /obj/structure/table/wood, /obj/machinery/computer/security/wooden_tv, /turf/open/floor/carpet, /area/crew_quarters/heads/captain) -"bQB" = ( +"bUO" = ( +/turf/open/floor/plasteel/grimy, +/area/crew_quarters/heads/captain) +"bUP" = ( /obj/structure/table/wood, /obj/machinery/status_display{ pixel_x = 32 @@ -44899,23 +48645,22 @@ /obj/item/melee/chainofcommand, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain) -"bQC" = ( +"bUQ" = ( /turf/closed/wall/r_wall, /area/crew_quarters/heads/captain/private) -"bQD" = ( +"bUR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/hallway/primary/central) -"bQE" = ( +"bUS" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -44934,7 +48679,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) -"bQF" = ( +"bUT" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -44945,17 +48690,16 @@ dir = 4 }, /area/hallway/primary/starboard) -"bQG" = ( +"bUU" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j1" + dir = 8 }, /turf/open/floor/plasteel/yellow/corner{ dir = 4 }, /area/hallway/primary/starboard) -"bQH" = ( +"bUV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -44967,7 +48711,7 @@ dir = 4 }, /area/hallway/primary/starboard) -"bQI" = ( +"bUW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -44981,7 +48725,7 @@ dir = 4 }, /area/hallway/primary/starboard) -"bQJ" = ( +"bUX" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -44997,7 +48741,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) -"bQK" = ( +"bUY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -45013,7 +48757,7 @@ dir = 4 }, /area/hallway/primary/starboard) -"bQL" = ( +"bUZ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -45024,7 +48768,7 @@ dir = 4 }, /area/hallway/primary/starboard) -"bQM" = ( +"bVa" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/disposalpipe/segment{ dir = 4 @@ -45033,7 +48777,7 @@ dir = 4 }, /area/hallway/primary/starboard) -"bQN" = ( +"bVb" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -45047,7 +48791,7 @@ dir = 4 }, /area/hallway/primary/starboard) -"bQO" = ( +"bVc" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -45059,7 +48803,7 @@ dir = 4 }, /area/hallway/primary/starboard) -"bQP" = ( +"bVd" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -45071,7 +48815,7 @@ dir = 4 }, /area/hallway/primary/starboard) -"bQQ" = ( +"bVe" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, @@ -45082,7 +48826,7 @@ dir = 4 }, /area/hallway/primary/starboard) -"bQR" = ( +"bVf" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -45093,7 +48837,7 @@ dir = 4 }, /area/hallway/primary/starboard) -"bQS" = ( +"bVg" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -45109,26 +48853,25 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) -"bQT" = ( +"bVh" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/red/corner{ dir = 1 }, /area/hallway/primary/starboard) -"bQU" = ( +"bVi" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/starboard) -"bQV" = ( +"bVj" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, @@ -45140,7 +48883,7 @@ dir = 4 }, /area/hallway/primary/starboard) -"bQW" = ( +"bVk" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/door_timer{ id = "brig2"; @@ -45152,7 +48895,7 @@ dir = 1 }, /area/security/brig) -"bQX" = ( +"bVl" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, /obj/machinery/newscaster/security_unit{ @@ -45162,14 +48905,14 @@ dir = 8 }, /area/security/warden) -"bQY" = ( +"bVm" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/security/warden) -"bQZ" = ( +"bVn" = ( /obj/structure/rack, /obj/item/storage/toolbox/mechanical{ pixel_x = -3; @@ -45184,20 +48927,20 @@ dir = 4 }, /area/security/warden) -"bRa" = ( +"bVo" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/ai_monitored/security/armory) -"bRb" = ( +"bVp" = ( /obj/vehicle/secway, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ai_monitored/security/armory) -"bRc" = ( +"bVq" = ( /obj/structure/rack, /obj/item/gun/energy/e_gun/advtaser{ pixel_x = -3; @@ -45215,7 +48958,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bRd" = ( +"bVr" = ( /obj/structure/rack, /obj/item/clothing/suit/armor/riot{ pixel_x = -3; @@ -45251,7 +48994,7 @@ dir = 8 }, /area/ai_monitored/security/armory) -"bRe" = ( +"bVs" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -45260,12 +49003,12 @@ dir = 5 }, /area/aisat) -"bRf" = ( +"bVt" = ( /turf/open/floor/plasteel/vault{ dir = 8 }, /area/aisat) -"bRg" = ( +"bVu" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance_hatch{ name = "MiniSat Maintenance"; @@ -45275,7 +49018,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/aisat_interior) -"bRh" = ( +"bVv" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, @@ -45286,7 +49029,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/aisat_interior) -"bRi" = ( +"bVw" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -45300,7 +49043,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/aisat_interior) -"bRj" = ( +"bVx" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -45310,7 +49053,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/aisat_interior) -"bRk" = ( +"bVy" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -45321,7 +49064,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/aisat_interior) -"bRl" = ( +"bVz" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -45335,7 +49078,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/aisat_interior) -"bRm" = ( +"bVA" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -45355,7 +49098,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/aisat_interior) -"bRn" = ( +"bVB" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -45366,7 +49109,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/aisat_interior) -"bRo" = ( +"bVC" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -45376,14 +49119,14 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/grimy, /area/ai_monitored/turret_protected/aisat_interior) -"bRp" = ( +"bVD" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/ai_monitored/turret_protected/aisat_interior) -"bRq" = ( +"bVE" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -45393,14 +49136,14 @@ /mob/living/simple_animal/bot/secbot/pingsky, /turf/open/floor/plasteel/grimy, /area/ai_monitored/turret_protected/aisat_interior) -"bRr" = ( +"bVF" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/grimy, /area/ai_monitored/turret_protected/aisat_interior) -"bRs" = ( +"bVG" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -45409,7 +49152,7 @@ }, /turf/open/floor/plasteel/grimy, /area/ai_monitored/turret_protected/aisat_interior) -"bRt" = ( +"bVH" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -45417,7 +49160,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/aisat_interior) -"bRu" = ( +"bVI" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -45430,7 +49173,18 @@ dir = 8 }, /area/ai_monitored/turret_protected/aisat_interior) -"bRv" = ( +"bVJ" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/ai_slipper{ + uses = 10 + }, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/ai_monitored/turret_protected/aisat_interior) +"bVK" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -45439,7 +49193,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/aisat_interior) -"bRw" = ( +"bVL" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -45450,7 +49204,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/aisat_interior) -"bRx" = ( +"bVM" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -45463,7 +49217,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/aisat_interior) -"bRy" = ( +"bVN" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -45471,7 +49225,7 @@ dir = 8 }, /area/aisat) -"bRz" = ( +"bVO" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -45482,7 +49236,7 @@ dir = 5 }, /area/aisat) -"bRA" = ( +"bVP" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -45493,15 +49247,16 @@ dir = 5 }, /area/aisat) -"bRB" = ( +"bVQ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, +/obj/item/device/radio/beacon, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/aisat) -"bRC" = ( +"bVR" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -45510,7 +49265,15 @@ dir = 8 }, /area/aisat) -"bRD" = ( +"bVS" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/aisat) +"bVT" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -45521,7 +49284,7 @@ dir = 5 }, /area/aisat) -"bRE" = ( +"bVU" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -45534,7 +49297,7 @@ dir = 5 }, /area/aisat) -"bRF" = ( +"bVV" = ( /obj/structure/lattice/catwalk, /obj/structure/window/reinforced{ dir = 8 @@ -45544,14 +49307,14 @@ }, /turf/open/space, /area/space) -"bRG" = ( +"bVW" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/space, /area/space) -"bRH" = ( +"bVX" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -45562,7 +49325,7 @@ }, /turf/open/space, /area/space) -"bRI" = ( +"bVY" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -45570,7 +49333,7 @@ /obj/structure/transit_tube/crossing/horizontal, /turf/open/space, /area/space) -"bRJ" = ( +"bVZ" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -45578,7 +49341,7 @@ /obj/structure/transit_tube/horizontal, /turf/open/space, /area/space) -"bRK" = ( +"bWa" = ( /obj/structure/lattice/catwalk, /obj/structure/window/reinforced{ dir = 4 @@ -45592,7 +49355,7 @@ }, /turf/open/space, /area/space) -"bRL" = ( +"bWb" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -45611,7 +49374,7 @@ dir = 8 }, /area/engine/transit_tube) -"bRM" = ( +"bWc" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -45619,13 +49382,13 @@ dir = 8 }, /area/engine/transit_tube) -"bRN" = ( +"bWd" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/engine/transit_tube) -"bRO" = ( +"bWe" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light/small{ dir = 4 @@ -45641,7 +49404,7 @@ dir = 8 }, /area/engine/transit_tube) -"bRP" = ( +"bWf" = ( /obj/structure/filingcabinet/chestdrawer, /obj/machinery/light{ dir = 8 @@ -45659,18 +49422,18 @@ dir = 5 }, /area/crew_quarters/heads/chief) -"bRQ" = ( +"bWg" = ( /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/crew_quarters/heads/chief) -"bRR" = ( +"bWh" = ( /turf/open/floor/plasteel/neutral/side{ dir = 1; heat_capacity = 1e+006 }, /area/crew_quarters/heads/chief) -"bRS" = ( +"bWi" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -45679,22 +49442,22 @@ heat_capacity = 1e+006 }, /area/crew_quarters/heads/chief) -"bRT" = ( +"bWj" = ( /turf/open/floor/plasteel/neutral/corner{ dir = 1 }, /area/crew_quarters/heads/chief) -"bRU" = ( +"bWk" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/heads/chief) -"bRV" = ( +"bWl" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/crew_quarters/heads/chief) -"bRW" = ( +"bWm" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/firealarm{ dir = 1; @@ -45705,16 +49468,16 @@ dir = 5 }, /area/crew_quarters/heads/chief) -"bRX" = ( +"bWn" = ( /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/chief) -"bRY" = ( +"bWo" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/chief) -"bRZ" = ( +"bWp" = ( /obj/machinery/suit_storage_unit/ce, /obj/machinery/airalarm{ dir = 8; @@ -45725,7 +49488,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/chief) -"bSa" = ( +"bWq" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -45734,7 +49497,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bSb" = ( +"bWr" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -45744,7 +49507,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/engine/engineering) -"bSc" = ( +"bWs" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -45752,7 +49515,7 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, /area/engine/engineering) -"bSd" = ( +"bWt" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -45763,7 +49526,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/engine/engineering) -"bSe" = ( +"bWu" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -45778,7 +49541,7 @@ dir = 8 }, /area/security/checkpoint/engineering) -"bSf" = ( +"bWv" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -45788,14 +49551,14 @@ }, /turf/open/floor/plasteel/neutral, /area/security/checkpoint/engineering) -"bSg" = ( +"bWw" = ( /obj/structure/chair/office/dark, /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/neutral, /area/security/checkpoint/engineering) -"bSh" = ( +"bWx" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -45804,7 +49567,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/checkpoint/engineering) -"bSi" = ( +"bWy" = ( /obj/structure/table/reinforced, /obj/machinery/airalarm{ dir = 8; @@ -45816,7 +49579,7 @@ dir = 4 }, /area/security/checkpoint/engineering) -"bSj" = ( +"bWz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/light{ dir = 8 @@ -45825,7 +49588,7 @@ dir = 8 }, /area/hallway/primary/port) -"bSk" = ( +"bWA" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -45835,7 +49598,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/port) -"bSl" = ( +"bWB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=hall4"; @@ -45843,31 +49606,49 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/port) -"bSm" = ( +"bWC" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"bWD" = ( +/turf/open/floor/plasteel/neutral, +/area/hallway/primary/port) +"bWE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/neutral, +/area/hallway/primary/port) +"bWF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/neutral, +/area/hallway/primary/port) +"bWG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/neutral, +/area/hallway/primary/port) +"bWH" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/hallway/primary/port) -"bSn" = ( +"bWI" = ( +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral, /area/hallway/primary/port) -"bSo" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bSp" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"bSq" = ( +"bWJ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/port) -"bSr" = ( +"bWK" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Port Primary Hallway" @@ -45880,7 +49661,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/port) -"bSs" = ( +"bWL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=engi1"; @@ -45888,7 +49669,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bSt" = ( +"bWM" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -45898,18 +49679,18 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bSu" = ( +"bWN" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/light{ dir = 4 }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"bSv" = ( +"bWO" = ( /obj/machinery/ai_status_display, /turf/closed/wall, /area/hallway/primary/central) -"bSw" = ( +"bWP" = ( /obj/structure/table, /obj/item/paper_bin, /obj/item/pen, @@ -45917,7 +49698,7 @@ dir = 5 }, /area/hallway/primary/central) -"bSx" = ( +"bWQ" = ( /obj/structure/table/wood, /obj/machinery/computer/med_data/laptop, /obj/machinery/requests_console{ @@ -45960,36 +49741,34 @@ dir = 8 }, /area/crew_quarters/heads/hop) -"bSy" = ( +"bWR" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/stamp/hop, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"bSz" = ( +"bWS" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"bSA" = ( +"bWT" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"bSB" = ( +"bWU" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"bSC" = ( +"bWV" = ( /obj/structure/table/wood, /obj/item/storage/box/ids{ pixel_x = 3; @@ -45999,7 +49778,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"bSD" = ( +"bWW" = ( /obj/machinery/light{ dir = 8 }, @@ -46007,14 +49786,14 @@ dir = 8 }, /area/tcommsat/server) -"bSE" = ( +"bWX" = ( /turf/open/floor/circuit/green/telecomms/mainframe, /area/tcommsat/server) -"bSF" = ( +"bWY" = ( /obj/machinery/telecomms/receiver/preset_right, /turf/open/floor/circuit/green/telecomms/mainframe, /area/tcommsat/server) -"bSG" = ( +"bWZ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -46023,11 +49802,11 @@ dir = 5 }, /area/tcommsat/server) -"bSH" = ( +"bXa" = ( /obj/machinery/telecomms/receiver/preset_left, /turf/open/floor/circuit/green/telecomms/mainframe, /area/tcommsat/server) -"bSI" = ( +"bXb" = ( /obj/machinery/light{ dir = 4 }, @@ -46035,15 +49814,17 @@ dir = 8 }, /area/tcommsat/server) -"bSJ" = ( -/obj/machinery/computer/communications, +"bXc" = ( +/obj/machinery/computer/communications{ + dir = 4 + }, /obj/machinery/ai_status_display{ pixel_x = -32 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/carpet, /area/crew_quarters/heads/captain) -"bSK" = ( +"bXd" = ( /obj/machinery/light_switch{ pixel_x = 26; pixel_y = -26 @@ -46055,23 +49836,23 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/carpet, /area/crew_quarters/heads/captain) -"bSL" = ( +"bXe" = ( /turf/open/floor/carpet, /area/crew_quarters/heads/captain) -"bSM" = ( +"bXf" = ( /obj/item/device/radio/intercom{ pixel_y = -26 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain) -"bSN" = ( +"bXg" = ( /obj/structure/displaycase/captain{ req_access = null; req_access_txt = "20" }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain) -"bSO" = ( +"bXh" = ( /obj/structure/toilet{ dir = 4 }, @@ -46081,7 +49862,7 @@ /obj/effect/landmark/start/captain, /turf/open/floor/plasteel/white, /area/crew_quarters/heads/captain/private) -"bSP" = ( +"bXi" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -46096,7 +49877,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/white, /area/crew_quarters/heads/captain/private) -"bSQ" = ( +"bXj" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/light{ dir = 8 @@ -46110,7 +49891,7 @@ dir = 8 }, /area/hallway/primary/central) -"bSR" = ( +"bXk" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -46124,7 +49905,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bSS" = ( +"bXl" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -46135,7 +49916,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bST" = ( +"bXm" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -46151,27 +49932,34 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) -"bSU" = ( +"bXn" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/starboard) -"bSV" = ( +"bXo" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/hallway/primary/starboard) +"bXp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/starboard) -"bSW" = ( +"bXq" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/starboard) -"bSX" = ( +"bXr" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -46184,7 +49972,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) -"bSY" = ( +"bXs" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -46193,7 +49981,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/starboard) -"bSZ" = ( +"bXt" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -46202,21 +49990,21 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/starboard) -"bTa" = ( +"bXu" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/hallway/primary/starboard) -"bTb" = ( +"bXv" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/primary/starboard) -"bTc" = ( +"bXw" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -46225,7 +50013,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/starboard) -"bTd" = ( +"bXx" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -46235,7 +50023,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/hallway/primary/starboard) -"bTe" = ( +"bXy" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -46248,7 +50036,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) -"bTf" = ( +"bXz" = ( /obj/item/device/radio/beacon, /obj/structure/cable/white{ icon_state = "4-8" @@ -46263,22 +50051,21 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/starboard) -"bTg" = ( +"bXA" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 1; - icon_state = "pipe-j1s"; name = "Security Junction"; sortType = 7 }, /turf/open/floor/plasteel/red/corner, /area/hallway/primary/starboard) -"bTh" = ( +"bXB" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -46302,7 +50089,7 @@ }, /turf/open/floor/plasteel, /area/security/brig) -"bTi" = ( +"bXC" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -46320,7 +50107,7 @@ }, /turf/open/floor/plasteel, /area/security/brig) -"bTj" = ( +"bXD" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -46340,7 +50127,31 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/security/brig) -"bTk" = ( +"bXE" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/glass_security{ + cyclelinkeddir = 8; + name = "Brig"; + req_access_txt = "63" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/security/brig) +"bXF" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -46353,7 +50164,7 @@ }, /turf/open/floor/plasteel, /area/security/brig) -"bTl" = ( +"bXG" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -46364,22 +50175,20 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/neutral, /area/security/brig) -"bTm" = ( +"bXH" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 2 }, /turf/open/floor/plasteel/red/corner{ dir = 4 }, /area/security/brig) -"bTn" = ( +"bXI" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -46392,7 +50201,7 @@ }, /turf/open/floor/plating, /area/security/warden) -"bTo" = ( +"bXJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -46404,7 +50213,7 @@ dir = 1 }, /area/security/warden) -"bTp" = ( +"bXK" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -46414,7 +50223,7 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/security/warden) -"bTq" = ( +"bXL" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -46425,7 +50234,7 @@ dir = 4 }, /area/security/warden) -"bTr" = ( +"bXM" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-8" @@ -46451,7 +50260,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bTs" = ( +"bXN" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -46463,7 +50272,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bTt" = ( +"bXO" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -46475,7 +50284,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bTu" = ( +"bXP" = ( /obj/structure/rack, /obj/item/gun/energy/e_gun{ pixel_x = -3; @@ -46499,7 +50308,7 @@ /obj/structure/window/reinforced, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bTv" = ( +"bXQ" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -46508,7 +50317,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bTw" = ( +"bXR" = ( /obj/structure/rack, /obj/item/gun/energy/ionrifle, /obj/item/clothing/suit/armor/laserproof, @@ -46517,7 +50326,7 @@ dir = 8 }, /area/ai_monitored/security/armory) -"bTx" = ( +"bXS" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -46529,7 +50338,7 @@ dir = 5 }, /area/aisat) -"bTy" = ( +"bXT" = ( /obj/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -46541,14 +50350,14 @@ dir = 5 }, /area/aisat) -"bTz" = ( +"bXU" = ( /obj/structure/sign/nosmoking_2, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/aisat_interior) -"bTA" = ( +"bXV" = ( /obj/structure/showcase/cyborg/old{ dir = 4; pixel_x = -9; @@ -46564,13 +50373,13 @@ dir = 5 }, /area/ai_monitored/turret_protected/aisat_interior) -"bTB" = ( +"bXW" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/ai_monitored/turret_protected/aisat_interior) -"bTC" = ( +"bXX" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -46578,7 +50387,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/aisat_interior) -"bTD" = ( +"bXY" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/firealarm{ dir = 4; @@ -46591,13 +50400,13 @@ dir = 5 }, /area/ai_monitored/turret_protected/aisat_interior) -"bTE" = ( +"bXZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/aisat_interior) -"bTF" = ( +"bYa" = ( /obj/structure/showcase/cyborg/old{ dir = 4; pixel_x = -9; @@ -46610,21 +50419,21 @@ dir = 5 }, /area/ai_monitored/turret_protected/aisat_interior) -"bTG" = ( +"bYb" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/grimy, /area/ai_monitored/turret_protected/aisat_interior) -"bTH" = ( +"bYc" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/ai_monitored/turret_protected/aisat_interior) -"bTI" = ( +"bYd" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -46633,17 +50442,17 @@ }, /turf/open/floor/plasteel/grimy, /area/ai_monitored/turret_protected/aisat_interior) -"bTJ" = ( +"bYe" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /turf/open/floor/plasteel/grimy, /area/ai_monitored/turret_protected/aisat_interior) -"bTK" = ( +"bYf" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/ai_monitored/turret_protected/aisat_interior) -"bTL" = ( +"bYg" = ( /obj/structure/showcase/cyborg/old{ dir = 8; pixel_x = 9; @@ -46656,7 +50465,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/aisat_interior) -"bTM" = ( +"bYh" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/firealarm{ dir = 8; @@ -46669,7 +50478,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/aisat_interior) -"bTN" = ( +"bYi" = ( /obj/structure/window/reinforced, /obj/machinery/firealarm{ dir = 8; @@ -46685,7 +50494,7 @@ dir = 5 }, /area/aisat) -"bTO" = ( +"bYj" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -46694,7 +50503,7 @@ dir = 5 }, /area/aisat) -"bTP" = ( +"bYk" = ( /obj/structure/window/reinforced, /obj/structure/cable/white, /obj/machinery/power/apc{ @@ -46707,7 +50516,7 @@ dir = 5 }, /area/aisat) -"bTQ" = ( +"bYl" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 4 @@ -46720,12 +50529,12 @@ dir = 5 }, /area/aisat) -"bTR" = ( +"bYm" = ( /obj/structure/lattice, /obj/structure/transit_tube/diagonal, /turf/open/space, /area/space) -"bTS" = ( +"bYn" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -46740,13 +50549,13 @@ dir = 8 }, /area/engine/transit_tube) -"bTT" = ( +"bYo" = ( /obj/structure/transit_tube/horizontal, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/engine/transit_tube) -"bTU" = ( +"bYp" = ( /obj/machinery/ai_status_display{ pixel_y = -32 }, @@ -46758,7 +50567,7 @@ dir = 8 }, /area/engine/transit_tube) -"bTV" = ( +"bYq" = ( /obj/machinery/newscaster{ pixel_x = 32 }, @@ -46766,7 +50575,7 @@ dir = 8 }, /area/engine/transit_tube) -"bTW" = ( +"bYr" = ( /obj/structure/table/reinforced, /obj/item/stack/packageWrap, /obj/item/hand_labeler, @@ -46774,7 +50583,7 @@ dir = 5 }, /area/crew_quarters/heads/chief) -"bTX" = ( +"bYs" = ( /obj/structure/table/reinforced, /obj/item/folder/yellow, /obj/item/cartridge/atmos, @@ -46784,11 +50593,12 @@ dir = 1; pixel_y = -22 }, +/obj/item/stamp/ce, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/heads/chief) -"bTY" = ( +"bYt" = ( /obj/structure/rack, /obj/item/storage/secure/briefcase, /obj/machinery/newscaster{ @@ -46798,7 +50608,7 @@ dir = 5 }, /area/crew_quarters/heads/chief) -"bTZ" = ( +"bYu" = ( /obj/structure/cable/white, /obj/machinery/power/apc{ dir = 2; @@ -46810,13 +50620,13 @@ dir = 5 }, /area/crew_quarters/heads/chief) -"bUa" = ( +"bYv" = ( /obj/machinery/photocopier, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/heads/chief) -"bUb" = ( +"bYw" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light_switch{ pixel_x = 26; @@ -46826,7 +50636,7 @@ dir = 5 }, /area/crew_quarters/heads/chief) -"bUc" = ( +"bYx" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -46837,7 +50647,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/chief) -"bUd" = ( +"bYy" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-4" @@ -46852,7 +50662,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/chief) -"bUe" = ( +"bYz" = ( /obj/structure/closet/toolcloset, /obj/machinery/light/small, /obj/machinery/airalarm{ @@ -46870,7 +50680,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bUf" = ( +"bYA" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -46879,7 +50689,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/engineering) -"bUg" = ( +"bYB" = ( /obj/structure/closet/radiation, /obj/machinery/light/small, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -46888,12 +50698,12 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bUh" = ( +"bYC" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/engine/engineering) -"bUi" = ( +"bYD" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -46911,29 +50721,35 @@ dir = 10 }, /area/security/checkpoint/engineering) -"bUj" = ( -/obj/machinery/computer/station_alert, +"bYE" = ( +/obj/machinery/computer/station_alert{ + dir = 1 + }, /obj/machinery/ai_status_display{ pixel_y = -32 }, /turf/open/floor/plasteel/red/side, /area/security/checkpoint/engineering) -"bUk" = ( +"bYF" = ( /obj/machinery/newscaster{ pixel_y = -32 }, /obj/machinery/light, -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 1 + }, /turf/open/floor/plasteel/red/side, /area/security/checkpoint/engineering) -"bUl" = ( +"bYG" = ( /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 1 + }, /turf/open/floor/plasteel/red/side, /area/security/checkpoint/engineering) -"bUm" = ( +"bYH" = ( /obj/structure/table/reinforced, /obj/structure/reagent_dispensers/peppertank{ pixel_y = -32 @@ -46950,7 +50766,7 @@ dir = 6 }, /area/security/checkpoint/engineering) -"bUn" = ( +"bYI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, @@ -46958,7 +50774,7 @@ dir = 8 }, /area/hallway/primary/port) -"bUo" = ( +"bYJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -46967,14 +50783,14 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/port) -"bUp" = ( +"bYK" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/yellow/corner, /area/hallway/primary/port) -"bUq" = ( +"bYL" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -46987,7 +50803,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/port) -"bUr" = ( +"bYM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -46995,7 +50811,7 @@ dir = 8 }, /area/hallway/primary/port) -"bUs" = ( +"bYN" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, @@ -47003,13 +50819,13 @@ dir = 8 }, /area/hallway/primary/port) -"bUt" = ( +"bYO" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/neutral/corner{ dir = 8 }, /area/hallway/primary/port) -"bUu" = ( +"bYP" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/machinery/light, /obj/structure/extinguisher_cabinet{ @@ -47019,7 +50835,16 @@ dir = 8 }, /area/hallway/primary/port) -"bUv" = ( +"bYQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/neutral/corner{ + dir = 8 + }, +/area/hallway/primary/port) +"bYR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -47033,7 +50858,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/port) -"bUw" = ( +"bYS" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -47046,7 +50871,7 @@ dir = 8 }, /area/hallway/primary/port) -"bUx" = ( +"bYT" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -47062,7 +50887,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/port) -"bUy" = ( +"bYU" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -47070,11 +50895,11 @@ dir = 8 }, /area/hallway/primary/central) -"bUz" = ( +"bYV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/blue/corner, /area/hallway/primary/central) -"bUA" = ( +"bYW" = ( /obj/machinery/door/poddoor/shutters/preopen{ id = "hopline"; name = "Queue Shutters" @@ -47083,7 +50908,7 @@ dir = 8 }, /area/hallway/primary/central) -"bUB" = ( +"bYX" = ( /obj/machinery/flasher{ id = "hopflash"; pixel_y = 58 @@ -47091,7 +50916,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/central) -"bUC" = ( +"bYY" = ( /obj/structure/table/reinforced, /obj/item/folder/blue, /obj/machinery/door/firedoor, @@ -47111,7 +50936,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/hop) -"bUD" = ( +"bYZ" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -47120,14 +50945,14 @@ dir = 5 }, /area/crew_quarters/heads/hop) -"bUE" = ( +"bZa" = ( /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"bUF" = ( +"bZb" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"bUG" = ( +"bZc" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -47136,13 +50961,13 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"bUH" = ( +"bZd" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"bUI" = ( +"bZe" = ( /obj/machinery/vending/cart, /obj/machinery/computer/security/telescreen/entertainment{ pixel_x = 32 @@ -47150,22 +50975,22 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"bUJ" = ( +"bZf" = ( /obj/machinery/telecomms/server/presets/medical, /turf/open/floor/plasteel/whiteblue/side/telecomms{ dir = 9 }, /area/tcommsat/server) -"bUK" = ( +"bZg" = ( /obj/machinery/telecomms/server/presets/science, /turf/open/floor/plasteel/whitepurple/side/telecomms{ dir = 5 }, /area/tcommsat/server) -"bUL" = ( +"bZh" = ( /turf/open/floor/plasteel/vault/telecomms, /area/tcommsat/server) -"bUM" = ( +"bZi" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -47179,23 +51004,23 @@ dir = 5 }, /area/tcommsat/server) -"bUN" = ( +"bZj" = ( /obj/machinery/telecomms/server/presets/command, /turf/open/floor/plasteel/darkblue/side/telecomms{ dir = 9 }, /area/tcommsat/server) -"bUO" = ( +"bZk" = ( /obj/machinery/telecomms/server/presets/security, /turf/open/floor/plasteel/darkred/side/telecomms{ dir = 5 }, /area/tcommsat/server) -"bUP" = ( +"bZl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/crew_quarters/heads/captain/private) -"bUQ" = ( +"bZm" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ name = "Captain's Quarters"; @@ -47209,14 +51034,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) -"bUR" = ( +"bZn" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall/r_wall, /area/crew_quarters/heads/captain/private) -"bUS" = ( +"bZo" = ( /turf/open/floor/plasteel/white, /area/crew_quarters/heads/captain/private) -"bUT" = ( +"bZp" = ( /obj/structure/sink{ dir = 4; pixel_x = 11 @@ -47224,17 +51049,16 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/white, /area/crew_quarters/heads/captain/private) -"bUU" = ( +"bZq" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"bUV" = ( +"bZr" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -47253,7 +51077,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) -"bUW" = ( +"bZs" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -47262,7 +51086,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/starboard) -"bUX" = ( +"bZt" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, @@ -47271,14 +51095,14 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/starboard) -"bUY" = ( +"bZu" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/starboard) -"bUZ" = ( +"bZv" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/machinery/light, /obj/structure/disposalpipe/segment{ @@ -47290,7 +51114,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/starboard) -"bVa" = ( +"bZw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -47306,7 +51130,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) -"bVb" = ( +"bZx" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -47316,7 +51140,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/starboard) -"bVc" = ( +"bZy" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -47331,7 +51155,25 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/starboard) -"bVd" = ( +"bZz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/power/apc{ + dir = 2; + name = "Starboard Primary Hallway APC"; + areastring = "/area/hallway/primary/starboard"; + pixel_y = -26 + }, +/obj/structure/cable/white{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/neutral/corner, +/area/hallway/primary/starboard) +"bZA" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/machinery/light, /obj/structure/disposalpipe/segment{ @@ -47342,17 +51184,16 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/starboard) -"bVe" = ( +"bZB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 4 }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/starboard) -"bVf" = ( +"bZC" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -47361,7 +51202,7 @@ }, /turf/open/floor/plasteel/red/corner, /area/hallway/primary/starboard) -"bVg" = ( +"bZD" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -47374,7 +51215,7 @@ }, /turf/open/floor/plasteel/red/corner, /area/hallway/primary/starboard) -"bVh" = ( +"bZE" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, @@ -47383,7 +51224,7 @@ }, /turf/open/floor/plasteel/red/corner, /area/hallway/primary/starboard) -"bVi" = ( +"bZF" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -47397,7 +51238,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/starboard) -"bVj" = ( +"bZG" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -47413,16 +51254,31 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) -"bVl" = ( +"bZH" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/sign/poster/official/help_others{ + pixel_x = -32; + pixel_y = -32 + }, +/turf/open/floor/plasteel/red/corner{ + dir = 8 + }, +/area/hallway/primary/starboard) +"bZI" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/primary/starboard) -"bVm" = ( +"bZJ" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/red/corner, /area/hallway/primary/starboard) -"bVn" = ( +"bZK" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -47433,7 +51289,7 @@ }, /turf/open/floor/plating, /area/security/brig) -"bVo" = ( +"bZL" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -47443,7 +51299,7 @@ }, /turf/open/floor/plasteel, /area/security/brig) -"bVp" = ( +"bZM" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -47454,14 +51310,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/security/brig) -"bVq" = ( +"bZN" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/brig) -"bVr" = ( +"bZO" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -47471,7 +51327,7 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral, /area/security/brig) -"bVs" = ( +"bZP" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -47479,7 +51335,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, /area/security/brig) -"bVt" = ( +"bZQ" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-8" @@ -47496,7 +51352,7 @@ }, /turf/open/floor/plasteel, /area/security/warden) -"bVu" = ( +"bZR" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -47505,7 +51361,7 @@ }, /turf/open/floor/plasteel, /area/security/warden) -"bVv" = ( +"bZS" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -47539,13 +51395,13 @@ }, /turf/open/floor/plasteel/neutral, /area/security/warden) -"bVw" = ( +"bZT" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/red/side{ dir = 4 }, /area/security/warden) -"bVx" = ( +"bZU" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -47562,15 +51418,15 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bVy" = ( +"bZV" = ( /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bVz" = ( +"bZW" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bVA" = ( +"bZX" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -47579,7 +51435,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bVB" = ( +"bZY" = ( /obj/structure/closet/secure_closet/lethalshots, /obj/machinery/light{ dir = 4 @@ -47588,14 +51444,10 @@ dir = 8 }, /area/ai_monitored/security/armory) -"bVC" = ( +"bZZ" = ( /obj/structure/table/reinforced, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/item/stack/sheet/mineral/plasma{ amount = 20 }, @@ -47614,7 +51466,7 @@ }, /turf/open/floor/plasteel/black, /area/ai_monitored/turret_protected/aisat_interior) -"bVD" = ( +"caa" = ( /obj/machinery/recharge_station, /obj/machinery/ai_status_display{ pixel_y = -32 @@ -47624,8 +51476,10 @@ }, /turf/open/floor/plasteel/black, /area/ai_monitored/turret_protected/aisat_interior) -"bVE" = ( -/obj/machinery/computer/monitor, +"cab" = ( +/obj/machinery/computer/monitor{ + dir = 1 + }, /obj/machinery/light, /obj/item/device/radio/intercom{ broadcasting = 1; @@ -47639,7 +51493,7 @@ }, /turf/open/floor/plasteel/black, /area/ai_monitored/turret_protected/aisat_interior) -"bVF" = ( +"cac" = ( /obj/machinery/recharge_station, /obj/machinery/status_display{ pixel_y = -32 @@ -47649,7 +51503,7 @@ }, /turf/open/floor/plasteel/black, /area/ai_monitored/turret_protected/aisat_interior) -"bVG" = ( +"cad" = ( /obj/item/storage/toolbox/mechanical{ pixel_x = -3; pixel_y = 3 @@ -47661,17 +51515,17 @@ }, /turf/open/floor/plasteel/black, /area/ai_monitored/turret_protected/aisat_interior) -"bVH" = ( +"cae" = ( /obj/structure/cable/white, /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light, /turf/open/floor/plasteel/vault, /area/ai_monitored/turret_protected/aisat_interior) -"bVI" = ( +"caf" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/vault, /area/ai_monitored/turret_protected/aisat_interior) -"bVJ" = ( +"cag" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -47679,7 +51533,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/aisat_interior) -"bVK" = ( +"cah" = ( /obj/machinery/turretid{ control_area = "/area/ai_monitored/turret_protected/ai_upload"; icon_state = "control_stun"; @@ -47689,7 +51543,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/vault, /area/ai_monitored/turret_protected/aisat_interior) -"bVL" = ( +"cai" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light, /obj/machinery/airalarm{ @@ -47698,7 +51552,7 @@ }, /turf/open/floor/plasteel/vault, /area/ai_monitored/turret_protected/aisat_interior) -"bVM" = ( +"caj" = ( /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -47708,7 +51562,16 @@ dir = 8 }, /area/ai_monitored/turret_protected/aisat_interior) -"bVN" = ( +"cak" = ( +/obj/item/twohanded/required/kirbyplants/random, +/obj/machinery/light_switch{ + pixel_x = -26 + }, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/ai_monitored/turret_protected/aisat_interior) +"cal" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/machinery/status_display{ @@ -47719,7 +51582,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/aisat_interior) -"bVO" = ( +"cam" = ( /obj/structure/table/reinforced, /obj/item/clipboard, /obj/item/toy/figure/borg, @@ -47735,7 +51598,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/aisat_interior) -"bVP" = ( +"can" = ( /obj/structure/table/reinforced, /obj/item/folder/blue{ pixel_x = 3; @@ -47750,7 +51613,19 @@ dir = 8 }, /area/ai_monitored/turret_protected/aisat_interior) -"bVR" = ( +"cao" = ( +/obj/item/twohanded/required/kirbyplants/random, +/obj/structure/extinguisher_cabinet{ + pixel_x = 26 + }, +/obj/structure/sign/poster/official/ian{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/ai_monitored/turret_protected/aisat_interior) +"cap" = ( /obj/structure/lattice, /obj/structure/transit_tube/curved{ icon_state = "curved0"; @@ -47758,7 +51633,7 @@ }, /turf/open/space, /area/space) -"bVS" = ( +"caq" = ( /obj/structure/lattice, /obj/structure/transit_tube/curved/flipped{ icon_state = "curved1"; @@ -47766,38 +51641,38 @@ }, /turf/open/space, /area/space) -"bVT" = ( +"car" = ( /turf/closed/wall/r_wall, /area/engine/engineering) -"bVU" = ( +"cas" = ( /obj/structure/table/reinforced, /obj/item/storage/firstaid/fire, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/engineering) -"bVV" = ( +"cat" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/engineering) -"bVW" = ( +"cau" = ( /obj/structure/closet/secure_closet/engineering_personal, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/engineering) -"bVX" = ( +"cav" = ( /obj/structure/table/reinforced, /obj/item/storage/fancy/donut_box, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/engineering) -"bVY" = ( +"caw" = ( /obj/structure/sign/securearea, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/engine/engineering) -"bVZ" = ( +"cax" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -47815,12 +51690,12 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bWa" = ( +"cay" = ( /obj/structure/sign/radiation, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall, /area/engine/engineering) -"bWb" = ( +"caz" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -47838,12 +51713,12 @@ }, /turf/open/floor/plasteel, /area/security/checkpoint/engineering) -"bWc" = ( +"caA" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/engineering) -"bWd" = ( +"caB" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, @@ -47851,7 +51726,7 @@ dir = 8 }, /area/hallway/primary/port) -"bWe" = ( +"caC" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, @@ -47860,17 +51735,17 @@ }, /turf/open/floor/plasteel/yellow/side, /area/hallway/primary/port) -"bWf" = ( +"caD" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, /obj/structure/closet/emcloset, /turf/open/floor/plasteel/yellow/corner, /area/hallway/primary/port) -"bWg" = ( +"caE" = ( /turf/closed/wall, /area/maintenance/port) -"bWh" = ( +"caF" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -47884,14 +51759,14 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"bWi" = ( +"caG" = ( /turf/closed/wall, /area/library) -"bWj" = ( +"caH" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/library) -"bWk" = ( +"caI" = ( /obj/machinery/door/airlock/glass{ name = "Library Access" }, @@ -47900,7 +51775,7 @@ dir = 8 }, /area/library) -"bWl" = ( +"caJ" = ( /obj/machinery/door/airlock/glass{ name = "Library Access" }, @@ -47909,7 +51784,7 @@ dir = 8 }, /area/library) -"bWm" = ( +"caK" = ( /obj/structure/sign/directions/evac{ pixel_y = -8 }, @@ -47922,11 +51797,11 @@ }, /turf/closed/wall, /area/library) -"bWn" = ( +"caL" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/primary/central) -"bWo" = ( +"caM" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -47937,8 +51812,10 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hop) -"bWp" = ( -/obj/machinery/computer/card, +"caN" = ( +/obj/machinery/computer/card{ + dir = 1 + }, /obj/structure/cable/white{ icon_state = "4-8" }, @@ -47946,20 +51823,20 @@ dir = 8 }, /area/crew_quarters/heads/hop) -"bWq" = ( +"caO" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"bWr" = ( +"caP" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"bWs" = ( +"caQ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -47968,11 +51845,11 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"bWt" = ( +"caR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"bWu" = ( +"caS" = ( /obj/machinery/pdapainter, /obj/machinery/status_display{ pixel_x = 32 @@ -47980,24 +51857,24 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"bWv" = ( +"caT" = ( /obj/machinery/telecomms/bus/preset_one, /turf/open/floor/plasteel/whiteblue/side/telecomms{ dir = 10 }, /area/tcommsat/server) -"bWw" = ( +"caU" = ( /obj/machinery/telecomms/processor/preset_one, /turf/open/floor/plasteel/whitepurple/side/telecomms{ dir = 6 }, /area/tcommsat/server) -"bWx" = ( +"caV" = ( /turf/open/floor/plasteel/vault/telecomms{ dir = 5 }, /area/tcommsat/server) -"bWy" = ( +"caW" = ( /obj/machinery/light/small{ dir = 1 }, @@ -48006,7 +51883,7 @@ dir = 5 }, /area/tcommsat/server) -"bWz" = ( +"caX" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -48014,7 +51891,7 @@ dir = 5 }, /area/tcommsat/server) -"bWA" = ( +"caY" = ( /obj/machinery/light/small{ dir = 1 }, @@ -48022,19 +51899,19 @@ dir = 5 }, /area/tcommsat/server) -"bWB" = ( +"caZ" = ( /obj/machinery/telecomms/processor/preset_three, /turf/open/floor/plasteel/darkblue/side/telecomms{ dir = 10 }, /area/tcommsat/server) -"bWC" = ( +"cba" = ( /obj/machinery/telecomms/bus/preset_three, /turf/open/floor/plasteel/darkred/side/telecomms{ dir = 6 }, /area/tcommsat/server) -"bWD" = ( +"cbb" = ( /obj/machinery/photocopier, /obj/machinery/computer/security/telescreen/entertainment{ pixel_x = -32 @@ -48042,7 +51919,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) -"bWE" = ( +"cbc" = ( /obj/machinery/light_switch{ pixel_x = 26; pixel_y = 26 @@ -48054,11 +51931,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) -"bWF" = ( +"cbd" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) -"bWG" = ( +"cbe" = ( /obj/machinery/light{ dir = 1 }, @@ -48068,7 +51945,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/captain/private) -"bWH" = ( +"cbf" = ( /obj/structure/closet/secure_closet/captains, /obj/item/clothing/suit/armor/vest/capcarapace, /obj/item/clothing/head/caphat, @@ -48077,20 +51954,20 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/captain/private) -"bWI" = ( +"cbg" = ( /turf/closed/wall, /area/crew_quarters/heads/captain/private) -"bWJ" = ( +"cbh" = ( /obj/machinery/door/airlock/silver{ name = "Bathroom" }, /turf/open/floor/plasteel/white, /area/crew_quarters/heads/captain/private) -"bWK" = ( +"cbi" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall, /area/crew_quarters/heads/captain/private) -"bWL" = ( +"cbj" = ( /obj/structure/sign/directions/evac{ pixel_y = -8 }, @@ -48103,15 +51980,15 @@ }, /turf/closed/wall, /area/security/courtroom) -"bWM" = ( +"cbk" = ( /turf/closed/wall, /area/security/courtroom) -"bWN" = ( +"cbl" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/security/courtroom) -"bWO" = ( +"cbm" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ name = "Courtroom" @@ -48120,11 +51997,11 @@ dir = 5 }, /area/security/courtroom) -"bWP" = ( +"cbn" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/security/courtroom) -"bWQ" = ( +"cbo" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ name = "Courtroom"; @@ -48137,10 +52014,10 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/security/courtroom) -"bWR" = ( +"cbp" = ( /turf/closed/wall, /area/lawoffice) -"bWS" = ( +"cbq" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ id = "lawyerprivacy"; @@ -48148,7 +52025,7 @@ }, /turf/open/floor/plating, /area/lawoffice) -"bWT" = ( +"cbr" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -48160,7 +52037,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/lawoffice) -"bWU" = ( +"cbs" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/door/poddoor/shutters/preopen{ @@ -48169,13 +52046,12 @@ }, /turf/open/floor/plating, /area/lawoffice) -"bWV" = ( +"cbt" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" @@ -48184,7 +52060,7 @@ dir = 8 }, /area/hallway/primary/starboard) -"bWW" = ( +"cbu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -48193,7 +52069,7 @@ }, /turf/open/floor/plasteel/red/side, /area/hallway/primary/starboard) -"bWX" = ( +"cbv" = ( /obj/machinery/flasher{ id = "brigflashdoor"; pixel_x = 26; @@ -48203,12 +52079,11 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/red/corner, /area/hallway/primary/starboard) -"bWY" = ( +"cbw" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_security{ cyclelinkeddir = 4; @@ -48226,7 +52101,7 @@ }, /turf/open/floor/plasteel, /area/security/brig) -"bWZ" = ( +"cbx" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/structure/sign/directions/engineering{ desc = "A sign that shows there are doors here. There are doors everywhere!"; @@ -48239,7 +52114,7 @@ }, /turf/open/floor/plasteel, /area/security/brig) -"bXa" = ( +"cby" = ( /obj/machinery/door/poddoor/preopen{ id = "brigfront"; name = "Brig Blast door" @@ -48250,11 +52125,29 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/security/brig) -"bXb" = ( +"cbz" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/glass_security{ + cyclelinkeddir = 8; + name = "Brig"; + req_access_txt = "63" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/security/brig) +"cbA" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /turf/open/floor/plasteel, /area/security/brig) -"bXc" = ( +"cbB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -48262,7 +52155,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/red/corner, /area/security/brig) -"bXd" = ( +"cbC" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -48270,7 +52163,7 @@ }, /turf/open/floor/plating, /area/security/warden) -"bXe" = ( +"cbD" = ( /obj/structure/table/reinforced, /obj/machinery/light_switch{ pixel_x = -38; @@ -48284,7 +52177,7 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/red/side, /area/security/warden) -"bXf" = ( +"cbE" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -48293,7 +52186,7 @@ }, /turf/open/floor/plasteel/red/side, /area/security/warden) -"bXg" = ( +"cbF" = ( /obj/structure/closet/secure_closet/warden, /obj/item/clothing/under/rank/warden/grey, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -48303,7 +52196,7 @@ dir = 6 }, /area/security/warden) -"bXh" = ( +"cbG" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -48311,7 +52204,7 @@ }, /turf/open/floor/plating, /area/ai_monitored/security/armory) -"bXi" = ( +"cbH" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -48322,7 +52215,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bXj" = ( +"cbI" = ( /obj/machinery/button/door{ id = "armouryaccess"; name = "Armoury Access"; @@ -48335,7 +52228,7 @@ }, /turf/open/floor/plasteel/red/side, /area/ai_monitored/security/armory) -"bXk" = ( +"cbJ" = ( /obj/structure/chair/office/dark, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -48344,7 +52237,7 @@ dir = 8 }, /area/ai_monitored/security/armory) -"bXl" = ( +"cbK" = ( /obj/structure/cable/white, /obj/machinery/power/apc{ dir = 2; @@ -48362,7 +52255,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bXm" = ( +"cbL" = ( /obj/structure/reagent_dispensers/peppertank{ pixel_x = 32 }, @@ -48383,7 +52276,7 @@ dir = 8 }, /area/ai_monitored/security/armory) -"bXn" = ( +"cbM" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -48400,12 +52293,12 @@ dir = 8 }, /area/ai_monitored/turret_protected/aisat_interior) -"bXo" = ( +"cbN" = ( /obj/structure/grille, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/engine/engineering) -"bXp" = ( +"cbO" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -48413,7 +52306,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/engine/engineering) -"bXq" = ( +"cbP" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -48421,7 +52314,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/engine/engineering) -"bXr" = ( +"cbQ" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -48431,7 +52324,7 @@ }, /turf/open/floor/plating/airless, /area/engine/engineering) -"bXs" = ( +"cbR" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -48439,7 +52332,7 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plating/airless, /area/engine/engineering) -"bXt" = ( +"cbS" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -48450,7 +52343,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/engine/engineering) -"bXu" = ( +"cbT" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -48458,7 +52351,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/engine/engineering) -"bXv" = ( +"cbU" = ( /obj/structure/closet/emcloset/anchored, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ @@ -48467,28 +52360,27 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"bXw" = ( +"cbV" = ( /obj/structure/sign/vacuum, /turf/closed/wall, /area/engine/engineering) -"bXx" = ( +"cbW" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plasteel, /area/engine/engineering) -"bXy" = ( +"cbX" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/engine/engineering) -"bXz" = ( +"cbY" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 @@ -48501,7 +52393,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bXA" = ( +"cbZ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -48513,7 +52405,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bXB" = ( +"cca" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/machinery/light_switch{ @@ -48535,7 +52427,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bXC" = ( +"ccb" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/disposalpipe/segment{ dir = 4 @@ -48545,7 +52437,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bXD" = ( +"ccc" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -48555,7 +52447,7 @@ /obj/structure/cable/white{ icon_state = "2-4" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ name = "Engineering Junction"; sortType = 4 }, @@ -48564,7 +52456,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bXE" = ( +"ccd" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -48577,7 +52469,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bXF" = ( +"cce" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -48592,7 +52484,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bXG" = ( +"ccf" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -48610,7 +52502,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bXH" = ( +"ccg" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -48620,7 +52512,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/engine/engineering) -"bXI" = ( +"cch" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -48632,7 +52524,7 @@ }, /turf/open/floor/circuit/green, /area/engine/engineering) -"bXJ" = ( +"cci" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -48641,7 +52533,7 @@ }, /turf/open/floor/circuit/green, /area/engine/engineering) -"bXK" = ( +"ccj" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -48658,35 +52550,26 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"bXL" = ( +"cck" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/firecloset, /turf/open/floor/plasteel/neutral/side{ dir = 9 }, /area/maintenance/port) -"bXM" = ( +"ccl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/port) -"bXN" = ( +"ccm" = ( /obj/structure/closet/crate, /obj/effect/spawner/lootdrop/maintenance{ lootcount = 3; name = "3maintenance loot spawner" }, -/obj/machinery/power/apc{ - dir = 4; - name = "Port Maintenance APC"; - areastring = "/area/maintenance/port"; - pixel_x = 26 - }, -/obj/structure/cable/white{ - icon_state = "0-2" - }, /turf/open/floor/plating, /area/maintenance/port) -"bXO" = ( +"ccn" = ( /obj/structure/table/wood, /obj/machinery/computer/libraryconsole, /obj/machinery/light_switch{ @@ -48694,25 +52577,25 @@ }, /turf/open/floor/plasteel/black, /area/library) -"bXP" = ( +"cco" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/library) -"bXQ" = ( +"ccp" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/library) -"bXR" = ( +"ccq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/grimy, /area/library) -"bXS" = ( +"ccr" = ( /turf/open/floor/plasteel/black, /area/library) -"bXT" = ( +"ccs" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, @@ -48723,7 +52606,7 @@ dir = 5 }, /area/library) -"bXU" = ( +"cct" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /obj/machinery/computer/security/telescreen/entertainment{ @@ -48735,7 +52618,7 @@ }, /turf/open/floor/plasteel/black, /area/library) -"bXV" = ( +"ccu" = ( /obj/machinery/light/small{ dir = 1 }, @@ -48749,12 +52632,12 @@ dir = 5 }, /area/library) -"bXW" = ( +"ccv" = ( /obj/machinery/computer/libraryconsole, /obj/structure/table/wood, /turf/open/floor/plasteel/black, /area/library) -"bXX" = ( +"ccw" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -48766,7 +52649,7 @@ dir = 1 }, /area/hallway/primary/central) -"bXY" = ( +"ccx" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -48775,17 +52658,19 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"bXZ" = ( +"ccy" = ( /obj/effect/landmark/lightsout, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/blue/corner, /area/hallway/primary/central) -"bYa" = ( +"ccz" = ( /obj/machinery/status_display, /turf/closed/wall/r_wall, /area/crew_quarters/heads/hop) -"bYb" = ( -/obj/machinery/computer/secure_data, +"ccA" = ( +/obj/machinery/computer/secure_data{ + dir = 4 + }, /obj/machinery/light{ dir = 8 }, @@ -48793,13 +52678,13 @@ dir = 8 }, /area/crew_quarters/heads/hop) -"bYc" = ( +"ccB" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"bYd" = ( +"ccC" = ( /obj/structure/table/wood, /obj/machinery/light, /obj/item/stack/packageWrap, @@ -48807,7 +52692,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"bYe" = ( +"ccD" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -48821,7 +52706,7 @@ dir = 8 }, /area/tcommsat/server) -"bYf" = ( +"ccE" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -48829,7 +52714,7 @@ dir = 10 }, /area/tcommsat/server) -"bYg" = ( +"ccF" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -48843,7 +52728,7 @@ dir = 5 }, /area/tcommsat/server) -"bYh" = ( +"ccG" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -48851,7 +52736,7 @@ dir = 5 }, /area/tcommsat/server) -"bYi" = ( +"ccH" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -48860,7 +52745,7 @@ dir = 5 }, /area/tcommsat/server) -"bYj" = ( +"ccI" = ( /obj/structure/table/glass, /obj/structure/cable/white{ icon_state = "1-2" @@ -48871,7 +52756,7 @@ }, /turf/open/floor/circuit/green/telecomms/mainframe, /area/tcommsat/server) -"bYl" = ( +"ccJ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -48884,7 +52769,7 @@ dir = 5 }, /area/tcommsat/server) -"bYm" = ( +"ccK" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -48892,7 +52777,7 @@ dir = 6 }, /area/tcommsat/server) -"bYn" = ( +"ccL" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -48900,7 +52785,7 @@ dir = 8 }, /area/tcommsat/server) -"bYo" = ( +"ccM" = ( /obj/structure/table/wood, /obj/item/pinpointer/nuke, /obj/item/disk/nuclear, @@ -48911,7 +52796,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain/private) -"bYp" = ( +"ccN" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -48921,19 +52806,19 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain/private) -"bYq" = ( +"ccO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) -"bYr" = ( +"ccP" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) -"bYs" = ( +"ccQ" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp/green, /obj/structure/window/reinforced{ @@ -48945,20 +52830,20 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain/private) -"bYt" = ( +"ccR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain/private) -"bYu" = ( +"ccS" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain/private) -"bYv" = ( +"ccT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/structure/extinguisher_cabinet{ @@ -48966,7 +52851,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"bYw" = ( +"ccU" = ( /obj/machinery/vending/snack/random, /obj/machinery/light{ dir = 8 @@ -48976,28 +52861,42 @@ }, /turf/open/floor/plasteel/vault, /area/security/courtroom) -"bYx" = ( +"ccV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/vault, /area/security/courtroom) -"bYy" = ( +"ccW" = ( /turf/open/floor/plasteel/vault, /area/security/courtroom) -"bYz" = ( +"ccX" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/vault, /area/security/courtroom) -"bYB" = ( +"ccY" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Courtroom - Fore"; + dir = 2; + name = "security camera" + }, +/obj/structure/sign/poster/official/report_crimes{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/vault, +/area/security/courtroom) +"ccZ" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/courtroom) -"bYC" = ( +"cda" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/neutral/side{ dir = 1 }, /area/security/courtroom) -"bYD" = ( +"cdb" = ( /obj/machinery/newscaster{ pixel_y = 32 }, @@ -49006,7 +52905,7 @@ dir = 1 }, /area/security/courtroom) -"bYE" = ( +"cdc" = ( /obj/machinery/airalarm{ pixel_y = 22 }, @@ -49014,7 +52913,7 @@ dir = 1 }, /area/security/courtroom) -"bYF" = ( +"cdd" = ( /obj/machinery/light{ dir = 1 }, @@ -49025,7 +52924,7 @@ dir = 1 }, /area/security/courtroom) -"bYG" = ( +"cde" = ( /obj/machinery/light_switch{ pixel_x = 26; pixel_y = 26 @@ -49038,13 +52937,13 @@ dir = 1 }, /area/security/courtroom) -"bYH" = ( +"cdf" = ( /obj/structure/closet/secure_closet/courtroom, /turf/open/floor/plasteel/neutral/side{ dir = 5 }, /area/security/courtroom) -"bYI" = ( +"cdg" = ( /obj/structure/table/wood, /obj/item/book/manual/wiki/security_space_law, /obj/item/book/manual/wiki/security_space_law, @@ -49063,20 +52962,20 @@ }, /turf/open/floor/wood, /area/lawoffice) -"bYJ" = ( +"cdh" = ( /obj/structure/table/wood, /obj/item/clipboard, /obj/item/toy/figure/lawyer, /turf/open/floor/wood, /area/lawoffice) -"bYK" = ( +"cdi" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/lawoffice) -"bYL" = ( +"cdj" = ( /obj/machinery/light_switch{ pixel_x = 26; pixel_y = 26 @@ -49084,7 +52983,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/lawoffice) -"bYM" = ( +"cdk" = ( /obj/structure/closet/lawcloset, /obj/machinery/firealarm{ dir = 4; @@ -49092,10 +52991,10 @@ }, /turf/open/floor/wood, /area/lawoffice) -"bYN" = ( +"cdl" = ( /turf/closed/wall/r_wall, /area/lawoffice) -"bYO" = ( +"cdm" = ( /obj/machinery/door/firedoor, /obj/structure/table/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -49114,7 +53013,7 @@ }, /turf/open/floor/plasteel/red, /area/security/brig) -"bYP" = ( +"cdn" = ( /obj/machinery/firealarm{ dir = 8; pixel_x = -24 @@ -49129,7 +53028,7 @@ dir = 8 }, /area/security/brig) -"bYQ" = ( +"cdo" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -49138,7 +53037,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/brig) -"bYR" = ( +"cdp" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_x = 26; @@ -49155,7 +53054,33 @@ dir = 4 }, /area/security/brig) -"bYT" = ( +"cdq" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/structure/cable/white{ + icon_state = "1-4" + }, +/obj/machinery/door/window/brigdoor/northright{ + name = "Warden's Desk"; + req_access_txt = "3" + }, +/obj/machinery/door/window/southright{ + name = "Warden's Desk" + }, +/obj/item/folder/red, +/obj/item/pen, +/obj/item/poster/random_official{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/poster/random_official, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/security/warden) +"cdr" = ( /obj/machinery/door/poddoor{ id = "armouryaccess"; name = "Armoury Access" @@ -49168,7 +53093,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bYU" = ( +"cds" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/machinery/door/window/brigdoor/northright{ @@ -49183,31 +53108,31 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) -"bYV" = ( +"cdt" = ( /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/ai_upload) -"bYW" = ( +"cdu" = ( /obj/machinery/ai_status_display, /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/ai_upload) -"bYX" = ( +"cdv" = ( /obj/machinery/porta_turret/ai, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ai_monitored/turret_protected/ai_upload) -"bYY" = ( +"cdw" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light{ dir = 1 }, /turf/open/floor/plasteel/vault, /area/ai_monitored/turret_protected/ai_upload) -"bYZ" = ( +"cdx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/vault, /area/ai_monitored/turret_protected/ai_upload) -"bZa" = ( +"cdy" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -49215,7 +53140,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/ai_upload) -"bZb" = ( +"cdz" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/camera/motion{ c_tag = "AI - Upload"; @@ -49224,7 +53149,7 @@ }, /turf/open/floor/plasteel/vault, /area/ai_monitored/turret_protected/ai_upload) -"bZd" = ( +"cdA" = ( /obj/machinery/firealarm{ pixel_y = 24 }, @@ -49233,24 +53158,24 @@ dir = 8 }, /area/ai_monitored/turret_protected/ai_upload) -"bZe" = ( +"cdB" = ( /obj/structure/grille, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plating/airless, /area/space) -"bZf" = ( +"cdC" = ( /turf/open/floor/plating/airless, /area/engine/engineering) -"bZg" = ( +"cdD" = ( /obj/structure/cable/white, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plating/airless, /area/engine/engineering) -"bZh" = ( +"cdE" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -49260,7 +53185,7 @@ }, /turf/open/floor/plating/airless, /area/engine/engineering) -"bZi" = ( +"cdF" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -49270,14 +53195,14 @@ }, /turf/open/floor/plating/airless, /area/engine/engineering) -"bZj" = ( +"cdG" = ( /obj/structure/cable/white{ icon_state = "1-4" }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, /area/engine/engineering) -"bZk" = ( +"cdH" = ( /obj/machinery/door/airlock/external{ cyclelinkeddir = 4; name = "External Containment Access"; @@ -49295,33 +53220,61 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bZl" = ( +"cdI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" }, -/obj/structure/fans/tiny, /obj/effect/turf_decal/delivery, -/obj/structure/barricade/wooden, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, /turf/open/floor/plasteel, /area/engine/engineering) -"bZm" = ( +"cdJ" = ( +/obj/machinery/door/airlock/external{ + cyclelinkeddir = 8; + name = "External Containment Access"; + req_access_txt = "10; 13" + }, +/obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" }, /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, /turf/open/floor/plasteel, /area/engine/engineering) -"bZn" = ( +"cdK" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cdL" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, /turf/open/floor/plasteel/neutral, /area/engine/engineering) -"bZo" = ( +"cdM" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -49330,29 +53283,28 @@ }, /turf/open/floor/plasteel/yellow, /area/engine/engineering) -"bZp" = ( +"cdN" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/neutral, /area/engine/engineering) -"bZq" = ( +"cdO" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/yellow, /area/engine/engineering) -"bZr" = ( +"cdP" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/yellow, /area/engine/engineering) -"bZs" = ( +"cdQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "2-8" @@ -49362,24 +53314,23 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/neutral, /area/engine/engineering) -"bZt" = ( +"cdR" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /turf/open/floor/plasteel/yellow, /area/engine/engineering) -"bZu" = ( +"cdS" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/engine/engineering) -"bZv" = ( +"cdT" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-4" @@ -49395,7 +53346,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bZw" = ( +"cdU" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-8" @@ -49418,7 +53369,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bZx" = ( +"cdV" = ( /obj/machinery/power/terminal{ dir = 1 }, @@ -49433,7 +53384,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bZy" = ( +"cdW" = ( /obj/machinery/power/terminal{ dir = 1 }, @@ -49448,7 +53399,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bZz" = ( +"cdX" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light_switch{ pixel_x = 26; @@ -49471,7 +53422,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"bZA" = ( +"cdY" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance, @@ -49479,7 +53430,7 @@ dir = 9 }, /area/maintenance/port) -"bZB" = ( +"cdZ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable/white{ @@ -49488,27 +53439,24 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port) -"bZC" = ( +"cea" = ( /turf/open/floor/plating, /area/maintenance/port) -"bZD" = ( +"ceb" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port) -"bZE" = ( +"cec" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/maintenance/port) -"bZF" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, +"ced" = ( /turf/open/floor/plasteel/neutral/side{ dir = 4 }, /area/maintenance/port) -"bZG" = ( +"cee" = ( /obj/structure/table/wood, /obj/item/folder, /obj/item/pen, @@ -49519,20 +53467,20 @@ dir = 5 }, /area/library) -"bZH" = ( +"cef" = ( /obj/structure/chair/office/dark{ dir = 8 }, /obj/effect/landmark/start/librarian, /turf/open/floor/plasteel/black, /area/library) -"bZI" = ( +"ceg" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /turf/open/floor/plasteel/grimy, /area/library) -"bZJ" = ( +"ceh" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, @@ -49540,7 +53488,7 @@ dir = 5 }, /area/library) -"bZK" = ( +"cei" = ( /obj/structure/chair/comfy/black{ dir = 8 }, @@ -49554,20 +53502,20 @@ }, /turf/open/floor/plasteel/black, /area/library) -"bZL" = ( +"cej" = ( /obj/machinery/photocopier, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/library) -"bZM" = ( +"cek" = ( /obj/structure/chair/office/dark{ dir = 1 }, /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/black, /area/library) -"bZN" = ( +"cel" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, @@ -49578,27 +53526,27 @@ dir = 5 }, /area/library) -"bZO" = ( +"cem" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /turf/open/floor/plasteel/blue/corner, /area/hallway/primary/central) -"bZP" = ( +"cen" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/hallway/primary/central) -"bZQ" = ( +"ceo" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/primary/central) -"bZR" = ( +"cep" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -49607,7 +53555,7 @@ dir = 5 }, /area/crew_quarters/heads/hop) -"bZS" = ( +"ceq" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -49619,7 +53567,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"bZT" = ( +"cer" = ( /obj/machinery/power/apc{ dir = 4; name = "HoP Office APC"; @@ -49637,10 +53585,11 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"bZU" = ( +"ces" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/crew_quarters/heads/hop) -"bZV" = ( +"cet" = ( /obj/machinery/power/apc{ dir = 8; name = "Telecomms Server Room APC"; @@ -49652,7 +53601,7 @@ dir = 8 }, /area/tcommsat/server) -"bZW" = ( +"ceu" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -49660,7 +53609,7 @@ dir = 10 }, /area/tcommsat/server) -"bZX" = ( +"cev" = ( /obj/machinery/telecomms/broadcaster/preset_left, /obj/structure/cable/white{ icon_state = "4-8" @@ -49670,7 +53619,7 @@ }, /turf/open/floor/circuit/telecomms/mainframe, /area/tcommsat/server) -"bZY" = ( +"cew" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -49681,7 +53630,7 @@ dir = 5 }, /area/tcommsat/server) -"bZZ" = ( +"cex" = ( /obj/machinery/message_server, /obj/structure/cable/white{ icon_state = "4-8" @@ -49691,7 +53640,7 @@ }, /turf/open/floor/circuit/green/telecomms/mainframe, /area/tcommsat/server) -"caa" = ( +"cey" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -49703,7 +53652,7 @@ dir = 5 }, /area/tcommsat/server) -"cab" = ( +"cez" = ( /obj/machinery/telecomms/hub/preset, /obj/structure/cable/white{ icon_state = "4-8" @@ -49719,7 +53668,7 @@ }, /turf/open/floor/circuit/green/telecomms/mainframe, /area/tcommsat/server) -"cad" = ( +"ceA" = ( /obj/machinery/blackbox_recorder, /obj/structure/cable/white{ icon_state = "4-8" @@ -49729,7 +53678,7 @@ }, /turf/open/floor/circuit/green/telecomms/mainframe, /area/tcommsat/server) -"cae" = ( +"ceB" = ( /obj/machinery/telecomms/broadcaster/preset_right, /obj/structure/cable/white{ icon_state = "4-8" @@ -49739,7 +53688,7 @@ }, /turf/open/floor/circuit/telecomms/mainframe, /area/tcommsat/server) -"caf" = ( +"ceC" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -49753,7 +53702,7 @@ dir = 6 }, /area/tcommsat/server) -"cag" = ( +"ceD" = ( /obj/machinery/power/smes{ charge = 5e+006 }, @@ -49762,7 +53711,7 @@ dir = 8 }, /area/tcommsat/server) -"cah" = ( +"ceE" = ( /obj/structure/table/wood, /obj/item/folder/blue, /obj/item/pen/fourcolor, @@ -49772,7 +53721,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain/private) -"cai" = ( +"ceF" = ( /obj/structure/chair/comfy/brown{ color = "#c45c57"; dir = 8; @@ -49783,12 +53732,11 @@ }, /obj/effect/landmark/start/captain, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain/private) -"caj" = ( +"ceG" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -49798,7 +53746,7 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) -"cak" = ( +"ceH" = ( /obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "4-8" @@ -49808,12 +53756,11 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) -"cal" = ( +"ceI" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -49822,7 +53769,7 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) -"cam" = ( +"ceJ" = ( /obj/machinery/door/window/brigdoor/westleft{ name = "Captain's Bedroom"; req_access_txt = "20" @@ -49832,10 +53779,10 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain/private) -"can" = ( +"ceK" = ( /turf/open/floor/carpet, /area/crew_quarters/heads/captain/private) -"cao" = ( +"ceL" = ( /obj/machinery/light/small{ dir = 4 }, @@ -49847,7 +53794,7 @@ /obj/effect/landmark/start/captain, /turf/open/floor/carpet, /area/crew_quarters/heads/captain/private) -"cap" = ( +"ceM" = ( /obj/structure/table, /obj/machinery/microwave{ pixel_x = -2; @@ -49860,13 +53807,13 @@ dir = 5 }, /area/security/courtroom) -"caq" = ( +"ceN" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/security/courtroom) -"car" = ( +"ceO" = ( /obj/structure/chair{ dir = 4 }, @@ -49874,7 +53821,7 @@ dir = 5 }, /area/security/courtroom) -"cas" = ( +"ceP" = ( /obj/structure/chair{ dir = 2; name = "Prosecution" @@ -49883,7 +53830,7 @@ dir = 9 }, /area/security/courtroom) -"cat" = ( +"ceQ" = ( /obj/structure/chair{ dir = 2; name = "Prosecution" @@ -49892,7 +53839,7 @@ dir = 5 }, /area/security/courtroom) -"cau" = ( +"ceR" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -49901,7 +53848,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/courtroom) -"cav" = ( +"ceS" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -49910,7 +53857,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/courtroom) -"caw" = ( +"ceT" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -49920,7 +53867,7 @@ /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /turf/open/floor/plasteel/neutral, /area/security/courtroom) -"cax" = ( +"ceU" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -49931,7 +53878,7 @@ dir = 4 }, /area/security/courtroom) -"cay" = ( +"ceV" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -49946,7 +53893,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/lawoffice) -"caz" = ( +"ceW" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -49958,7 +53905,7 @@ }, /turf/open/floor/wood, /area/lawoffice) -"caA" = ( +"ceX" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -49968,7 +53915,7 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/grimy, /area/lawoffice) -"caB" = ( +"ceY" = ( /obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "1-8" @@ -49982,7 +53929,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/lawoffice) -"caC" = ( +"ceZ" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -49992,7 +53939,7 @@ }, /turf/open/floor/plasteel/grimy, /area/lawoffice) -"caD" = ( +"cfa" = ( /obj/structure/filingcabinet/employment, /obj/machinery/airalarm{ dir = 8; @@ -50000,16 +53947,18 @@ }, /turf/open/floor/wood, /area/lawoffice) -"caE" = ( +"cfb" = ( +/obj/machinery/computer/security{ + dir = 4 + }, /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/machinery/computer/secure_data, /turf/open/floor/plasteel/red/side{ dir = 9 }, /area/security/brig) -"caF" = ( +"cfc" = ( /obj/structure/chair/office/dark{ dir = 1 }, @@ -50019,7 +53968,7 @@ dir = 1 }, /area/security/brig) -"caG" = ( +"cfd" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -50048,7 +53997,7 @@ dir = 5 }, /area/security/brig) -"caH" = ( +"cfe" = ( /obj/structure/chair, /obj/machinery/light/small{ dir = 1 @@ -50057,14 +54006,14 @@ dir = 9 }, /area/security/brig) -"caI" = ( +"cff" = ( /obj/structure/chair, /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/red/side{ dir = 1 }, /area/security/brig) -"caJ" = ( +"cfg" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, @@ -50072,7 +54021,7 @@ dir = 1 }, /area/security/brig) -"caK" = ( +"cfh" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -50085,7 +54034,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/brig) -"caL" = ( +"cfi" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -50099,7 +54048,7 @@ }, /turf/open/floor/plasteel, /area/security/brig) -"caM" = ( +"cfj" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -50110,7 +54059,7 @@ dir = 9 }, /area/security/brig) -"caN" = ( +"cfk" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -50121,7 +54070,7 @@ dir = 1 }, /area/security/brig) -"caO" = ( +"cfl" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -50135,7 +54084,7 @@ dir = 1 }, /area/security/brig) -"caP" = ( +"cfm" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -50157,7 +54106,7 @@ dir = 1 }, /area/security/brig) -"caQ" = ( +"cfn" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_y = 26 @@ -50169,7 +54118,7 @@ dir = 1 }, /area/security/brig) -"caR" = ( +"cfo" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -50177,7 +54126,7 @@ dir = 1 }, /area/security/brig) -"caS" = ( +"cfp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, @@ -50185,19 +54134,19 @@ dir = 1 }, /area/security/brig) -"caT" = ( +"cfq" = ( /obj/structure/closet/secure_closet/security/sec, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel/red/side{ dir = 5 }, /area/security/brig) -"caU" = ( +"cfr" = ( /obj/structure/closet/secure_closet/security/sec, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel/red, /area/security/brig) -"caV" = ( +"cfs" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/brigdoor{ dir = 4; @@ -50220,21 +54169,21 @@ dir = 8 }, /area/ai_monitored/turret_protected/ai_upload) -"caW" = ( +"cft" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/ai_monitored/turret_protected/ai_upload) -"caX" = ( +"cfu" = ( /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai_upload) -"caY" = ( +"cfv" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai_upload) -"caZ" = ( +"cfw" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -50245,20 +54194,20 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai_upload) -"cba" = ( +"cfx" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai_upload) -"cbb" = ( +"cfy" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai_upload) -"cbc" = ( +"cfz" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/brigdoor/westright{ name = "Core Modules"; @@ -50280,11 +54229,11 @@ dir = 8 }, /area/ai_monitored/turret_protected/ai_upload) -"cbd" = ( +"cfA" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/engine/engineering) -"cbe" = ( +"cfB" = ( /obj/machinery/camera/emp_proof{ c_tag = "Containment - Fore Starboard"; dir = 8; @@ -50292,11 +54241,11 @@ }, /turf/open/floor/plating/airless, /area/engine/engineering) -"cbf" = ( +"cfC" = ( /obj/structure/sign/vacuum, /turf/closed/wall/r_wall, /area/engine/engineering) -"cbg" = ( +"cfD" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light{ dir = 8 @@ -50309,11 +54258,29 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cbh" = ( +"cfE" = ( /obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, /turf/open/floor/plasteel, /area/engine/engineering) -"cbi" = ( +"cfF" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cfG" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cfH" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, @@ -50322,7 +54289,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cbj" = ( +"cfI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -50332,7 +54299,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/engine/engineering) -"cbk" = ( +"cfJ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -50346,7 +54313,7 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, /area/engine/engineering) -"cbl" = ( +"cfK" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/structure/cable{ @@ -50355,7 +54322,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/engineering) -"cbm" = ( +"cfL" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -50365,7 +54332,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/engineering) -"cbn" = ( +"cfM" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -50380,7 +54347,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cbo" = ( +"cfN" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-2" @@ -50394,7 +54361,7 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"cbp" = ( +"cfO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -50410,7 +54377,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cbq" = ( +"cfP" = ( /obj/structure/chair/office/dark, /obj/effect/landmark/start/station_engineer, /obj/structure/cable{ @@ -50422,7 +54389,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/engineering) -"cbr" = ( +"cfQ" = ( /obj/structure/sign/electricshock{ pixel_x = 32 }, @@ -50442,7 +54409,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cbs" = ( +"cfR" = ( /obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance{ lootcount = 2; @@ -50450,31 +54417,25 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cbt" = ( +"cfS" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/neutral, /area/maintenance/port) -"cbu" = ( +"cfT" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port) -"cbv" = ( +"cfU" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/port) -"cbw" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/port) -"cbx" = ( +"cfV" = ( /obj/machinery/light{ dir = 8 }, @@ -50484,30 +54445,30 @@ }, /turf/open/floor/wood, /area/library) -"cby" = ( +"cfW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/wood, /area/library) -"cbz" = ( +"cfX" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/library) -"cbA" = ( +"cfY" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light/small{ dir = 4 }, /turf/open/floor/wood, /area/library) -"cbB" = ( +"cfZ" = ( /obj/structure/sign/nosmoking_2, /turf/closed/wall, /area/library) -"cbC" = ( +"cga" = ( /obj/machinery/door/morgue{ name = "Private Study" }, @@ -50516,7 +54477,7 @@ dir = 5 }, /area/library) -"cbD" = ( +"cgb" = ( /obj/structure/sign/kiddieplaque/library{ pixel_x = -32 }, @@ -50525,17 +54486,24 @@ dir = 8 }, /area/hallway/primary/central) -"cbE" = ( +"cgc" = ( /obj/structure/sign/electricshock, /turf/closed/wall/r_wall, /area/crew_quarters/heads/hop) -"cbF" = ( -/obj/machinery/computer/cargo/request, +"cgd" = ( +/obj/machinery/computer/cargo/request{ + dir = 4 + }, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/crew_quarters/heads/hop) -"cbG" = ( +"cge" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/grimy, +/area/crew_quarters/heads/hop) +"cgf" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -50544,14 +54512,14 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"cbH" = ( +"cgg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"cbI" = ( +"cgh" = ( /obj/structure/table/wood, /obj/machinery/light{ dir = 1 @@ -50562,7 +54530,7 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"cbJ" = ( +"cgi" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -50570,31 +54538,42 @@ dir = 10 }, /area/tcommsat/server) -"cbK" = ( +"cgj" = ( /turf/open/floor/plasteel/vault/telecomms{ dir = 10 }, /area/tcommsat/server) -"cbL" = ( +"cgk" = ( +/obj/machinery/atmospherics/pipe/simple/general/hidden, +/turf/open/floor/plasteel/vault/telecomms{ + dir = 10 + }, +/area/tcommsat/server) +"cgl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/vault/telecomms{ dir = 5 }, /area/tcommsat/server) -"cbM" = ( +"cgm" = ( /obj/machinery/ntnet_relay, /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/circuit/green/telecomms/mainframe, /area/tcommsat/server) -"cbN" = ( +"cgn" = ( /obj/machinery/atmospherics/pipe/simple/general/hidden, /turf/open/floor/plasteel/vault/telecomms{ dir = 6 }, /area/tcommsat/server) -"cbO" = ( +"cgo" = ( +/turf/open/floor/plasteel/vault/telecomms{ + dir = 6 + }, +/area/tcommsat/server) +"cgp" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -50602,7 +54581,7 @@ dir = 6 }, /area/tcommsat/server) -"cbP" = ( +"cgq" = ( /obj/machinery/camera{ c_tag = "Telecomms - Chamber Starboard"; dir = 8; @@ -50613,7 +54592,7 @@ dir = 8 }, /area/tcommsat/server) -"cbQ" = ( +"cgr" = ( /obj/structure/table/wood, /obj/item/device/radio/intercom{ dir = 8; @@ -50628,7 +54607,7 @@ /obj/item/razor, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain/private) -"cbR" = ( +"cgs" = ( /obj/structure/table/wood, /obj/machinery/computer/security/wooden_tv, /obj/machinery/light/small, @@ -50637,7 +54616,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain/private) -"cbS" = ( +"cgt" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/airalarm{ dir = 1; @@ -50646,7 +54625,7 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) -"cbT" = ( +"cgu" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -50657,7 +54636,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) -"cbU" = ( +"cgv" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/firealarm{ dir = 1; @@ -50673,7 +54652,7 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) -"cbV" = ( +"cgw" = ( /obj/structure/table/wood, /obj/machinery/recharger, /obj/structure/window/reinforced{ @@ -50688,15 +54667,15 @@ /obj/structure/cable/white, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/captain/private) -"cbW" = ( +"cgx" = ( /obj/structure/filingcabinet/security, /turf/open/floor/carpet, /area/crew_quarters/heads/captain/private) -"cbX" = ( +"cgy" = ( /obj/structure/dresser, /turf/open/floor/carpet, /area/crew_quarters/heads/captain/private) -"cbY" = ( +"cgz" = ( /obj/structure/table, /obj/machinery/ai_status_display{ pixel_x = -32 @@ -50706,7 +54685,7 @@ dir = 5 }, /area/security/courtroom) -"cbZ" = ( +"cgA" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, @@ -50714,7 +54693,7 @@ dir = 5 }, /area/security/courtroom) -"cca" = ( +"cgB" = ( /obj/structure/chair{ dir = 4 }, @@ -50726,7 +54705,7 @@ dir = 5 }, /area/security/courtroom) -"ccb" = ( +"cgC" = ( /obj/structure/chair{ dir = 4 }, @@ -50737,7 +54716,7 @@ dir = 5 }, /area/security/courtroom) -"ccc" = ( +"cgD" = ( /obj/structure/table/wood, /obj/item/folder/red, /obj/item/pen, @@ -50745,7 +54724,7 @@ dir = 9 }, /area/security/courtroom) -"ccd" = ( +"cgE" = ( /obj/structure/table/wood, /obj/item/device/radio/intercom{ name = "Station Intercom" @@ -50754,7 +54733,7 @@ dir = 1 }, /area/security/courtroom) -"cce" = ( +"cgF" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -50762,7 +54741,7 @@ dir = 1 }, /area/security/courtroom) -"ccf" = ( +"cgG" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, @@ -50770,7 +54749,7 @@ dir = 1 }, /area/security/courtroom) -"ccg" = ( +"cgH" = ( /obj/structure/table/wood, /obj/item/folder/blue, /obj/item/pen, @@ -50782,7 +54761,7 @@ dir = 8 }, /area/security/courtroom) -"cch" = ( +"cgI" = ( /obj/structure/chair{ dir = 8; name = "Judge" @@ -50795,13 +54774,13 @@ }, /turf/open/floor/plasteel/neutral, /area/security/courtroom) -"cci" = ( +"cgJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/lawoffice) -"ccj" = ( +"cgK" = ( /obj/machinery/light{ dir = 8 }, @@ -50816,7 +54795,7 @@ }, /turf/open/floor/wood, /area/lawoffice) -"cck" = ( +"cgL" = ( /obj/structure/table/wood, /obj/item/folder/yellow, /obj/item/clothing/glasses/sunglasses/big{ @@ -50829,7 +54808,7 @@ }, /turf/open/floor/plasteel/grimy, /area/lawoffice) -"ccl" = ( +"cgM" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -50841,7 +54820,7 @@ }, /turf/open/floor/plasteel/grimy, /area/lawoffice) -"ccm" = ( +"cgN" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -50849,72 +54828,64 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/grimy, /area/lawoffice) -"ccn" = ( +"cgO" = ( /obj/structure/disposalpipe/trunk{ dir = 8 }, /obj/machinery/disposal/bin, /turf/open/floor/wood, /area/lawoffice) -"cco" = ( +"cgP" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, /obj/machinery/newscaster/security_unit{ pixel_x = -32 }, -/obj/structure/cable/white{ - icon_state = "1-4" +/obj/machinery/computer/secure_data{ + dir = 4 }, -/obj/machinery/computer/security, /turf/open/floor/plasteel/red/side{ dir = 8 }, /area/security/brig) -"ccp" = ( +"cgQ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, /turf/open/floor/plasteel/neutral, /area/security/brig) -"ccq" = ( +"cgR" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "1-4" - }, /turf/open/floor/plasteel/red/side{ dir = 4 }, /area/security/brig) -"ccr" = ( +"cgS" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, /turf/open/floor/plasteel/red/corner{ dir = 1 }, /area/security/brig) -"ccs" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +"cgT" = ( /obj/structure/cable/white{ - icon_state = "4-8" + icon_state = "2-4" }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel, /area/security/brig) -"cct" = ( +"cgU" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -50932,7 +54903,7 @@ }, /turf/open/floor/plasteel, /area/security/brig) -"ccu" = ( +"cgV" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -50942,7 +54913,7 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, /area/security/brig) -"ccv" = ( +"cgW" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -50954,7 +54925,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/brig) -"ccw" = ( +"cgX" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -50964,7 +54935,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/red/corner, /area/security/brig) -"ccx" = ( +"cgY" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -50974,7 +54945,7 @@ }, /turf/open/floor/plating, /area/security/brig) -"ccy" = ( +"cgZ" = ( /obj/structure/table/reinforced, /obj/item/restraints/handcuffs, /obj/item/device/assembly/flash/handheld, @@ -50985,7 +54956,7 @@ dir = 8 }, /area/security/brig) -"ccz" = ( +"cha" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -32; pixel_y = -64 @@ -50996,7 +54967,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/brig) -"ccA" = ( +"chb" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -51009,14 +54980,14 @@ }, /turf/open/floor/plasteel/neutral, /area/security/brig) -"ccB" = ( +"chc" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/effect/landmark/start/security_officer, /turf/open/floor/plasteel/neutral, /area/security/brig) -"ccC" = ( +"chd" = ( /obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "4-8" @@ -51024,7 +54995,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/security/brig) -"ccD" = ( +"che" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -51034,13 +55005,13 @@ }, /turf/open/floor/plasteel/neutral, /area/security/brig) -"ccE" = ( +"chf" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/neutral, /area/security/brig) -"ccF" = ( +"chg" = ( /obj/machinery/newscaster/security_unit{ pixel_x = 32; pixel_y = -32 @@ -51056,7 +55027,7 @@ dir = 4 }, /area/security/brig) -"ccG" = ( +"chh" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -51070,7 +55041,7 @@ }, /turf/open/space, /area/space) -"ccH" = ( +"chi" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -51084,7 +55055,7 @@ }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/ai_upload) -"ccI" = ( +"chj" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -51104,7 +55075,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/ai_upload) -"ccJ" = ( +"chk" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -51112,7 +55083,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai_upload) -"ccK" = ( +"chl" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -51124,7 +55095,7 @@ }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai_upload) -"ccL" = ( +"chm" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -51135,7 +55106,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai_upload) -"ccM" = ( +"chn" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -51153,7 +55124,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai_upload) -"ccN" = ( +"cho" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -51164,14 +55135,14 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai_upload) -"ccO" = ( +"chp" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai_upload) -"ccP" = ( +"chq" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -51195,7 +55166,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/ai_upload) -"ccQ" = ( +"chr" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -51209,7 +55180,7 @@ }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/ai_upload) -"ccR" = ( +"chs" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -51222,7 +55193,7 @@ }, /turf/open/space, /area/space) -"ccS" = ( +"cht" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -51233,12 +55204,12 @@ }, /turf/open/space, /area/space) -"ccT" = ( +"chu" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/engine/engineering) -"ccU" = ( +"chv" = ( /obj/machinery/door/poddoor/shutters/preopen{ id = "engpa"; name = "Engineering Chamber Shutters" @@ -51248,37 +55219,37 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"ccV" = ( +"chw" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/engine/engineering) -"ccW" = ( +"chx" = ( /turf/open/floor/plasteel/yellow/side{ dir = 1 }, /area/engine/engineering) -"ccX" = ( +"chy" = ( /turf/open/floor/plasteel/yellow/side{ dir = 5 }, /area/engine/engineering) -"ccY" = ( +"chz" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/engine/engineering) -"ccZ" = ( +"chA" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/yellow, /area/engine/engineering) -"cda" = ( +"chB" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -51288,12 +55259,12 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cdb" = ( +"chC" = ( /turf/open/floor/plasteel/yellow/side{ dir = 9 }, /area/engine/engineering) -"cdc" = ( +"chD" = ( /obj/machinery/vending/engivend, /obj/structure/cable/white{ icon_state = "1-4" @@ -51301,7 +55272,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/engineering) -"cdd" = ( +"chE" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/white{ @@ -51309,7 +55280,7 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"cde" = ( +"chF" = ( /obj/machinery/firealarm{ dir = 8; pixel_x = -24; @@ -51326,47 +55297,54 @@ dir = 1; name = "engineering camera" }, -/obj/machinery/modular_computer/console/preset/engineering, +/obj/machinery/modular_computer/console/preset/engineering{ + dir = 1 + }, /turf/open/floor/plasteel/vault, /area/engine/engineering) -"cdf" = ( +"chG" = ( /obj/machinery/light, -/obj/machinery/computer/station_alert, +/obj/machinery/computer/station_alert{ + dir = 1 + }, /turf/open/floor/plasteel/vault, /area/engine/engineering) -"cdg" = ( -/obj/machinery/computer/atmos_alert, +"chH" = ( +/obj/machinery/computer/atmos_alert{ + dir = 1 + }, /obj/structure/sign/nosmoking_1{ pixel_x = 28; pixel_y = -28 }, /turf/open/floor/plasteel/vault, /area/engine/engineering) -"cdh" = ( +"chI" = ( /obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/port) -"cdi" = ( +"chJ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plating, /area/maintenance/port) -"cdj" = ( +"chK" = ( /obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral/side{ dir = 4 }, /area/maintenance/port) -"cdk" = ( +"chL" = ( /obj/effect/landmark/blobstart, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/port) -"cdl" = ( +"chM" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, @@ -51376,19 +55354,24 @@ }, /turf/open/floor/wood, /area/library) -"cdm" = ( +"chN" = ( /obj/structure/chair/office/dark, /turf/open/floor/wood, /area/library) -"cdn" = ( +"chO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/grimy, +/area/library) +"chP" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/wood, /area/library) -"cdo" = ( +"chQ" = ( /obj/machinery/bookbinder, /turf/open/floor/wood, /area/library) -"cdp" = ( +"chR" = ( /obj/machinery/light{ dir = 1 }, @@ -51398,23 +55381,23 @@ /obj/structure/bookcase/random, /turf/open/floor/wood, /area/library) -"cdq" = ( +"chS" = ( /obj/structure/chair/comfy/brown, /obj/effect/landmark/start/assistant, /turf/open/floor/wood, /area/library) -"cdr" = ( +"chT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/library) -"cds" = ( +"chU" = ( /obj/machinery/photocopier, /obj/structure/extinguisher_cabinet{ pixel_y = 32 }, /turf/open/floor/wood, /area/library) -"cdt" = ( +"chV" = ( /obj/machinery/light{ dir = 1 }, @@ -51429,7 +55412,7 @@ }, /turf/open/floor/wood, /area/library) -"cdu" = ( +"chW" = ( /obj/structure/chair/comfy/brown, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -51437,11 +55420,11 @@ }, /turf/open/floor/wood, /area/library) -"cdv" = ( +"chX" = ( /obj/machinery/vending/coffee, /turf/open/floor/wood, /area/library) -"cdw" = ( +"chY" = ( /obj/machinery/door/poddoor/shutters/preopen{ id = "hopline"; name = "Queue Shutters" @@ -51451,8 +55434,10 @@ dir = 4 }, /area/hallway/primary/central) -"cdx" = ( -/obj/machinery/computer/security/mining, +"chZ" = ( +/obj/machinery/computer/security/mining{ + dir = 4 + }, /obj/structure/cable/white{ icon_state = "4-8" }, @@ -51460,7 +55445,7 @@ dir = 8 }, /area/crew_quarters/heads/hop) -"cdy" = ( +"cia" = ( /obj/structure/chair/office/dark, /obj/structure/cable/white{ icon_state = "4-8" @@ -51468,7 +55453,7 @@ /obj/effect/landmark/start/head_of_personnel, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"cdz" = ( +"cib" = ( /obj/structure/table/wood, /obj/machinery/recharger, /obj/machinery/newscaster{ @@ -51477,50 +55462,50 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"cdA" = ( +"cic" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/circuit/green/telecomms/mainframe, /area/tcommsat/server) -"cdB" = ( +"cid" = ( /obj/machinery/telecomms/bus/preset_four, /turf/open/floor/plasteel/brown/telecomms{ dir = 9 }, /area/tcommsat/server) -"cdC" = ( +"cie" = ( /obj/machinery/telecomms/processor/preset_four, /turf/open/floor/plasteel/green/side/telecomms{ dir = 5 }, /area/tcommsat/server) -"cdD" = ( +"cif" = ( /obj/machinery/light/small, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/vault/telecomms{ dir = 5 }, /area/tcommsat/server) -"cdF" = ( +"cig" = ( /obj/machinery/light/small, /turf/open/floor/plasteel/vault/telecomms{ dir = 5 }, /area/tcommsat/server) -"cdG" = ( +"cih" = ( /obj/machinery/telecomms/processor/preset_two, /turf/open/floor/plasteel/brown/telecomms{ dir = 9 }, /area/tcommsat/server) -"cdH" = ( +"cii" = ( /obj/machinery/telecomms/bus/preset_two, /turf/open/floor/plasteel/neutral/side/telecomms{ dir = 5 }, /area/tcommsat/server) -"cdI" = ( +"cij" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ name = "Emergency Escape"; @@ -51540,7 +55525,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/captain/private) -"cdJ" = ( +"cik" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/machinery/firealarm{ @@ -51549,13 +55534,13 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"cdK" = ( +"cil" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/security/courtroom) -"cdL" = ( +"cim" = ( /obj/structure/chair{ dir = 4 }, @@ -51566,14 +55551,14 @@ dir = 5 }, /area/security/courtroom) -"cdM" = ( +"cin" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/security/courtroom) -"cdN" = ( +"cio" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -51581,13 +55566,13 @@ dir = 8 }, /area/security/courtroom) -"cdO" = ( +"cip" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/security/courtroom) -"cdP" = ( +"ciq" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -51596,7 +55581,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/courtroom) -"cdQ" = ( +"cir" = ( /obj/structure/table/wood, /obj/item/gavelblock, /obj/item/gavelhammer, @@ -51608,7 +55593,7 @@ dir = 9 }, /area/security/courtroom) -"cdR" = ( +"cis" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -51618,12 +55603,12 @@ dir = 1 }, /area/security/courtroom) -"cdS" = ( +"cit" = ( /turf/open/floor/plasteel/blue/side{ dir = 1 }, /area/security/courtroom) -"cdT" = ( +"ciu" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -51641,7 +55626,7 @@ }, /turf/open/floor/wood, /area/lawoffice) -"cdU" = ( +"civ" = ( /obj/structure/table/wood, /obj/machinery/requests_console{ department = "Law Office"; @@ -51657,14 +55642,14 @@ /obj/item/stamp/law, /turf/open/floor/plasteel/grimy, /area/lawoffice) -"cdV" = ( +"ciw" = ( /obj/structure/chair/office/dark{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/lawoffice) -"cdW" = ( +"cix" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -51672,7 +55657,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/grimy, /area/lawoffice) -"cdX" = ( +"ciy" = ( /obj/machinery/photocopier, /obj/machinery/status_display{ pixel_x = 32 @@ -51684,7 +55669,27 @@ }, /turf/open/floor/wood, /area/lawoffice) -"cdZ" = ( +"ciz" = ( +/obj/structure/cable/white{ + icon_state = "1-4" + }, +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/item/pen, +/obj/structure/sign/poster/official/enlist{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/red/side{ + dir = 10 + }, +/area/security/brig) +"ciA" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, /obj/structure/sign/nanotrasen{ pixel_y = -32 }, @@ -51701,7 +55706,13 @@ /obj/item/toy/figure/secofficer, /turf/open/floor/plasteel/red/side, /area/security/brig) -"cea" = ( +"ciB" = ( +/obj/structure/cable/white{ + icon_state = "1-4" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, /obj/structure/extinguisher_cabinet{ pixel_y = -26 }, @@ -51713,19 +55724,28 @@ dir = 6 }, /area/security/brig) -"ceb" = ( +"ciC" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/security/brig) -"cec" = ( +"ciD" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/red/corner, /area/security/brig) -"ced" = ( +"ciE" = ( +/obj/structure/cable/white{ + icon_state = "1-8" + }, /obj/structure/chair{ dir = 1 }, @@ -51734,14 +55754,14 @@ }, /turf/open/floor/plasteel/red/side, /area/security/brig) -"cee" = ( +"ciF" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/red/side, /area/security/brig) -"cef" = ( +"ciG" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -51750,7 +55770,7 @@ }, /turf/open/floor/plasteel/red/side, /area/security/brig) -"ceg" = ( +"ciH" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -51759,7 +55779,7 @@ dir = 6 }, /area/security/brig) -"ceh" = ( +"ciI" = ( /obj/structure/table/reinforced, /obj/machinery/airalarm{ dir = 4; @@ -51778,14 +55798,30 @@ dir = 10 }, /area/security/brig) -"cei" = ( +"ciJ" = ( /obj/structure/closet/secure_closet/security/sec, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel/red/side{ dir = 6 }, /area/security/brig) -"cek" = ( +"ciK" = ( +/obj/structure/closet/wardrobe/red, +/obj/item/clothing/under/rank/security/grey, +/obj/item/clothing/under/rank/security/grey, +/obj/item/clothing/under/rank/security/grey, +/obj/structure/cable/white{ + icon_state = "1-4" + }, +/obj/item/storage/backpack/satchel/sec, +/obj/structure/sign/poster/official/do_not_question{ + pixel_y = -32 + }, +/obj/item/clothing/suit/hooded/wintercoat/security, +/obj/item/clothing/suit/hooded/wintercoat/security, +/turf/open/floor/plasteel/red, +/area/security/brig) +"ciL" = ( /obj/structure/closet/secure_closet/security/sec, /obj/machinery/status_display{ pixel_y = -32 @@ -51798,7 +55834,7 @@ dir = 10 }, /area/security/brig) -"cel" = ( +"ciM" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, /obj/machinery/light, @@ -51810,7 +55846,7 @@ }, /turf/open/floor/plasteel/red/side, /area/security/brig) -"cem" = ( +"ciN" = ( /obj/machinery/vending/security, /obj/structure/sign/nanotrasen{ pixel_y = -32 @@ -51820,7 +55856,7 @@ }, /turf/open/floor/plasteel/red/side, /area/security/brig) -"cen" = ( +"ciO" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, /obj/structure/cable/white{ @@ -51828,7 +55864,7 @@ }, /turf/open/floor/plasteel/red/side, /area/security/brig) -"ceo" = ( +"ciP" = ( /obj/structure/closet/secure_closet/security/sec, /obj/machinery/ai_status_display{ pixel_y = -32 @@ -51838,7 +55874,7 @@ dir = 6 }, /area/security/brig) -"cep" = ( +"ciQ" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -51847,7 +55883,7 @@ }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/ai_upload) -"ceq" = ( +"ciR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, @@ -51855,7 +55891,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai_upload) -"cer" = ( +"ciS" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -51864,13 +55900,15 @@ }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai_upload) -"ces" = ( -/obj/machinery/computer/upload/ai, +"ciT" = ( +/obj/machinery/computer/upload/ai{ + dir = 1 + }, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/ai_monitored/turret_protected/ai_upload) -"cet" = ( +"ciU" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -51878,19 +55916,21 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai_upload) -"ceu" = ( -/obj/machinery/computer/upload/borg, +"ciV" = ( +/obj/machinery/computer/upload/borg{ + dir = 1 + }, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/ai_monitored/turret_protected/ai_upload) -"cev" = ( +"ciW" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai_upload) -"cew" = ( +"ciX" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, @@ -51898,7 +55938,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai_upload) -"cex" = ( +"ciY" = ( /obj/structure/lattice, /obj/machinery/camera/emp_proof{ c_tag = "Containment - Fore Port"; @@ -51907,21 +55947,21 @@ }, /turf/open/space, /area/space) -"cey" = ( +"ciZ" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ icon_state = "2-4" }, /turf/open/space, /area/space) -"cez" = ( +"cja" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ icon_state = "4-8" }, /turf/open/space, /area/space) -"ceA" = ( +"cjb" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ icon_state = "2-4" @@ -51931,18 +55971,18 @@ }, /turf/open/space, /area/space) -"ceB" = ( +"cjc" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ icon_state = "2-8" }, /turf/open/space, /area/space) -"ceC" = ( +"cjd" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/engine/engineering) -"ceD" = ( +"cje" = ( /obj/machinery/power/rad_collector/anchored, /obj/structure/cable{ icon_state = "0-4" @@ -51952,7 +55992,7 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"ceE" = ( +"cjf" = ( /obj/machinery/door/poddoor/shutters/preopen{ id = "engpa"; name = "Engineering Chamber Shutters" @@ -51963,21 +56003,20 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/structure/barricade/wooden, /turf/open/floor/plating, /area/engine/engineering) -"ceF" = ( +"cjg" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/engine/engineering) -"ceG" = ( +"cjh" = ( /obj/effect/landmark/start/station_engineer, /turf/open/floor/plasteel/neutral, /area/engine/engineering) -"ceH" = ( +"cji" = ( /obj/structure/table/reinforced, /obj/item/book/manual/wiki/engineering_guide{ pixel_x = 3; @@ -51988,7 +56027,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/engineering) -"ceI" = ( +"cjj" = ( /obj/structure/table/reinforced, /obj/item/book/manual/wiki/engineering_hacking{ pixel_x = 6; @@ -52002,48 +56041,45 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/engineering) -"ceJ" = ( +"cjk" = ( /obj/effect/landmark/start/station_engineer, /turf/open/floor/plasteel/yellow/side{ dir = 4 }, /area/engine/engineering) -"ceK" = ( +"cjl" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/engine/engineering) -"ceL" = ( +"cjm" = ( /turf/open/floor/plasteel/yellow/side{ dir = 8 }, /area/engine/engineering) -"ceM" = ( +"cjn" = ( /turf/open/floor/plasteel/neutral, /area/engine/engineering) -"ceN" = ( +"cjo" = ( /obj/machinery/vending/tool, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/engineering) -"ceO" = ( +"cjp" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port) -"ceP" = ( +"cjq" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/cable/white{ - icon_state = "1-2" - }, /turf/open/floor/plasteel/neutral/side{ dir = 4 }, /area/maintenance/port) -"ceQ" = ( +"cjr" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /obj/machinery/newscaster{ @@ -52051,23 +56087,23 @@ }, /turf/open/floor/wood, /area/library) -"ceR" = ( +"cjs" = ( /obj/structure/table/wood, /obj/item/folder, /obj/item/pen, /turf/open/floor/wood, /area/library) -"ceS" = ( +"cjt" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/library) -"ceT" = ( +"cju" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/grimy, /area/library) -"ceU" = ( +"cjv" = ( /obj/machinery/door/airlock/glass{ name = "Library Access" }, @@ -52078,7 +56114,7 @@ dir = 8 }, /area/library) -"ceV" = ( +"cjw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -52087,7 +56123,7 @@ dir = 8 }, /area/hallway/primary/central) -"ceW" = ( +"cjx" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -52098,7 +56134,16 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"ceY" = ( +"cjy" = ( +/obj/machinery/vending/cola/random, +/obj/structure/sign/poster/official/ian{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/hallway/primary/central) +"cjz" = ( /obj/structure/table/wood, /obj/machinery/keycard_auth{ pixel_x = -26 @@ -52108,7 +56153,7 @@ dir = 5 }, /area/crew_quarters/heads/hop) -"ceZ" = ( +"cjA" = ( /obj/structure/table/wood, /obj/machinery/newscaster{ pixel_x = -32; @@ -52118,32 +56163,40 @@ /obj/item/pen, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"cfa" = ( +"cjB" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"cfb" = ( +"cjC" = ( /obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"cfd" = ( +"cjD" = ( +/obj/machinery/photocopier, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/sign/poster/official/work_for_a_future{ + pixel_x = 32 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hop) +"cjE" = ( /obj/machinery/telecomms/server/presets/supply, /turf/open/floor/plasteel/brown/telecomms{ dir = 9 }, /area/tcommsat/server) -"cfe" = ( +"cjF" = ( /obj/machinery/telecomms/server/presets/service, /turf/open/floor/plasteel/green/side/telecomms{ dir = 6 }, /area/tcommsat/server) -"cff" = ( +"cjG" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -52157,31 +56210,31 @@ dir = 5 }, /area/tcommsat/server) -"cfg" = ( +"cjH" = ( /obj/machinery/telecomms/server/presets/engineering, /turf/open/floor/plasteel/brown/telecomms{ dir = 9 }, /area/tcommsat/server) -"cfh" = ( +"cjI" = ( /obj/machinery/telecomms/server/presets/common, /turf/open/floor/plasteel/neutral/side/telecomms{ dir = 5 }, /area/tcommsat/server) -"cfi" = ( +"cjJ" = ( /turf/closed/wall/r_wall, /area/teleporter) -"cfj" = ( +"cjK" = ( /obj/machinery/shieldwallgen, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/teleporter) -"cfk" = ( +"cjL" = ( /turf/closed/wall, /area/teleporter) -"cfl" = ( +"cjM" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -52196,14 +56249,13 @@ dir = 5 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/blue/side{ dir = 9 }, /area/teleporter) -"cfm" = ( +"cjN" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -52216,7 +56268,7 @@ }, /turf/open/floor/plating, /area/teleporter) -"cfn" = ( +"cjO" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -52224,37 +56276,36 @@ dir = 10 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating, /area/teleporter) -"cfo" = ( +"cjP" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/teleporter) -"cfp" = ( +"cjQ" = ( /obj/structure/closet/emcloset, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/blue/corner{ dir = 4 }, /area/teleporter) -"cfq" = ( +"cjR" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"cfr" = ( +"cjS" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/security/courtroom) -"cfs" = ( +"cjT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -52262,7 +56313,7 @@ dir = 5 }, /area/security/courtroom) -"cft" = ( +"cjU" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -52270,18 +56321,18 @@ dir = 5 }, /area/security/courtroom) -"cfu" = ( +"cjV" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/security/courtroom) -"cfv" = ( +"cjW" = ( /obj/effect/landmark/lightsout, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/security/courtroom) -"cfw" = ( +"cjX" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Courtroom"; @@ -52291,25 +56342,25 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, /area/security/courtroom) -"cfx" = ( +"cjY" = ( /obj/item/device/radio/beacon, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/security/courtroom) -"cfy" = ( +"cjZ" = ( /obj/machinery/holopad, /obj/effect/landmark/start/lawyer, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/security/courtroom) -"cfz" = ( +"cka" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/neutral, /area/security/courtroom) -"cfA" = ( +"ckb" = ( /obj/structure/table/wood, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -52325,14 +56376,14 @@ dir = 8 }, /area/security/courtroom) -"cfB" = ( +"ckc" = ( /obj/structure/chair{ dir = 8; name = "Judge" }, /turf/open/floor/plasteel/neutral, /area/security/courtroom) -"cfC" = ( +"ckd" = ( /obj/machinery/status_display{ pixel_x = 32 }, @@ -52345,7 +56396,7 @@ dir = 4 }, /area/security/courtroom) -"cfD" = ( +"cke" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /obj/item/device/radio/intercom{ @@ -52354,12 +56405,20 @@ }, /turf/open/floor/wood, /area/lawoffice) -"cfE" = ( +"ckf" = ( /obj/structure/table/wood, /obj/item/paper_bin, /turf/open/floor/wood, /area/lawoffice) -"cfG" = ( +"ckg" = ( +/obj/item/twohanded/required/kirbyplants/random, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/sign/poster/official/report_crimes{ + pixel_y = -32 + }, +/turf/open/floor/wood, +/area/lawoffice) +"ckh" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -52367,7 +56426,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/lawoffice) -"cfH" = ( +"cki" = ( /obj/structure/rack, /obj/item/storage/briefcase{ pixel_x = -3; @@ -52376,7 +56435,7 @@ /obj/item/storage/secure/briefcase, /turf/open/floor/wood, /area/lawoffice) -"cfI" = ( +"ckj" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -52386,7 +56445,7 @@ }, /turf/open/floor/plating, /area/security/brig) -"cfJ" = ( +"ckk" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -52412,7 +56471,7 @@ }, /turf/open/floor/plasteel, /area/security/brig) -"cfK" = ( +"ckl" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -52421,7 +56480,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/security/brig) -"cfL" = ( +"ckm" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -52435,7 +56494,7 @@ dir = 5 }, /area/aisat) -"cfM" = ( +"ckn" = ( /obj/structure/table/reinforced, /obj/item/aiModule/reset, /obj/item/device/radio/intercom{ @@ -52446,7 +56505,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/ai_upload) -"cfN" = ( +"cko" = ( /obj/machinery/status_display{ pixel_x = -32; pixel_y = -32 @@ -52455,14 +56514,14 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai_upload) -"cfO" = ( +"ckp" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai_upload) -"cfP" = ( +"ckq" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -52471,11 +56530,11 @@ }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai_upload) -"cfQ" = ( +"ckr" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai_upload) -"cfR" = ( +"cks" = ( /obj/machinery/status_display{ pixel_x = 32; pixel_y = -32 @@ -52484,7 +56543,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai_upload) -"cfS" = ( +"ckt" = ( /obj/structure/table/reinforced, /obj/item/aiModule/supplied/quarantine, /obj/item/device/radio/intercom{ @@ -52498,33 +56557,41 @@ dir = 8 }, /area/ai_monitored/turret_protected/ai_upload) -"cfT" = ( +"cku" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ icon_state = "1-2" }, /turf/open/space, /area/space) -"cfU" = ( +"ckv" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 }, /turf/open/floor/plating/airless, /area/space) -"cfV" = ( +"ckw" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plating/airless, /area/space) -"cfW" = ( +"ckx" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plating/airless, /area/space) -"cfX" = ( +"cky" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/power/tesla_coil, +/turf/open/floor/plating/airless, +/area/space) +"ckz" = ( /obj/structure/cable{ icon_state = "1-2" }, @@ -52533,7 +56600,7 @@ }, /turf/open/floor/plating/airless, /area/space) -"cfY" = ( +"ckA" = ( /obj/effect/decal/cleanable/oil, /obj/machinery/door/poddoor/shutters/preopen{ id = "engpa"; @@ -52551,10 +56618,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/structure/barricade/wooden, /turf/open/floor/plating, /area/engine/engineering) -"cfZ" = ( +"ckB" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -52563,22 +56629,22 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cga" = ( +"ckC" = ( /obj/structure/cable{ icon_state = "2-8" }, /turf/open/floor/plasteel/neutral, /area/engine/engineering) -"cgb" = ( +"ckD" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/engine/engineering) -"cgc" = ( +"ckE" = ( /turf/open/floor/plasteel/yellow/side{ dir = 4 }, /area/engine/engineering) -"cgd" = ( +"ckF" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -52592,7 +56658,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cge" = ( +"ckG" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -52600,14 +56666,14 @@ dir = 8 }, /area/engine/engineering) -"cgf" = ( +"ckH" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/effect/landmark/start/station_engineer, /turf/open/floor/plasteel/neutral, /area/engine/engineering) -"cgg" = ( +"ckI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "0-8" @@ -52621,7 +56687,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"cgh" = ( +"ckJ" = ( /obj/machinery/shieldgen, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -52630,14 +56696,14 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cgi" = ( +"ckK" = ( /obj/machinery/light/small{ dir = 1 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port) -"cgj" = ( +"ckL" = ( /obj/structure/rack, /obj/item/crowbar/red, /obj/item/wrench, @@ -52649,7 +56715,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cgk" = ( +"ckM" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable/white{ @@ -52657,50 +56723,50 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cgl" = ( +"ckN" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/maintenance/port) -"cgm" = ( +"ckO" = ( /obj/structure/chair/office/dark{ dir = 8 }, /obj/effect/landmark/start/assistant, /turf/open/floor/wood, /area/library) -"cgn" = ( +"ckP" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/open/floor/plasteel/grimy, /area/library) -"cgo" = ( +"ckQ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/library) -"cgp" = ( +"ckR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/library) -"cgq" = ( +"ckS" = ( /obj/effect/landmark/lightsout, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/library) -"cgr" = ( +"ckT" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /turf/open/floor/plasteel/grimy, /area/library) -"cgs" = ( +"ckU" = ( /obj/machinery/door/airlock/glass{ name = "Library Access" }, @@ -52711,20 +56777,23 @@ dir = 8 }, /area/library) -"cgt" = ( +"ckV" = ( +/turf/closed/wall, +/area/crew_quarters/heads/hop) +"ckW" = ( /obj/structure/chair/office/dark{ dir = 1 }, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"cgu" = ( +"ckX" = ( /obj/structure/chair/office/dark{ dir = 1 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"cgv" = ( +"ckY" = ( /obj/structure/bed/dogbed/ian, /obj/machinery/airalarm{ dir = 8; @@ -52734,7 +56803,7 @@ /mob/living/simple_animal/pet/dog/corgi/Ian, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"cgw" = ( +"ckZ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -52742,7 +56811,7 @@ dir = 8 }, /area/tcommsat/server) -"cgx" = ( +"cla" = ( /obj/structure/sign/electricshock{ pixel_y = -32 }, @@ -52750,11 +56819,17 @@ dir = 8 }, /area/tcommsat/server) -"cgz" = ( +"clb" = ( +/obj/machinery/atmospherics/pipe/simple/general/hidden, +/turf/open/floor/plasteel/vault/telecomms{ + dir = 8 + }, +/area/tcommsat/server) +"clc" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/teleporter) -"cgA" = ( +"cld" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -52772,7 +56847,7 @@ }, /turf/open/floor/plating, /area/teleporter) -"cgB" = ( +"cle" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -52786,7 +56861,7 @@ dir = 8 }, /area/hallway/primary/central) -"cgC" = ( +"clf" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -52794,7 +56869,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"cgD" = ( +"clg" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ name = "Courtroom" @@ -52806,7 +56881,7 @@ dir = 5 }, /area/security/courtroom) -"cgE" = ( +"clh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -52814,7 +56889,7 @@ dir = 5 }, /area/security/courtroom) -"cgF" = ( +"cli" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -52823,7 +56898,7 @@ dir = 5 }, /area/security/courtroom) -"cgG" = ( +"clj" = ( /obj/structure/chair{ dir = 4 }, @@ -52834,7 +56909,7 @@ dir = 5 }, /area/security/courtroom) -"cgH" = ( +"clk" = ( /obj/structure/chair{ dir = 4 }, @@ -52845,14 +56920,14 @@ dir = 5 }, /area/security/courtroom) -"cgI" = ( +"cll" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plating, /area/security/courtroom) -"cgJ" = ( +"clm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -52860,13 +56935,13 @@ dir = 8 }, /area/security/courtroom) -"cgK" = ( +"cln" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/security/courtroom) -"cgL" = ( +"clo" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -52875,7 +56950,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/courtroom) -"cgM" = ( +"clp" = ( /obj/structure/table/wood, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 @@ -52884,7 +56959,7 @@ dir = 10 }, /area/security/courtroom) -"cgN" = ( +"clq" = ( /obj/structure/table/wood, /obj/item/storage/briefcase{ pixel_x = 3; @@ -52893,17 +56968,17 @@ /obj/item/storage/secure/briefcase, /turf/open/floor/plasteel/blue/side, /area/security/courtroom) -"cgO" = ( +"clr" = ( /obj/structure/sign/nanotrasen{ pixel_x = 32 }, /turf/open/floor/plasteel/blue/side, /area/security/courtroom) -"cgP" = ( +"cls" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/lawoffice) -"cgQ" = ( +"clt" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -52921,14 +56996,14 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"cgR" = ( +"clu" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/corner{ dir = 1 }, /area/maintenance/starboard) -"cgS" = ( +"clv" = ( /obj/structure/closet/crate{ icon_state = "crateopen"; opened = 1 @@ -52938,12 +57013,12 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/starboard) -"cgT" = ( +"clw" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard) -"cgU" = ( +"clx" = ( /obj/structure/rack, /obj/effect/decal/cleanable/dirt, /obj/item/crowbar/red, @@ -52951,30 +57026,24 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/starboard) -"cgV" = ( +"cly" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard) -"cgW" = ( +"clz" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/red/corner{ dir = 4 }, /area/maintenance/starboard) -"cgX" = ( +"clA" = ( /turf/closed/wall, /area/security/range) -"cgY" = ( -/obj/item/stack/rods{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +"clB" = ( +/obj/item/stack/rods/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/metal/fifty, /obj/item/target, /obj/item/target/syndicate, /obj/item/target/alien, @@ -53001,7 +57070,7 @@ }, /turf/open/floor/plasteel, /area/security/range) -"cgZ" = ( +"clC" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -53013,7 +57082,7 @@ }, /turf/open/floor/plasteel, /area/security/range) -"cha" = ( +"clD" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -53026,7 +57095,7 @@ }, /turf/open/floor/plasteel, /area/security/range) -"chb" = ( +"clE" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -53035,7 +57104,7 @@ }, /turf/open/floor/plating, /area/security/range) -"chc" = ( +"clF" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -53044,7 +57113,7 @@ }, /turf/open/floor/plating, /area/security/range) -"chd" = ( +"clG" = ( /obj/structure/sign/securearea{ pixel_y = 32 }, @@ -53057,7 +57126,7 @@ }, /turf/open/floor/plating, /area/security/range) -"che" = ( +"clH" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -53067,20 +57136,20 @@ }, /turf/open/floor/plating, /area/security/range) -"chf" = ( +"clI" = ( /turf/open/floor/plating, /area/security/range) -"chg" = ( +"clJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plating, /area/security/range) -"chh" = ( +"clK" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/security/range) -"chi" = ( +"clL" = ( /obj/machinery/light/small{ dir = 4 }, @@ -53090,14 +57159,14 @@ }, /turf/open/floor/plating, /area/security/range) -"chj" = ( +"clM" = ( /obj/structure/table/reinforced, /obj/item/aiModule/supplied/freeform, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ai_monitored/turret_protected/ai_upload) -"chk" = ( +"clN" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -53110,13 +57179,13 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai_upload) -"chl" = ( +"clO" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai_upload) -"chm" = ( +"clP" = ( /obj/machinery/flasher{ pixel_x = 26; pixel_y = -26 @@ -53126,7 +57195,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai_upload) -"chn" = ( +"clQ" = ( /obj/structure/table/reinforced, /obj/item/aiModule/core/full/drone{ pixel_x = 3; @@ -53141,13 +57210,31 @@ dir = 8 }, /area/ai_monitored/turret_protected/ai_upload) -"cho" = ( +"clR" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plating/airless, /area/space) -"chs" = ( +"clS" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/field/generator{ + anchored = 1 + }, +/turf/open/floor/plating/airless, +/area/space) +"clT" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/field/generator{ + anchored = 1 + }, +/turf/open/floor/plating/airless, +/area/space) +"clU" = ( /obj/structure/cable{ icon_state = "1-2" }, @@ -53156,7 +57243,7 @@ }, /turf/open/floor/plating/airless, /area/space) -"cht" = ( +"clV" = ( /obj/machinery/door/poddoor/shutters/preopen{ id = "engpa"; name = "Engineering Chamber Shutters" @@ -53167,10 +57254,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/structure/barricade/wooden, /turf/open/floor/plating, /area/engine/engineering) -"chu" = ( +"clW" = ( /obj/structure/rack, /obj/item/crowbar, /obj/item/tank/internals/emergency_oxygen/engi, @@ -53178,14 +57264,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"chv" = ( +"clX" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/engineering) -"chw" = ( +"clY" = ( /obj/structure/rack, /obj/machinery/button/door{ id = "engpa"; @@ -53199,23 +57285,25 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"chx" = ( +"clZ" = ( /obj/structure/closet/radiation, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"chy" = ( +"cma" = ( /obj/structure/closet/secure_closet/engineering_welding, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"chz" = ( +"cmb" = ( /obj/structure/closet/wardrobe/engineering_yellow, /obj/item/storage/backpack/satchel/eng, /obj/effect/turf_decal/delivery, +/obj/item/clothing/suit/hooded/wintercoat/engineering, +/obj/item/clothing/suit/hooded/wintercoat/engineering, /turf/open/floor/plasteel, /area/engine/engineering) -"chA" = ( +"cmc" = ( /obj/structure/closet/secure_closet/engineering_personal, /obj/machinery/newscaster{ pixel_y = -32 @@ -53223,12 +57311,27 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/engineering) -"chC" = ( +"cmd" = ( +/obj/structure/closet/secure_closet/engineering_personal, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/requests_console{ + department = "Engineering"; + departmentType = 0; + name = "Engineering RC"; + pixel_y = -32 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/sign/poster/official/do_not_question{ + pixel_x = 32 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cme" = ( /obj/machinery/shieldgen, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port) -"chD" = ( +"cmf" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, @@ -53236,7 +57339,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/maintenance/port) -"chE" = ( +"cmg" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -53246,7 +57349,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"chF" = ( +"cmh" = ( /obj/machinery/door/airlock/maintenance_hatch/abandoned{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -53262,7 +57365,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"chG" = ( +"cmi" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -53270,7 +57373,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port) -"chH" = ( +"cmj" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/structure/cable/white{ @@ -53278,7 +57381,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"chI" = ( +"cmk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -53287,7 +57390,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"chJ" = ( +"cml" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -53297,7 +57400,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"chK" = ( +"cmm" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -53308,7 +57411,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"chL" = ( +"cmn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "2-4" @@ -53319,13 +57422,10 @@ /obj/structure/cable/white{ icon_state = "4-8" }, -/obj/structure/cable/white{ - icon_state = "1-8" - }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port) -"chM" = ( +"cmo" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -53344,7 +57444,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"chN" = ( +"cmp" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -53353,7 +57453,7 @@ }, /turf/open/floor/wood, /area/library) -"chO" = ( +"cmq" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -53363,42 +57463,46 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/library) -"chP" = ( +"cmr" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/library) -"chQ" = ( +"cms" = ( +/obj/structure/displaycase/trophy, /turf/open/floor/wood, /area/library) -"chR" = ( +"cmt" = ( +/turf/open/floor/wood, +/area/library) +"cmu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/library) -"chS" = ( +"cmv" = ( /obj/machinery/holopad, /turf/open/floor/wood, /area/library) -"chU" = ( +"cmw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/extinguisher_cabinet{ pixel_x = 26 }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"chV" = ( +"cmx" = ( /obj/structure/dresser, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"chW" = ( +"cmy" = ( /obj/structure/filingcabinet/medical, /obj/machinery/light{ dir = 1 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"chX" = ( +"cmz" = ( /obj/machinery/light{ dir = 8 }, @@ -53407,14 +57511,14 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"chY" = ( +"cmA" = ( /obj/structure/cable/white{ icon_state = "2-4" }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"chZ" = ( +"cmB" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -53424,7 +57528,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"cia" = ( +"cmC" = ( /obj/machinery/ai_status_display{ pixel_x = 32 }, @@ -53432,12 +57536,17 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"cib" = ( +"cmD" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/tcommsat/server) -"cic" = ( +"cmE" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/general/hidden, +/turf/open/floor/plating, +/area/tcommsat/server) +"cmF" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -53452,17 +57561,17 @@ dir = 8 }, /area/tcommsat/server) -"cid" = ( +"cmG" = ( /obj/machinery/light{ dir = 8 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/loadingarea, /area/teleporter) -"cie" = ( +"cmH" = ( /turf/open/floor/plasteel/loadingarea, /area/teleporter) -"cif" = ( +"cmI" = ( /obj/structure/table, /obj/item/stack/packageWrap, /obj/item/hand_labeler, @@ -53472,7 +57581,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/teleporter) -"cig" = ( +"cmJ" = ( /obj/structure/table, /obj/item/hand_tele, /obj/machinery/power/apc/highcap/ten_k{ @@ -53485,25 +57594,23 @@ icon_state = "0-2" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/teleporter) -"cih" = ( +"cmK" = ( /obj/structure/table, /obj/machinery/cell_charger, /obj/item/stock_parts/cell/high, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/teleporter) -"cii" = ( +"cmL" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -53512,7 +57619,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/teleporter) -"cij" = ( +"cmM" = ( /obj/machinery/button/door{ id = "teleporterhubshutters"; name = "Teleporter Shutters"; @@ -53520,15 +57627,14 @@ }, /obj/machinery/bluespace_beacon, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/teleporter) -"cik" = ( +"cmN" = ( /obj/machinery/teleport/hub, /obj/structure/disposalpipe/segment{ dir = 4 @@ -53537,7 +57643,7 @@ dir = 8 }, /area/teleporter) -"cil" = ( +"cmO" = ( /obj/machinery/door/firedoor, /obj/machinery/door/poddoor/shutters{ id = "teleporterhubshutters"; @@ -53554,7 +57660,7 @@ }, /turf/open/floor/plasteel, /area/teleporter) -"cim" = ( +"cmP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ dir = 4 @@ -53563,15 +57669,14 @@ dir = 8 }, /area/hallway/primary/central) -"cin" = ( +"cmQ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/junction{ - dir = 1; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 1 }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"cio" = ( +"cmR" = ( /obj/structure/chair{ dir = 4 }, @@ -53582,7 +57687,7 @@ dir = 5 }, /area/security/courtroom) -"cip" = ( +"cmS" = ( /obj/structure/chair{ dir = 4 }, @@ -53594,7 +57699,7 @@ dir = 5 }, /area/security/courtroom) -"ciq" = ( +"cmT" = ( /obj/structure/table/wood, /obj/item/folder/blue, /obj/item/pen, @@ -53603,24 +57708,24 @@ heat_capacity = 1e+006 }, /area/security/courtroom) -"cir" = ( +"cmU" = ( /obj/structure/table/wood, /obj/item/device/radio/intercom{ name = "Station Intercom" }, /turf/open/floor/plasteel/neutral/side, /area/security/courtroom) -"cis" = ( +"cmV" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/neutral/side, /area/security/courtroom) -"cit" = ( +"cmW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side, /area/security/courtroom) -"ciu" = ( +"cmX" = ( /obj/structure/table/wood, /obj/item/folder/red, /obj/item/pen, @@ -53628,7 +57733,7 @@ dir = 8 }, /area/security/courtroom) -"civ" = ( +"cmY" = ( /obj/structure/chair{ dir = 8; name = "Judge" @@ -53638,21 +57743,20 @@ }, /turf/open/floor/plasteel/neutral, /area/security/courtroom) -"ciw" = ( +"cmZ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "2-4" }, /obj/effect/landmark/blobstart, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/neutral/side{ dir = 9 }, /area/maintenance/starboard) -"cix" = ( +"cna" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -53664,7 +57768,7 @@ dir = 1 }, /area/maintenance/starboard) -"ciy" = ( +"cnb" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -53674,7 +57778,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"ciz" = ( +"cnc" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -53686,12 +57790,11 @@ dir = 5 }, /obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j1" + dir = 8 }, /turf/open/floor/plating, /area/maintenance/starboard) -"ciA" = ( +"cnd" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -53708,7 +57811,7 @@ icon_state = "platingdmg3" }, /area/maintenance/starboard) -"ciB" = ( +"cne" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -53720,7 +57823,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"ciC" = ( +"cnf" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -53733,7 +57836,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"ciD" = ( +"cng" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -53747,7 +57850,7 @@ /mob/living/simple_animal/cockroach, /turf/open/floor/plating, /area/maintenance/starboard) -"ciE" = ( +"cnh" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -53760,7 +57863,7 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/starboard) -"ciF" = ( +"cni" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -53773,7 +57876,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"ciG" = ( +"cnj" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -53783,13 +57886,12 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, -/obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 8 }, /turf/open/floor/plating, /area/maintenance/starboard) -"ciH" = ( +"cnk" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Security Maintenance"; req_access_txt = "63" @@ -53808,7 +57910,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard) -"ciI" = ( +"cnl" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -53824,7 +57926,7 @@ }, /turf/open/floor/plasteel, /area/security/range) -"ciJ" = ( +"cnm" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -53844,7 +57946,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/range) -"ciK" = ( +"cnn" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -53853,15 +57955,14 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/security/range) -"ciL" = ( +"cno" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -53871,13 +57972,13 @@ }, /turf/open/floor/plating, /area/security/range) -"ciM" = ( +"cnp" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plating, /area/security/range) -"ciN" = ( +"cnq" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -53885,7 +57986,7 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/security/range) -"ciO" = ( +"cnr" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -53897,14 +57998,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/security/range) -"ciP" = ( +"cns" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/range) -"ciQ" = ( +"cnt" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -53922,7 +58023,7 @@ dir = 5 }, /area/aisat) -"ciR" = ( +"cnu" = ( /obj/structure/cable/white, /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light, @@ -53937,7 +58038,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai_upload) -"ciS" = ( +"cnv" = ( /obj/machinery/porta_turret/ai, /obj/structure/sign/electricshock{ pixel_y = -32 @@ -53946,7 +58047,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/ai_upload) -"ciT" = ( +"cnw" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -53958,7 +58059,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai_upload) -"ciU" = ( +"cnx" = ( /obj/machinery/porta_turret/ai, /obj/structure/sign/nanotrasen{ pixel_y = -32 @@ -53967,7 +58068,7 @@ dir = 8 }, /area/ai_monitored/turret_protected/ai_upload) -"ciV" = ( +"cny" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light, /obj/machinery/airalarm{ @@ -53979,7 +58080,7 @@ dir = 5 }, /area/ai_monitored/turret_protected/ai_upload) -"ciW" = ( +"cnz" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -53997,7 +58098,7 @@ dir = 5 }, /area/aisat) -"ciX" = ( +"cnA" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ icon_state = "1-4" @@ -54007,7 +58108,7 @@ }, /turf/open/space, /area/space) -"ciY" = ( +"cnB" = ( /obj/structure/cable{ icon_state = "0-8" }, @@ -54016,15 +58117,15 @@ }, /turf/open/floor/plating/airless, /area/space) -"ciZ" = ( +"cnC" = ( /obj/structure/sign/radiation, /turf/closed/wall/r_wall, /area/engine/engineering) -"cja" = ( +"cnD" = ( /obj/machinery/status_display, /turf/closed/wall/r_wall, /area/engine/engineering) -"cjb" = ( +"cnE" = ( /obj/machinery/door/poddoor/shutters/preopen{ id = "engpa"; name = "Engineering Chamber Shutters" @@ -54035,13 +58136,12 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, -/obj/structure/barricade/wooden, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/engine/engineering) -"cjc" = ( +"cnF" = ( /obj/machinery/requests_console{ department = "Chapel Office"; departmentType = 0; @@ -54050,7 +58150,7 @@ }, /turf/closed/wall/r_wall, /area/engine/engineering) -"cjd" = ( +"cnG" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/mechanical, /obj/item/device/flashlight, @@ -54065,14 +58165,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"cje" = ( +"cnH" = ( /obj/machinery/status_display, /turf/closed/wall, /area/engine/engineering) -"cjf" = ( +"cnI" = ( /turf/closed/wall/r_wall, /area/maintenance/port) -"cjg" = ( +"cnJ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 @@ -54081,7 +58181,7 @@ dir = 8 }, /area/maintenance/port) -"cjh" = ( +"cnK" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -54093,20 +58193,20 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cji" = ( +"cnL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/library) -"cjj" = ( +"cnM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/bookcase/random/fiction, /turf/open/floor/wood, /area/library) -"cjk" = ( +"cnN" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -54115,19 +58215,19 @@ }, /turf/open/floor/plasteel/grimy, /area/library) -"cjl" = ( +"cnO" = ( /obj/structure/bookcase/random/reference, /turf/open/floor/wood, /area/library) -"cjm" = ( +"cnP" = ( /obj/structure/bookcase/manuals/medical, /turf/open/floor/wood, /area/library) -"cjn" = ( +"cnQ" = ( /obj/structure/bookcase/manuals/engineering, /turf/open/floor/wood, /area/library) -"cjo" = ( +"cnR" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /obj/structure/window/reinforced{ @@ -54135,23 +58235,23 @@ }, /turf/open/floor/plasteel/grimy, /area/library) -"cjp" = ( +"cnS" = ( /obj/structure/table/wood, /obj/item/storage/fancy/donut_box, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/library) -"cjq" = ( +"cnT" = ( /obj/structure/table/wood, /obj/item/folder, /obj/item/pen, /turf/open/floor/plasteel/grimy, /area/library) -"cjr" = ( +"cnU" = ( /obj/structure/table/wood, /turf/open/floor/plasteel/grimy, /area/library) -"cjs" = ( +"cnV" = ( /obj/structure/table/wood, /obj/item/device/camera_film{ pixel_x = 3; @@ -54164,7 +58264,7 @@ }, /turf/open/floor/plasteel/grimy, /area/library) -"cjt" = ( +"cnW" = ( /obj/structure/bed, /obj/machinery/newscaster{ pixel_x = -32 @@ -54172,7 +58272,7 @@ /obj/item/bedsheet/hop, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"cju" = ( +"cnX" = ( /obj/machinery/light_switch{ pixel_x = 26; pixel_y = 26 @@ -54183,7 +58283,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"cjv" = ( +"cnY" = ( /obj/machinery/door/airlock/command{ name = "Head of Personnel's Quarters"; req_access = null; @@ -54194,13 +58294,13 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"cjw" = ( +"cnZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"cjx" = ( +"coa" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -54210,14 +58310,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"cjy" = ( +"cob" = ( /obj/structure/cable/white{ icon_state = "1-4" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"cjz" = ( +"coc" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -54226,7 +58326,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"cjA" = ( +"cod" = ( /obj/structure/table/wood, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -54241,10 +58341,10 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"cjB" = ( +"coe" = ( /turf/closed/wall, /area/tcommsat/server) -"cjC" = ( +"cof" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 1; min_temperature = 80; @@ -54254,7 +58354,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/tcommsat/server) -"cjD" = ( +"cog" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line{ @@ -54262,7 +58362,7 @@ }, /turf/open/floor/plasteel, /area/tcommsat/server) -"cjE" = ( +"coh" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -54274,7 +58374,7 @@ }, /turf/open/floor/plasteel, /area/tcommsat/server) -"cjF" = ( +"coi" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -54285,7 +58385,7 @@ }, /turf/open/floor/plasteel, /area/tcommsat/server) -"cjG" = ( +"coj" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 1; min_temperature = 80; @@ -54301,7 +58401,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/tcommsat/server) -"cjH" = ( +"cok" = ( /obj/structure/rack, /obj/item/storage/toolbox/emergency, /obj/item/wrench, @@ -54309,20 +58409,20 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/teleporter) -"cjI" = ( +"col" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, /turf/open/floor/plasteel/neutral, /area/teleporter) -"cjJ" = ( +"com" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral, /area/teleporter) -"cjK" = ( +"con" = ( /obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "1-4" @@ -54331,13 +58431,12 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/teleporter) -"cjL" = ( +"coo" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -54345,13 +58444,12 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 4 }, /turf/open/floor/plasteel/neutral, /area/teleporter) -"cjM" = ( +"cop" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -54361,27 +58459,25 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 4 }, /turf/open/floor/plasteel/neutral, /area/teleporter) -"cjN" = ( +"coq" = ( /obj/structure/cable/white{ icon_state = "2-8" }, /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/teleporter) -"cjO" = ( +"cor" = ( /obj/machinery/teleport/station, /obj/machinery/status_display{ pixel_x = 32 @@ -54390,7 +58486,7 @@ dir = 8 }, /area/teleporter) -"cjP" = ( +"cos" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/machinery/camera{ @@ -54400,7 +58496,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"cjQ" = ( +"cot" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -54411,7 +58507,7 @@ dir = 5 }, /area/security/courtroom) -"cjR" = ( +"cou" = ( /obj/structure/chair{ dir = 4 }, @@ -54420,7 +58516,7 @@ dir = 5 }, /area/security/courtroom) -"cjS" = ( +"cov" = ( /obj/structure/chair{ dir = 1; name = "Defense" @@ -54429,7 +58525,7 @@ dir = 10 }, /area/security/courtroom) -"cjT" = ( +"cow" = ( /obj/structure/chair{ dir = 1; name = "Defense" @@ -54438,7 +58534,7 @@ dir = 6 }, /area/security/courtroom) -"cjU" = ( +"cox" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -54447,16 +58543,16 @@ }, /turf/open/floor/plasteel/neutral, /area/security/courtroom) -"cjV" = ( +"coy" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, /turf/open/floor/plasteel/neutral, /area/security/courtroom) -"cjW" = ( +"coz" = ( /turf/open/floor/plasteel/neutral, /area/security/courtroom) -"cjX" = ( +"coA" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 26 }, @@ -54464,7 +58560,7 @@ dir = 4 }, /area/security/courtroom) -"cjY" = ( +"coB" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -54472,7 +58568,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/starboard) -"cjZ" = ( +"coC" = ( /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance{ lootcount = 2; @@ -54482,7 +58578,7 @@ icon_state = "panelscorched" }, /area/maintenance/starboard) -"cka" = ( +"coD" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -54490,7 +58586,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"ckb" = ( +"coE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance{ @@ -54502,14 +58598,14 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard) -"ckc" = ( +"coF" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard) -"ckd" = ( +"coG" = ( /obj/effect/decal/cleanable/oil, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -54518,14 +58614,22 @@ dir = 6 }, /area/maintenance/starboard) -"cke" = ( +"coH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/maintenance/starboard) +"coI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/starboard) -"ckf" = ( +"coJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -54533,14 +58637,14 @@ icon_state = "panelscorched" }, /area/maintenance/starboard) -"ckg" = ( +"coK" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard) -"ckh" = ( +"coL" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -54552,13 +58656,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/starboard) -"cki" = ( +"coM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/security/range) -"ckj" = ( +"coN" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/power/apc{ dir = 8; @@ -54574,7 +58678,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/security/range) -"ckk" = ( +"coO" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -54588,8 +58692,11 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/security/range) -"ckl" = ( +"coP" = ( /obj/structure/table/reinforced, +/obj/machinery/magnetic_controller{ + autolink = 1 + }, /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -54606,13 +58713,9 @@ dir = 6 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/machinery/magnetic_controller{ - autolink = 1; - pixel_y = 3 - }, /turf/open/floor/plasteel, /area/security/range) -"ckm" = ( +"coQ" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -54621,14 +58724,14 @@ }, /turf/open/floor/plating, /area/security/range) -"ckn" = ( +"coR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/security/range) -"cko" = ( +"coS" = ( /obj/structure/sign/securearea{ pixel_y = -32 }, @@ -54644,7 +58747,7 @@ }, /turf/open/floor/plating, /area/security/range) -"ckp" = ( +"coT" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ @@ -54653,19 +58756,19 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/security/range) -"ckq" = ( +"coU" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plating, /area/security/range) -"ckr" = ( +"coV" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plating, /area/security/range) -"cks" = ( +"coW" = ( /obj/machinery/light/small{ dir = 4 }, @@ -54674,25 +58777,24 @@ }, /turf/open/floor/plating, /area/security/range) -"ckt" = ( +"coX" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/ai_upload) -"cku" = ( +"coY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/ai_upload) -"ckv" = ( +"coZ" = ( /obj/structure/cable{ icon_state = "2-4" }, /obj/effect/turf_decal/stripes/line{ dir = 9 }, -/obj/structure/barricade/wooden, /turf/open/floor/plating, /area/engine/engineering) -"ckw" = ( +"cpa" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -54701,7 +58803,7 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"ckx" = ( +"cpb" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -54713,7 +58815,7 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"cky" = ( +"cpc" = ( /obj/structure/cable{ icon_state = "2-8" }, @@ -54725,7 +58827,7 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"ckz" = ( +"cpd" = ( /obj/machinery/button/door{ id = "engpa"; name = "Engineering Chamber Shutters Control"; @@ -54737,24 +58839,32 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"ckA" = ( +"cpe" = ( /obj/structure/table/reinforced, /obj/item/clipboard, /obj/item/toy/figure/engineer, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"ckB" = ( +"cpf" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/engine/engineering) +"cpg" = ( /obj/structure/table/reinforced, /obj/item/airlock_painter, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/engineering) -"ckC" = ( +"cph" = ( /obj/structure/sign/securearea, /turf/closed/wall/r_wall, /area/engine/engineering) -"ckD" = ( +"cpi" = ( /obj/structure/closet/crate, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ @@ -54770,12 +58880,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"ckE" = ( +"cpj" = ( /obj/machinery/shieldgen, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"ckF" = ( +"cpk" = ( /obj/machinery/shieldgen, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -54785,24 +58895,24 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"ckG" = ( +"cpl" = ( /obj/machinery/field/generator, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"ckH" = ( +"cpm" = ( /obj/machinery/shieldwallgen, /obj/effect/decal/cleanable/cobweb, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port) -"ckI" = ( +"cpn" = ( /obj/machinery/shieldwallgen, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/port) -"ckJ" = ( +"cpo" = ( /obj/structure/tank_dispenser, /obj/effect/decal/cleanable/dirt, /obj/item/device/radio/intercom{ @@ -54813,13 +58923,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/port) -"ckK" = ( +"cpp" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/port) -"ckL" = ( +"cpq" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -54829,7 +58939,7 @@ dir = 4 }, /area/maintenance/port) -"ckM" = ( +"cpr" = ( /obj/machinery/power/apc{ dir = 8; name = "Library APC"; @@ -54842,33 +58952,44 @@ }, /turf/open/floor/wood, /area/library) -"ckN" = ( +"cps" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/wood, /area/library) -"ckO" = ( +"cpt" = ( /obj/structure/cable/white{ icon_state = "1-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/library) -"ckP" = ( +"cpu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/wood, /area/library) -"ckQ" = ( +"cpv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/window{ + dir = 8; + name = "Library Desk"; + req_access_txt = "0" + }, +/turf/open/floor/plasteel/grimy, +/area/library) +"cpw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/carpet, /area/library) -"ckR" = ( +"cpx" = ( /obj/structure/chair/office/dark{ dir = 1 }, @@ -54878,10 +58999,10 @@ }, /turf/open/floor/carpet, /area/library) -"ckS" = ( +"cpy" = ( /turf/open/floor/carpet, /area/library) -"ckT" = ( +"cpz" = ( /obj/structure/table/wood, /obj/machinery/computer/libraryconsole/bookmanagement, /obj/machinery/newscaster{ @@ -54889,7 +59010,7 @@ }, /turf/open/floor/plasteel/grimy, /area/library) -"ckU" = ( +"cpA" = ( /obj/structure/table/wood, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -54898,21 +59019,21 @@ /obj/item/device/flashlight/lamp/green, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"ckV" = ( +"cpB" = ( /obj/structure/closet/secure_closet/hop, /obj/item/clothing/suit/ianshirt, /obj/item/bedsheet/ian, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) -"ckW" = ( +"cpC" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall, /area/crew_quarters/heads/hop) -"ckX" = ( +"cpD" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"ckY" = ( +"cpE" = ( /obj/machinery/disposal/bin, /obj/structure/cable/white{ icon_state = "1-2" @@ -54922,7 +59043,7 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"ckZ" = ( +"cpF" = ( /obj/machinery/firealarm{ dir = 1; pixel_y = -26 @@ -54930,7 +59051,7 @@ /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"cla" = ( +"cpG" = ( /obj/machinery/light_switch{ pixel_x = 26; pixel_y = -26 @@ -54941,12 +59062,12 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"clb" = ( +"cpH" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"clc" = ( +"cpI" = ( /obj/machinery/airalarm{ dir = 4; pixel_x = -23 @@ -54958,7 +59079,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/tcommsat/server) -"cld" = ( +"cpJ" = ( /obj/machinery/light, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ @@ -54969,7 +59090,7 @@ }, /turf/open/floor/plasteel, /area/tcommsat/server) -"cle" = ( +"cpK" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -54977,7 +59098,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/tcommsat/server) -"clf" = ( +"cpL" = ( /obj/machinery/firealarm{ dir = 1; pixel_y = -26 @@ -54987,7 +59108,7 @@ }, /turf/open/floor/plasteel, /area/tcommsat/server) -"clg" = ( +"cpM" = ( /obj/structure/table, /obj/structure/extinguisher_cabinet{ pixel_x = 26 @@ -55000,7 +59121,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/tcommsat/server) -"clh" = ( +"cpN" = ( /obj/structure/rack, /obj/item/tank/internals/oxygen, /obj/item/device/radio, @@ -55011,14 +59132,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/teleporter) -"cli" = ( +"cpO" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/teleporter) -"clj" = ( +"cpP" = ( /obj/machinery/light_switch{ pixel_x = -7; pixel_y = -26 @@ -55034,18 +59155,18 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, /area/teleporter) -"clk" = ( +"cpQ" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/teleporter) -"cll" = ( +"cpR" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/teleporter) -"clm" = ( +"cpS" = ( /obj/machinery/light, /obj/machinery/airalarm{ dir = 1; @@ -55059,7 +59180,7 @@ }, /turf/open/floor/plasteel, /area/teleporter) -"cln" = ( +"cpT" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -55069,13 +59190,15 @@ }, /turf/open/floor/plasteel, /area/teleporter) -"clo" = ( -/obj/machinery/computer/teleporter, +"cpU" = ( +/obj/machinery/computer/teleporter{ + dir = 8 + }, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/teleporter) -"clp" = ( +"cpV" = ( /obj/structure/table, /obj/machinery/status_display{ pixel_x = -32 @@ -55086,34 +59209,34 @@ dir = 5 }, /area/security/courtroom) -"clq" = ( +"cpW" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/security/courtroom) -"clr" = ( +"cpX" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/neutral/side, /area/security/courtroom) -"cls" = ( +"cpY" = ( /obj/structure/filingcabinet/chestdrawer, /turf/open/floor/plasteel/neutral/side, /area/security/courtroom) -"clt" = ( +"cpZ" = ( /obj/structure/cable/white{ icon_state = "1-4" }, /turf/open/floor/plasteel/neutral/side, /area/security/courtroom) -"clu" = ( +"cqa" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/neutral/side, /area/security/courtroom) -"clv" = ( +"cqb" = ( /obj/machinery/power/apc{ dir = 4; name = "Courtroom APC"; @@ -55125,7 +59248,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/security/courtroom) -"clw" = ( +"cqc" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -55142,14 +59265,14 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard) -"clx" = ( +"cqd" = ( /turf/closed/wall, /area/crew_quarters/locker) -"cly" = ( +"cqe" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/maintenance/starboard) -"clz" = ( +"cqf" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; @@ -55168,7 +59291,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard) -"clA" = ( +"cqg" = ( /obj/structure/plasticflaps{ opacity = 1 }, @@ -55181,7 +59304,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/security/range) -"clB" = ( +"cqh" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Security Maintenance"; req_access_txt = "63" @@ -55197,12 +59320,12 @@ }, /turf/open/floor/plasteel, /area/security/range) -"clC" = ( +"cqi" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/range) -"clD" = ( +"cqj" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 8 @@ -55210,24 +59333,24 @@ /obj/structure/lattice, /turf/open/space, /area/space) -"clE" = ( +"cqk" = ( /obj/structure/lattice, /obj/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/space, /area/space) -"clF" = ( +"cql" = ( /obj/structure/lattice/catwalk, /obj/structure/window/reinforced, /turf/open/space, /area/space) -"clG" = ( +"cqm" = ( /obj/structure/lattice, /obj/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/space, /area/space) -"clH" = ( +"cqn" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 4 @@ -55236,43 +59359,46 @@ /obj/structure/lattice, /turf/open/space, /area/space) -"clJ" = ( +"cqo" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plating/airless, /area/space) -"clL" = ( +"cqp" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 }, /turf/open/floor/plating/airless, /area/space) -"clM" = ( +"cqq" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/structure/barricade/wooden, /turf/open/floor/plating, /area/engine/engineering) -"clN" = ( +"cqr" = ( /turf/open/floor/plating, /area/engine/engineering) -"clP" = ( +"cqs" = ( +/obj/item/stack/cable_coil/red, +/turf/open/floor/plating, +/area/engine/engineering) +"cqt" = ( /obj/structure/cable, /turf/open/floor/plating, /area/engine/engineering) -"clQ" = ( +"cqu" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ icon_state = "1-4" }, /turf/open/floor/plating, /area/engine/engineering) -"clR" = ( +"cqv" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -55281,7 +59407,7 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"clS" = ( +"cqw" = ( /obj/machinery/door/poddoor/shutters/preopen{ id = "engpa"; name = "Engineering Chamber Shutters" @@ -55292,13 +59418,12 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/structure/barricade/wooden, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/engine/engineering) -"clT" = ( +"cqx" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -55307,7 +59432,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"clU" = ( +"cqy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable{ icon_state = "4-8" @@ -55317,7 +59442,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"clV" = ( +"cqz" = ( /obj/structure/cable{ icon_state = "1-8" }, @@ -55327,7 +59452,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/yellow, /area/engine/engineering) -"clW" = ( +"cqA" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -55339,7 +59464,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"clX" = ( +"cqB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -55348,7 +59473,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"clY" = ( +"cqC" = ( /obj/machinery/door/poddoor{ id = "engstorage"; name = "Engineering Secure Storage Lockdown" @@ -55364,7 +59489,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"clZ" = ( +"cqD" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -55374,7 +59499,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cma" = ( +"cqE" = ( /obj/machinery/shieldgen, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -55383,7 +59508,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"cmb" = ( +"cqF" = ( /obj/machinery/field/generator, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -55391,7 +59516,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"cmc" = ( +"cqG" = ( /obj/machinery/field/generator, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -55400,50 +59525,54 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"cmd" = ( +"cqH" = ( /obj/machinery/shieldwallgen, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/port) -"cme" = ( +"cqI" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port) -"cmf" = ( +"cqJ" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/port) -"cmg" = ( +"cqK" = ( /obj/structure/sign/securearea, /turf/closed/wall/r_wall, /area/maintenance/port) -"cmh" = ( +"cqL" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port) -"cmi" = ( +"cqM" = ( /obj/machinery/light{ dir = 8 }, /obj/structure/bookcase/random/fiction, /turf/open/floor/wood, /area/library) -"cmj" = ( +"cqN" = ( /obj/structure/bookcase/random/fiction, /turf/open/floor/wood, /area/library) -"cmk" = ( +"cqO" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/wood, +/area/library) +"cqP" = ( /obj/structure/bookcase/random/adult, /turf/open/floor/wood, /area/library) -"cml" = ( +"cqQ" = ( /obj/structure/table/wood, /obj/item/storage/briefcase, /obj/structure/window/reinforced{ @@ -55451,34 +59580,34 @@ }, /turf/open/floor/plasteel/grimy, /area/library) -"cmm" = ( +"cqR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/carpet, /area/library) -"cmn" = ( +"cqS" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /turf/open/floor/carpet, /area/library) -"cmo" = ( +"cqT" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/carpet, /area/library) -"cmp" = ( +"cqU" = ( /obj/machinery/libraryscanner, /obj/machinery/status_display{ pixel_x = 32 }, /turf/open/floor/plasteel/grimy, /area/library) -"cmq" = ( +"cqV" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall/r_wall, /area/crew_quarters/heads/hop) -"cmr" = ( +"cqW" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ id = "hopblast"; @@ -55487,7 +59616,7 @@ /obj/structure/cable/white, /turf/open/floor/plating, /area/crew_quarters/heads/hop) -"cms" = ( +"cqX" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -55504,22 +59633,22 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"cmt" = ( +"cqY" = ( /turf/closed/wall/r_wall, /area/hallway/secondary/command) -"cmu" = ( +"cqZ" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/hallway/secondary/command) -"cmv" = ( +"cra" = ( /obj/structure/sign/securearea, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/hallway/secondary/command) -"cmw" = ( +"crb" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -55539,7 +59668,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/command) -"cmx" = ( +"crc" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ name = "Teleport Access"; @@ -55554,7 +59683,7 @@ }, /turf/open/floor/plasteel, /area/teleporter) -"cmy" = ( +"crd" = ( /obj/machinery/button/door{ id = "teleportershutters"; name = "Teleporter Shutters"; @@ -55573,7 +59702,7 @@ }, /turf/open/floor/plasteel, /area/teleporter) -"cmz" = ( +"cre" = ( /obj/machinery/door/poddoor/shutters{ id = "teleportershutters"; name = "Teleporter Shutters" @@ -55587,16 +59716,16 @@ }, /turf/open/floor/plasteel, /area/teleporter) -"cmA" = ( +"crf" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/teleporter) -"cmB" = ( +"crg" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall/r_wall, /area/teleporter) -"cmC" = ( +"crh" = ( /obj/structure/table, /obj/machinery/airalarm{ dir = 4; @@ -55607,13 +59736,13 @@ dir = 5 }, /area/security/courtroom) -"cmD" = ( +"cri" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/security/courtroom) -"cmE" = ( +"crj" = ( /obj/machinery/vending/cigarette, /obj/machinery/light{ dir = 4 @@ -55627,11 +59756,11 @@ dir = 5 }, /area/security/courtroom) -"cmF" = ( +"crk" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall, /area/security/courtroom) -"cmG" = ( +"crl" = ( /obj/structure/table/wood, /obj/machinery/light{ dir = 8 @@ -55640,26 +59769,34 @@ /obj/item/pen, /turf/open/floor/plasteel/vault, /area/security/courtroom) -"cmH" = ( +"crm" = ( /obj/structure/table/wood, /obj/item/device/radio/intercom{ name = "Station Intercom" }, /turf/open/floor/plasteel/vault, /area/security/courtroom) -"cmI" = ( +"crn" = ( /obj/structure/table/wood, /obj/item/clipboard, /obj/item/folder, /turf/open/floor/plasteel/vault, /area/security/courtroom) -"cmJ" = ( +"cro" = ( /obj/structure/table/wood, /obj/item/folder/yellow, /obj/item/pen, /turf/open/floor/plasteel/vault, /area/security/courtroom) -"cmL" = ( +"crp" = ( +/obj/structure/table/wood, +/obj/item/storage/briefcase, +/obj/structure/sign/poster/official/help_others{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/vault, +/area/security/courtroom) +"crq" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -55668,44 +59805,54 @@ dir = 5 }, /area/crew_quarters/locker) -"cmM" = ( +"crr" = ( /obj/structure/closet/secure_closet/personal, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/locker) -"cmN" = ( +"crs" = ( /obj/machinery/status_display, /turf/closed/wall, /area/crew_quarters/locker) -"cmO" = ( +"crt" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/machinery/portable_atmospherics/pump, /turf/open/floor/plasteel/arrival{ dir = 1 }, /area/crew_quarters/locker) -"cmP" = ( +"cru" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/portable_atmospherics/pump, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/turf/open/floor/plasteel/arrival{ + dir = 1 + }, +/area/crew_quarters/locker) +"crv" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/machinery/portable_atmospherics/scrubber, /turf/open/floor/plasteel/escape{ dir = 1 }, /area/crew_quarters/locker) -"cmQ" = ( +"crw" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb, -/obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance{ lootcount = 3; name = "3maintenance loot spawner" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/closet/wardrobe/yellow, /turf/open/floor/plasteel/neutral/side{ dir = 9 }, /area/maintenance/starboard) -"cmR" = ( +"crx" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -55713,33 +59860,33 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/starboard) -"cmS" = ( +"cry" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard) -"cmT" = ( +"crz" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard) -"cmU" = ( +"crA" = ( /turf/open/floor/plating, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating{ icon_state = "platingdmg2" }, /area/maintenance/starboard) -"cmV" = ( +"crB" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/starboard) -"cmW" = ( +"crC" = ( /obj/structure/closet/secure_closet/security/sec, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/turf_decal/stripes/end{ @@ -55747,17 +59894,14 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard) -"cmX" = ( -/turf/closed/wall, -/area/maintenance/starboard) -"cmY" = ( +"crD" = ( /obj/structure/sign/electricshock{ pixel_x = -32; pixel_y = 32 }, /turf/open/space, /area/space) -"cmZ" = ( +"crE" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 8 @@ -55767,7 +59911,7 @@ dir = 5 }, /area/aisat) -"cna" = ( +"crF" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -55777,7 +59921,7 @@ dir = 5 }, /area/aisat) -"cnb" = ( +"crG" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -55787,7 +59931,7 @@ dir = 5 }, /area/aisat) -"cnc" = ( +"crH" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 4 @@ -55797,17 +59941,27 @@ dir = 5 }, /area/aisat) -"cnd" = ( +"crI" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/power/tesla_coil, +/turf/open/floor/plating/airless, +/area/space) +"crJ" = ( /obj/item/wrench, /turf/open/floor/plating/airless, /area/space) -"cne" = ( +"crK" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plating/airless, /area/space) -"cnf" = ( +"crL" = ( /obj/structure/cable{ icon_state = "1-4" }, @@ -55819,14 +59973,14 @@ }, /turf/open/floor/plating/airless, /area/space) -"cng" = ( +"crM" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ icon_state = "4-8" }, /turf/open/floor/plating, /area/engine/engineering) -"cnh" = ( +"crN" = ( /obj/structure/cable{ icon_state = "2-8" }, @@ -55836,10 +59990,13 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/structure/barricade/wooden, /turf/open/floor/plating, /area/engine/engineering) -"cnm" = ( +"crO" = ( +/obj/item/weldingtool/largetank, +/turf/open/floor/plating, +/area/engine/engineering) +"crP" = ( /obj/machinery/light{ dir = 4 }, @@ -55848,7 +60005,7 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"cnn" = ( +"crQ" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/camera{ c_tag = "Engineering - Central"; @@ -55868,12 +60025,12 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cno" = ( +"crR" = ( /obj/effect/landmark/start/station_engineer, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/yellow, /area/engine/engineering) -"cnp" = ( +"crS" = ( /obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "1-2" @@ -55885,7 +60042,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"cnq" = ( +"crT" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -55894,7 +60051,7 @@ }, /turf/open/floor/plasteel/yellow, /area/engine/engineering) -"cnr" = ( +"crU" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, @@ -55903,7 +60060,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cns" = ( +"crV" = ( /obj/machinery/door/poddoor{ id = "engstorage"; name = "Engineering Secure Storage Lockdown" @@ -55917,27 +60074,27 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cnt" = ( +"crW" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/engine/engineering) -"cnu" = ( +"crX" = ( /obj/effect/turf_decal/stripes/line{ dir = 2 }, /turf/open/floor/plasteel, /area/engine/engineering) -"cnv" = ( +"crY" = ( /obj/effect/decal/cleanable/oil, /obj/effect/turf_decal/stripes/line{ dir = 2 }, /turf/open/floor/plasteel, /area/engine/engineering) -"cnw" = ( +"crZ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ dir = 4 @@ -55953,7 +60110,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cnx" = ( +"csa" = ( /obj/machinery/light{ dir = 8 }, @@ -55962,7 +60119,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cny" = ( +"csb" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/xeno_spawn, /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -55973,7 +60130,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cnz" = ( +"csc" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -55983,7 +60140,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cnA" = ( +"csd" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -55992,7 +60149,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cnB" = ( +"cse" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/highsecurity{ name = "Engineering Auxiliary Storage"; @@ -56009,14 +60166,14 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cnC" = ( +"csf" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/port) -"cnD" = ( +"csg" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -56028,13 +60185,13 @@ dir = 4 }, /area/maintenance/port) -"cnE" = ( +"csh" = ( /obj/machinery/newscaster{ pixel_x = -32 }, /turf/open/floor/wood, /area/library) -"cnF" = ( +"csi" = ( /obj/structure/table/wood, /obj/item/folder, /obj/item/pen/blue{ @@ -56052,17 +60209,17 @@ }, /turf/open/floor/plasteel/grimy, /area/library) -"cnG" = ( +"csj" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, /turf/open/floor/carpet, /area/library) -"cnH" = ( +"csk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/carpet, /area/library) -"cnI" = ( +"csl" = ( /obj/structure/table/wood, /obj/item/storage/bag/books, /obj/item/device/taperecorder, @@ -56072,7 +60229,7 @@ }, /turf/open/floor/plasteel/grimy, /area/library) -"cnJ" = ( +"csm" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -56081,13 +60238,13 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"cnK" = ( +"csn" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/hallway/primary/central) -"cnL" = ( +"cso" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Command Hallway" @@ -56103,7 +60260,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/command) -"cnM" = ( +"csp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -56111,7 +60268,7 @@ dir = 1 }, /area/hallway/secondary/command) -"cnN" = ( +"csq" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, @@ -56119,7 +60276,7 @@ dir = 1 }, /area/hallway/secondary/command) -"cnO" = ( +"csr" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -56128,7 +60285,7 @@ dir = 1 }, /area/hallway/secondary/command) -"cnP" = ( +"css" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -56137,7 +60294,7 @@ dir = 1 }, /area/hallway/secondary/command) -"cnQ" = ( +"cst" = ( /obj/structure/sign/electricshock{ pixel_y = 32 }, @@ -56148,7 +60305,7 @@ dir = 1 }, /area/hallway/secondary/command) -"cnR" = ( +"csu" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -56159,7 +60316,7 @@ dir = 1 }, /area/hallway/secondary/command) -"cnS" = ( +"csv" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -56176,7 +60333,18 @@ dir = 1 }, /area/hallway/secondary/command) -"cnT" = ( +"csw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/turf/open/floor/plasteel/neutral/corner{ + dir = 1 + }, +/area/hallway/secondary/command) +"csx" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -56185,7 +60353,7 @@ dir = 1 }, /area/hallway/secondary/command) -"cnU" = ( +"csy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -56198,7 +60366,7 @@ dir = 4 }, /area/hallway/secondary/command) -"cnV" = ( +"csz" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -56206,7 +60374,7 @@ dir = 4 }, /area/hallway/secondary/command) -"cnW" = ( +"csA" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, @@ -56218,7 +60386,7 @@ dir = 4 }, /area/hallway/secondary/command) -"cnX" = ( +"csB" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -56229,7 +60397,7 @@ dir = 4 }, /area/hallway/secondary/command) -"cnY" = ( +"csC" = ( /obj/structure/sign/electricshock{ pixel_y = 32 }, @@ -56240,13 +60408,21 @@ dir = 4 }, /area/hallway/secondary/command) -"cnZ" = ( +"csD" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/neutral/corner{ + dir = 4 + }, +/area/hallway/secondary/command) +"csE" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/hallway/secondary/command) -"coa" = ( +"csF" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -56255,7 +60431,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/command) -"cob" = ( +"csG" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -56265,7 +60441,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/command) -"coc" = ( +"csH" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -56275,7 +60451,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/command) -"cod" = ( +"csI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -56284,14 +60460,14 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/command) -"cof" = ( +"csJ" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"cog" = ( +"csK" = ( /obj/machinery/vending/coffee, /obj/machinery/firealarm{ dir = 1; @@ -56301,7 +60477,7 @@ dir = 5 }, /area/security/courtroom) -"coh" = ( +"csL" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -56310,7 +60486,18 @@ dir = 5 }, /area/security/courtroom) -"coj" = ( +"csM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/sign/poster/official/work_for_a_future{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/security/courtroom) +"csN" = ( /obj/machinery/door/airlock{ name = "Jury"; req_access_txt = "42" @@ -56322,7 +60509,7 @@ dir = 5 }, /area/security/courtroom) -"cok" = ( +"csO" = ( /obj/structure/chair{ dir = 1; name = "Jury" @@ -56337,7 +60524,7 @@ dir = 5 }, /area/security/courtroom) -"col" = ( +"csP" = ( /obj/structure/chair{ dir = 1; name = "Jury" @@ -56349,7 +60536,7 @@ dir = 5 }, /area/security/courtroom) -"com" = ( +"csQ" = ( /obj/structure/chair{ dir = 1; name = "Jury" @@ -56364,7 +60551,7 @@ dir = 5 }, /area/security/courtroom) -"con" = ( +"csR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, @@ -56372,7 +60559,7 @@ dir = 5 }, /area/security/courtroom) -"coo" = ( +"csS" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -56384,12 +60571,12 @@ dir = 1 }, /area/crew_quarters/locker) -"cop" = ( +"csT" = ( /turf/open/floor/plasteel/neutral/corner{ dir = 1 }, /area/crew_quarters/locker) -"coq" = ( +"csU" = ( /obj/machinery/light{ dir = 1 }, @@ -56403,7 +60590,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/locker) -"cor" = ( +"csV" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, @@ -56411,7 +60598,7 @@ dir = 4 }, /area/crew_quarters/locker) -"cos" = ( +"csW" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, @@ -56419,7 +60606,7 @@ dir = 4 }, /area/crew_quarters/locker) -"cot" = ( +"csX" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -56427,25 +60614,37 @@ dir = 4 }, /area/crew_quarters/locker) -"cou" = ( +"csY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, -/obj/item/storage/pod{ - pixel_x = 32 - }, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/crew_quarters/locker) -"cov" = ( +"csZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Maintenance Hatch"; + req_access_txt = "12" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"cta" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/delivery, /turf/open/floor/plasteel/neutral/side{ dir = 8; heat_capacity = 1e+006 }, /area/maintenance/starboard) -"cow" = ( +"ctb" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -56455,20 +60654,20 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/starboard) -"cox" = ( +"ctc" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/starboard) -"coy" = ( +"ctd" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/starboard) -"coz" = ( +"cte" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -56482,7 +60681,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"coA" = ( +"ctf" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -56492,13 +60691,7 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/starboard) -"coB" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/starboard) -"coC" = ( +"ctg" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -56519,7 +60712,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"coD" = ( +"cth" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -56529,11 +60722,11 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"coE" = ( +"cti" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/starboard) -"coF" = ( +"ctj" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -56544,13 +60737,13 @@ dir = 5 }, /area/aisat) -"coG" = ( +"ctk" = ( /obj/structure/chair, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/aisat) -"coH" = ( +"ctl" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -56561,34 +60754,42 @@ dir = 5 }, /area/aisat) -"coI" = ( +"ctm" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plating/airless, /area/space) -"coK" = ( +"ctn" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating/airless, +/area/space) +"cto" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/plating/airless, /area/space) -"coN" = ( +"ctp" = ( +/obj/item/wrench, +/turf/open/floor/plating, +/area/engine/engineering) +"ctq" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/engine/engineering) -"coO" = ( +"ctr" = ( /obj/effect/decal/cleanable/oil, /turf/open/floor/plating, /area/engine/engineering) -"coP" = ( +"cts" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ icon_state = "2-4" }, /turf/open/floor/plating, /area/engine/engineering) -"coQ" = ( +"ctt" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, @@ -56600,7 +60801,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"coR" = ( +"ctu" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /obj/structure/cable{ icon_state = "4-8" @@ -56610,7 +60811,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"coS" = ( +"ctv" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -56620,7 +60821,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/yellow, /area/engine/engineering) -"coT" = ( +"ctw" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -56631,7 +60832,7 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, /area/engine/engineering) -"coU" = ( +"ctx" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -56641,7 +60842,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"coV" = ( +"cty" = ( /obj/machinery/door/poddoor{ id = "engstorage"; name = "Engineering Secure Storage Lockdown" @@ -56658,7 +60859,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"coW" = ( +"ctz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -56668,29 +60869,29 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"coX" = ( +"ctA" = ( /obj/machinery/portable_atmospherics/canister/toxins, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"coY" = ( +"ctB" = ( /obj/machinery/power/tesla_coil, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"coZ" = ( +"ctC" = ( /obj/machinery/power/emitter, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"cpa" = ( +"ctD" = ( /obj/machinery/power/emitter, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"cpb" = ( +"ctE" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -56701,16 +60902,16 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cpc" = ( +"ctF" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/maintenance/port) -"cpd" = ( +"ctG" = ( /obj/effect/decal/cleanable/oil, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/maintenance/port) -"cpe" = ( +"ctH" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -56718,18 +60919,18 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cpf" = ( +"ctI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/port) -"cpg" = ( +"ctJ" = ( /obj/structure/bookcase/random/nonfiction, /turf/open/floor/wood, /area/library) -"cph" = ( +"ctK" = ( /obj/machinery/light, /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/camera{ @@ -56739,7 +60940,7 @@ }, /turf/open/floor/wood, /area/library) -"cpi" = ( +"ctL" = ( /obj/structure/table/wood, /obj/item/storage/pill_bottle/dice, /obj/machinery/computer/security/telescreen/entertainment{ @@ -56750,7 +60951,7 @@ }, /turf/open/floor/plasteel/grimy, /area/library) -"cpj" = ( +"ctM" = ( /obj/machinery/light, /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light_switch{ @@ -56759,11 +60960,11 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/library) -"cpk" = ( +"ctN" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/grimy, /area/library) -"cpl" = ( +"ctO" = ( /obj/structure/table/wood, /obj/item/clipboard, /obj/item/toy/figure/curator, @@ -56777,7 +60978,7 @@ }, /turf/open/floor/plasteel/grimy, /area/library) -"cpm" = ( +"ctP" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -56795,7 +60996,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"cpn" = ( +"ctQ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -56805,7 +61006,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"cpo" = ( +"ctR" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -56824,7 +61025,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/command) -"cpp" = ( +"ctS" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -56835,7 +61036,7 @@ dir = 8 }, /area/hallway/secondary/command) -"cpq" = ( +"ctT" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -56849,7 +61050,22 @@ dir = 8 }, /area/hallway/secondary/command) -"cpr" = ( +"ctU" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/neutral/corner{ + dir = 8 + }, +/area/hallway/secondary/command) +"ctV" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -56864,7 +61080,7 @@ dir = 8 }, /area/hallway/secondary/command) -"cps" = ( +"ctW" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -56880,7 +61096,7 @@ dir = 8 }, /area/hallway/secondary/command) -"cpt" = ( +"ctX" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -56895,7 +61111,7 @@ dir = 8 }, /area/hallway/secondary/command) -"cpu" = ( +"ctY" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -56904,7 +61120,19 @@ dir = 8 }, /area/hallway/secondary/command) -"cpv" = ( +"ctZ" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral/corner{ + dir = 8 + }, +/area/hallway/secondary/command) +"cua" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -56921,7 +61149,7 @@ dir = 8 }, /area/hallway/secondary/command) -"cpw" = ( +"cub" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -56933,7 +61161,7 @@ dir = 8 }, /area/hallway/secondary/command) -"cpx" = ( +"cuc" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -56951,7 +61179,7 @@ dir = 8 }, /area/hallway/secondary/command) -"cpy" = ( +"cud" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -56965,7 +61193,7 @@ dir = 1 }, /area/hallway/secondary/command) -"cpz" = ( +"cue" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -56975,7 +61203,7 @@ dir = 1 }, /area/hallway/secondary/command) -"cpA" = ( +"cuf" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -56993,7 +61221,7 @@ dir = 1 }, /area/hallway/secondary/command) -"cpB" = ( +"cug" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -57006,7 +61234,7 @@ dir = 1 }, /area/hallway/secondary/command) -"cpC" = ( +"cuh" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -57019,7 +61247,7 @@ dir = 1 }, /area/hallway/secondary/command) -"cpD" = ( +"cui" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -57033,7 +61261,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/secondary/command) -"cpE" = ( +"cuj" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -57043,7 +61271,7 @@ /obj/machinery/light/small, /turf/open/floor/plasteel/neutral/corner, /area/hallway/secondary/command) -"cpF" = ( +"cuk" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -57058,7 +61286,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/secondary/command) -"cpG" = ( +"cul" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -57067,7 +61295,19 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/secondary/command) -"cpH" = ( +"cum" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/neutral/corner, +/area/hallway/secondary/command) +"cun" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -57076,7 +61316,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/secondary/command) -"cpI" = ( +"cuo" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -57089,7 +61329,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/corner, /area/hallway/secondary/command) -"cpJ" = ( +"cup" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -57102,7 +61342,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/secondary/command) -"cpK" = ( +"cuq" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -57113,7 +61353,17 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/secondary/command) -"cpL" = ( +"cur" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral/corner, +/area/hallway/secondary/command) +"cus" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -57124,7 +61374,7 @@ dir = 8 }, /area/hallway/primary/central) -"cpM" = ( +"cut" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -57136,7 +61386,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"cpN" = ( +"cuu" = ( /obj/structure/sign/directions/engineering{ desc = "A sign that shows there are doors here. There are doors everywhere!"; icon_state = "doors"; @@ -57144,12 +61394,12 @@ }, /turf/closed/wall, /area/security/courtroom) -"cpO" = ( +"cuv" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/security/courtroom) -"cpP" = ( +"cuw" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -57161,25 +61411,25 @@ dir = 1 }, /area/crew_quarters/locker) -"cpQ" = ( +"cux" = ( /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cpR" = ( +"cuy" = ( /obj/structure/chair/stool, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cpS" = ( +"cuz" = ( /obj/structure/chair/stool, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cpT" = ( +"cuA" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cpU" = ( +"cuB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -57187,32 +61437,19 @@ dir = 4 }, /area/crew_quarters/locker) -"cpV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Maintenance Hatch"; - req_access_txt = "12" - }, +"cuC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, +/turf/closed/wall, /area/maintenance/starboard) -"cpW" = ( -/obj/effect/decal/cleanable/dirt, +"cuD" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, +/turf/closed/wall, /area/maintenance/starboard) -"cpX" = ( +"cuE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -57221,14 +61458,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/starboard) -"cpY" = ( +"cuF" = ( /obj/structure/table, /obj/item/storage/box/bodybags, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/starboard) -"cpZ" = ( +"cuG" = ( /obj/structure/table, /obj/item/clothing/under/rank/security, /obj/item/restraints/handcuffs, @@ -57243,7 +61480,7 @@ /obj/structure/cable/white, /turf/open/floor/plating, /area/maintenance/starboard) -"cqa" = ( +"cuH" = ( /obj/structure/closet/crate{ icon_state = "crateopen"; opened = 1 @@ -57259,16 +61496,16 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"cqb" = ( +"cuI" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/red/corner, /area/maintenance/starboard) -"cqc" = ( +"cuJ" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/starboard) -"cqd" = ( +"cuK" = ( /obj/structure/reagent_dispensers/peppertank{ pixel_y = -32 }, @@ -57278,14 +61515,14 @@ /obj/effect/turf_decal/stripes/end, /turf/open/floor/plating, /area/maintenance/starboard) -"cqe" = ( +"cuL" = ( /turf/closed/wall, /area/crew_quarters/fitness/recreation) -"cqf" = ( +"cuM" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/crew_quarters/fitness/recreation) -"cqg" = ( +"cuN" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 8 @@ -57295,7 +61532,7 @@ dir = 5 }, /area/aisat) -"cqh" = ( +"cuO" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 4 @@ -57305,24 +61542,23 @@ dir = 5 }, /area/aisat) -"cqi" = ( +"cuP" = ( /obj/structure/cable{ icon_state = "1-4" }, /obj/effect/turf_decal/stripes/line{ dir = 10 }, -/obj/structure/barricade/wooden, /turf/open/floor/plating, /area/engine/engineering) -"cqj" = ( +"cuQ" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/engine/engineering) -"cqk" = ( +"cuR" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ icon_state = "4-8" @@ -57330,7 +61566,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/engine/engineering) -"cql" = ( +"cuS" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -57342,7 +61578,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/engine/engineering) -"cqm" = ( +"cuT" = ( /obj/structure/cable{ icon_state = "1-8" }, @@ -57352,7 +61588,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/engine/engineering) -"cqn" = ( +"cuU" = ( /obj/machinery/button/door{ id = "engpa"; name = "Engineering Chamber Shutters Control"; @@ -57364,7 +61600,7 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"cqo" = ( +"cuV" = ( /obj/structure/table/reinforced, /obj/item/tank/internals/plasma, /obj/structure/extinguisher_cabinet{ @@ -57373,11 +61609,11 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"cqp" = ( +"cuW" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/engine/engineering) -"cqq" = ( +"cuX" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -57388,7 +61624,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cqr" = ( +"cuY" = ( /obj/structure/table/reinforced, /obj/item/stock_parts/cell/high, /obj/item/stock_parts/cell/high, @@ -57396,7 +61632,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/engineering) -"cqs" = ( +"cuZ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ @@ -57405,13 +61641,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"cqt" = ( +"cva" = ( /obj/machinery/portable_atmospherics/canister/toxins, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"cqu" = ( +"cvb" = ( /obj/machinery/power/tesla_coil, /obj/effect/decal/cleanable/dirt, /obj/machinery/camera{ @@ -57422,13 +61658,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"cqv" = ( +"cvc" = ( /obj/machinery/power/emitter, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"cqw" = ( +"cvd" = ( /obj/structure/rack, /obj/item/crowbar/red, /obj/item/wrench, @@ -57438,7 +61674,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/port) -"cqx" = ( +"cve" = ( /obj/structure/table/reinforced, /obj/item/stack/sheet/metal{ amount = 30 @@ -57452,7 +61688,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/port) -"cqy" = ( +"cvf" = ( /obj/structure/table/reinforced, /obj/structure/extinguisher_cabinet{ pixel_y = -32 @@ -57464,7 +61700,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/port) -"cqz" = ( +"cvg" = ( /obj/structure/table/reinforced, /obj/item/stack/cable_coil/white, /obj/item/electronics/airalarm, @@ -57474,36 +61710,36 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/port) -"cqA" = ( +"cvh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/port) -"cqB" = ( +"cvi" = ( /obj/machinery/door/airlock/glass{ name = "Library Game Room" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/library) -"cqC" = ( +"cvj" = ( /obj/machinery/door/airlock/glass{ name = "Library Game Room" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/grimy, /area/library) -"cqD" = ( +"cvk" = ( /obj/machinery/status_display, /turf/closed/wall, /area/library) -"cqE" = ( +"cvl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/library) -"cqF" = ( +"cvm" = ( /obj/machinery/door/morgue{ name = "Curator's Study"; req_access_txt = "37" @@ -57513,7 +61749,7 @@ dir = 5 }, /area/library) -"cqG" = ( +"cvn" = ( /obj/structure/sign/directions/engineering{ desc = "A direction sign, pointing out which way the Command department is."; dir = 1; @@ -57522,10 +61758,10 @@ }, /turf/closed/wall/r_wall, /area/ai_monitored/storage/eva) -"cqH" = ( +"cvo" = ( /turf/closed/wall/r_wall, /area/ai_monitored/storage/eva) -"cqI" = ( +"cvp" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -57544,7 +61780,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cqJ" = ( +"cvq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ name = "E.V.A. Storage"; @@ -57560,12 +61796,12 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cqK" = ( +"cvr" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/hallway/secondary/command) -"cqL" = ( +"cvs" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -57576,7 +61812,7 @@ dir = 8 }, /area/hallway/secondary/command) -"cqM" = ( +"cvt" = ( /obj/structure/chair/comfy/black{ dir = 4 }, @@ -57587,13 +61823,13 @@ dir = 1 }, /area/hallway/secondary/command) -"cqN" = ( +"cvu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/command) -"cqO" = ( +"cvv" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -57602,13 +61838,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/command) -"cqP" = ( +"cvw" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/command) -"cqQ" = ( +"cvx" = ( /obj/structure/chair/comfy/black{ dir = 8 }, @@ -57617,7 +61853,7 @@ }, /turf/open/floor/plasteel/blue/corner, /area/hallway/secondary/command) -"cqR" = ( +"cvy" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -57626,14 +61862,14 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/secondary/command) -"cqS" = ( +"cvz" = ( /turf/closed/wall/r_wall, /area/gateway) -"cqT" = ( +"cvA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/gateway) -"cqU" = ( +"cvB" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -57652,22 +61888,22 @@ }, /turf/open/floor/plasteel, /area/gateway) -"cqV" = ( +"cvC" = ( /obj/machinery/vending/cigarette, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/command) -"cqW" = ( +"cvD" = ( /obj/machinery/vending/coffee, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/command) -"cqX" = ( +"cvE" = ( /obj/machinery/vending/cola/random, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/command) -"cqY" = ( +"cvF" = ( /obj/structure/sign/directions/engineering{ desc = "A direction sign, pointing out which way the Command department is."; dir = 1; @@ -57676,19 +61912,18 @@ }, /turf/closed/wall/r_wall, /area/gateway) -"cra" = ( +"cvG" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/hallway/primary/central) -"crb" = ( +"cvH" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -57707,7 +61942,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"crc" = ( +"cvI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -57718,7 +61953,7 @@ dir = 4 }, /area/hallway/primary/central) -"crd" = ( +"cvJ" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/structure/disposalpipe/segment{ dir = 4 @@ -57727,7 +61962,7 @@ dir = 4 }, /area/hallway/primary/central) -"cre" = ( +"cvK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -57739,7 +61974,7 @@ heat_capacity = 1e+006 }, /area/hallway/primary/central) -"crf" = ( +"cvL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -57751,7 +61986,7 @@ dir = 1 }, /area/hallway/primary/central) -"crg" = ( +"cvM" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -57762,7 +61997,7 @@ dir = 1 }, /area/hallway/primary/central) -"crh" = ( +"cvN" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -57778,7 +62013,7 @@ dir = 1 }, /area/hallway/primary/central) -"cri" = ( +"cvO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -57794,7 +62029,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"crj" = ( +"cvP" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, @@ -57808,7 +62043,7 @@ dir = 1 }, /area/hallway/primary/central) -"crk" = ( +"cvQ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ name = "Lockerroom" @@ -57827,7 +62062,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/locker) -"crl" = ( +"cvR" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -57835,20 +62070,19 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/neutral/corner{ dir = 1 }, /area/crew_quarters/locker) -"crm" = ( +"cvS" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"crn" = ( +"cvT" = ( /obj/structure/chair/stool, /obj/effect/landmark/start/assistant, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -57856,7 +62090,7 @@ }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cro" = ( +"cvU" = ( /obj/structure/table, /obj/item/storage/fancy/donut_box, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -57864,7 +62098,7 @@ }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"crp" = ( +"cvV" = ( /obj/structure/table, /obj/item/device/camera_film{ pixel_x = 3; @@ -57876,7 +62110,7 @@ }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"crq" = ( +"cvW" = ( /obj/structure/table, /obj/item/device/camera, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -57884,32 +62118,33 @@ }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"crr" = ( +"cvX" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"crs" = ( +"cvY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"crt" = ( +"cvZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral/corner, +/area/crew_quarters/locker) +"cwa" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ dir = 8 }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, /area/crew_quarters/locker) -"cru" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/maintenance/starboard) -"crv" = ( +"cwb" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -57920,31 +62155,31 @@ dir = 4 }, /area/maintenance/starboard) -"crw" = ( +"cwc" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard) -"crx" = ( +"cwd" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/neutral/corner{ dir = 1 }, /area/crew_quarters/fitness/recreation) -"cry" = ( +"cwe" = ( /turf/open/floor/plasteel/neutral/corner{ dir = 1 }, /area/crew_quarters/fitness/recreation) -"crz" = ( +"cwf" = ( /obj/structure/table, /obj/item/stack/sheet/cloth/ten, /turf/open/floor/plasteel/neutral/corner{ dir = 1 }, /area/crew_quarters/fitness/recreation) -"crA" = ( +"cwg" = ( /obj/machinery/light{ dir = 1 }, @@ -57961,7 +62196,7 @@ dir = 1 }, /area/crew_quarters/fitness/recreation) -"crB" = ( +"cwh" = ( /obj/structure/table, /obj/item/paper_bin, /obj/item/pen, @@ -57969,18 +62204,18 @@ dir = 1 }, /area/crew_quarters/fitness/recreation) -"crC" = ( +"cwi" = ( /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/crew_quarters/fitness/recreation) -"crD" = ( +"cwj" = ( /turf/open/floor/plasteel/neutral/side{ dir = 8; heat_capacity = 1e+006 }, /area/crew_quarters/fitness/recreation) -"crE" = ( +"cwk" = ( /obj/structure/closet/masks, /obj/structure/sign/nanotrasen{ pixel_x = 32; @@ -57990,7 +62225,7 @@ dir = 4 }, /area/crew_quarters/fitness/recreation) -"crF" = ( +"cwl" = ( /obj/structure/table/reinforced, /obj/item/clothing/gloves/color/yellow, /obj/item/storage/toolbox/electrical, @@ -58000,11 +62235,11 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"crG" = ( +"cwm" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/yellow, /area/engine/engineering) -"crH" = ( +"cwn" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -58017,10 +62252,10 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"crI" = ( +"cwo" = ( /turf/closed/wall/r_wall, /area/engine/storage) -"crJ" = ( +"cwp" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -58028,11 +62263,11 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port) -"crK" = ( +"cwq" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/black, /area/library) -"crL" = ( +"cwr" = ( /obj/structure/easel, /obj/item/canvas/twentythreeXnineteen, /obj/item/canvas/twentythreeXtwentythree, @@ -58041,7 +62276,7 @@ dir = 5 }, /area/library) -"crM" = ( +"cws" = ( /obj/structure/easel, /obj/item/canvas/nineteenXnineteen, /obj/item/canvas/twentythreeXtwentythree, @@ -58051,7 +62286,7 @@ }, /turf/open/floor/plasteel/black, /area/library) -"crN" = ( +"cwt" = ( /obj/structure/table/wood, /obj/item/storage/crayons, /obj/item/storage/crayons, @@ -58059,7 +62294,7 @@ dir = 5 }, /area/library) -"crO" = ( +"cwu" = ( /obj/structure/table/wood, /obj/item/storage/fancy/candle_box{ pixel_x = 3; @@ -58068,11 +62303,11 @@ /obj/item/storage/fancy/candle_box, /turf/open/floor/plasteel/black, /area/library) -"crP" = ( +"cwv" = ( /obj/structure/closet/wardrobe/curator, /turf/open/floor/plasteel/black, /area/library) -"crQ" = ( +"cww" = ( /obj/machinery/light_switch{ pixel_y = 26 }, @@ -58081,23 +62316,23 @@ dir = 5 }, /area/library) -"crR" = ( +"cwx" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/black, /area/library) -"crS" = ( +"cwy" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/library) -"crT" = ( +"cwz" = ( /obj/structure/bookcase{ name = "Forbidden Knowledge" }, /turf/open/floor/plasteel/black, /area/library) -"crU" = ( +"cwA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/light{ dir = 4 @@ -58110,7 +62345,7 @@ dir = 4 }, /area/hallway/primary/central) -"crV" = ( +"cwB" = ( /obj/item/stack/cable_coil, /obj/item/device/multitool, /obj/structure/table/reinforced, @@ -58118,7 +62353,7 @@ dir = 8 }, /area/ai_monitored/storage/eva) -"crW" = ( +"cwC" = ( /obj/machinery/light{ dir = 1 }, @@ -58128,7 +62363,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"crX" = ( +"cwD" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -58138,14 +62373,14 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"crY" = ( +"cwE" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"crZ" = ( +"cwF" = ( /obj/machinery/power/apc{ dir = 1; name = "E.V.A. Storage APC"; @@ -58160,14 +62395,14 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"csa" = ( +"cwG" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"csb" = ( +"cwH" = ( /obj/machinery/light{ dir = 1 }, @@ -58177,7 +62412,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"csc" = ( +"cwI" = ( /obj/item/stack/packageWrap, /obj/item/hand_labeler, /obj/machinery/newscaster{ @@ -58193,7 +62428,7 @@ dir = 8 }, /area/ai_monitored/storage/eva) -"csd" = ( +"cwJ" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -58203,7 +62438,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/hallway/secondary/command) -"cse" = ( +"cwK" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -58215,7 +62450,7 @@ dir = 8 }, /area/hallway/secondary/command) -"csf" = ( +"cwL" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -58223,7 +62458,7 @@ /obj/item/paper_bin, /turf/open/floor/plasteel/blue/corner, /area/hallway/secondary/command) -"csg" = ( +"cwM" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -58233,7 +62468,7 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/plasteel/blue/corner, /area/hallway/secondary/command) -"csh" = ( +"cwN" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -58243,7 +62478,7 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/blue/corner, /area/hallway/secondary/command) -"csi" = ( +"cwO" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -58252,7 +62487,7 @@ }, /turf/open/floor/plasteel/blue/corner, /area/hallway/secondary/command) -"csj" = ( +"cwP" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -58261,14 +62496,14 @@ }, /turf/open/floor/plasteel/blue/corner, /area/hallway/secondary/command) -"csk" = ( +"cwQ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/corner, /area/hallway/secondary/command) -"csl" = ( +"cwR" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -58278,13 +62513,13 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/hallway/secondary/command) -"csm" = ( +"cwS" = ( /obj/structure/closet/secure_closet/exile, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/gateway) -"csn" = ( +"cwT" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -58299,7 +62534,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/gateway) -"cso" = ( +"cwU" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -58311,13 +62546,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/gateway) -"csp" = ( +"cwV" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/gateway) -"csq" = ( +"cwW" = ( /obj/structure/closet/crate, /obj/item/stack/sheet/metal/fifty, /obj/item/stack/rods{ @@ -58332,7 +62567,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/gateway) -"csr" = ( +"cwX" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/light{ dir = 8 @@ -58345,11 +62580,11 @@ dir = 1 }, /area/hallway/primary/central) -"css" = ( +"cwY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"cst" = ( +"cwZ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Starboard Auxiliary Hallway" @@ -58362,22 +62597,26 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"csu" = ( +"cxa" = ( /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"csv" = ( +"cxb" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/hallway/primary/central) +"cxc" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"csw" = ( +"cxd" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"csx" = ( +"cxe" = ( /obj/effect/landmark/lightsout, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"csy" = ( +"cxf" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -58387,23 +62626,23 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"csz" = ( +"cxg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"csA" = ( +"cxh" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"csB" = ( +"cxi" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/crew_quarters/locker) -"csC" = ( +"cxj" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -58411,18 +62650,22 @@ dir = 8 }, /area/crew_quarters/locker) -"csD" = ( +"cxk" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/crew_quarters/locker) +"cxl" = ( /obj/structure/table, /obj/item/storage/crayons, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"csE" = ( +"cxm" = ( /obj/structure/table, /obj/item/folder, /obj/item/pen, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"csF" = ( +"cxn" = ( /obj/structure/table, /obj/item/toy/cards/deck, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -58430,12 +62673,12 @@ }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"csG" = ( +"cxo" = ( /obj/structure/chair/stool, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"csH" = ( +"cxp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -58443,25 +62686,22 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"csI" = ( -/obj/machinery/light{ - dir = 4 - }, +"cxq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, -/obj/structure/closet/wardrobe/black, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/locker) -"csJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/side{ - dir = 8; - heat_capacity = 1e+006 +"cxr" = ( +/obj/machinery/light{ + dir = 4 }, -/area/maintenance/starboard) -"csK" = ( +/obj/structure/closet/wardrobe/mixed, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/crew_quarters/locker) +"cxs" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-4" @@ -58470,12 +62710,11 @@ dir = 5 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/starboard) -"csL" = ( +"cxt" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -58491,7 +62730,7 @@ heat_capacity = 1e+006 }, /area/maintenance/starboard) -"csM" = ( +"cxu" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -58504,7 +62743,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard) -"csN" = ( +"cxv" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; @@ -58527,7 +62766,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard) -"csO" = ( +"cxw" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -58541,20 +62780,19 @@ dir = 1 }, /area/crew_quarters/fitness/recreation) -"csP" = ( +"cxx" = ( /obj/structure/cable/white{ icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"csQ" = ( +"cxy" = ( /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"csR" = ( +"cxz" = ( /obj/structure/closet/athletic_mixed, /obj/machinery/light/small{ dir = 4 @@ -58563,7 +62801,25 @@ dir = 4 }, /area/crew_quarters/fitness/recreation) -"csV" = ( +"cxA" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/field/generator{ + anchored = 1 + }, +/turf/open/floor/plating/airless, +/area/space) +"cxB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/field/generator{ + anchored = 1 + }, +/turf/open/floor/plating/airless, +/area/space) +"cxC" = ( /obj/machinery/power/rad_collector/anchored, /obj/machinery/power/rad_collector/anchored, /obj/structure/cable{ @@ -58574,22 +62830,7 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"csW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engpa"; - name = "Engineering Chamber Shutters" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/barricade/wooden, -/turf/open/floor/plating, -/area/engine/engineering) -"csX" = ( +"cxD" = ( /obj/structure/rack, /obj/item/crowbar, /obj/item/wirecutters, @@ -58597,7 +62838,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"csY" = ( +"cxE" = ( /obj/structure/rack, /obj/machinery/button/door{ id = "engpa"; @@ -58611,12 +62852,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"csZ" = ( +"cxF" = ( /obj/structure/closet/toolcloset, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"cta" = ( +"cxG" = ( /obj/structure/closet/secure_closet/engineering_electrical, /obj/machinery/light_switch{ pixel_x = -26; @@ -58625,7 +62866,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"ctb" = ( +"cxH" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -58639,7 +62880,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"ctc" = ( +"cxI" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/electricshock{ @@ -58648,7 +62889,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/storage) -"ctd" = ( +"cxJ" = ( /obj/machinery/suit_storage_unit/engine, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -58660,7 +62901,7 @@ }, /turf/open/floor/plasteel, /area/engine/storage) -"cte" = ( +"cxK" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light{ dir = 1 @@ -58673,7 +62914,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/storage) -"ctf" = ( +"cxL" = ( /obj/machinery/suit_storage_unit/engine, /obj/machinery/status_display{ pixel_y = 32 @@ -58683,20 +62924,35 @@ }, /turf/open/floor/plasteel, /area/engine/storage) -"cth" = ( +"cxM" = ( +/obj/structure/table/reinforced, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/crowbar, +/obj/item/grenade/chem_grenade/smart_metal_foam, +/obj/item/grenade/chem_grenade/smart_metal_foam, +/obj/effect/turf_decal/bot, +/obj/structure/sign/poster/official/report_crimes{ + pixel_y = 32 + }, +/turf/open/floor/plasteel, +/area/engine/storage) +"cxN" = ( /obj/structure/cable/white{ icon_state = "2-4" }, /turf/open/floor/plating, /area/maintenance/port) -"cti" = ( +"cxO" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plating, /area/maintenance/port) -"ctj" = ( +"cxP" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -58706,13 +62962,13 @@ dir = 1 }, /area/maintenance/port) -"ctk" = ( +"cxQ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plating, /area/maintenance/port) -"ctl" = ( +"cxR" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -58721,14 +62977,14 @@ dir = 4 }, /area/maintenance/port) -"ctm" = ( +"cxS" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/port) -"ctn" = ( +"cxT" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -58743,7 +62999,7 @@ dir = 6 }, /area/maintenance/port) -"cto" = ( +"cxU" = ( /obj/structure/table/wood, /obj/item/clipboard, /obj/item/folder, @@ -58752,17 +63008,17 @@ }, /turf/open/floor/plasteel/black, /area/library) -"ctp" = ( +"cxV" = ( /turf/open/floor/plasteel/grimy, /area/library) -"ctq" = ( +"cxW" = ( /obj/structure/chair/office/dark, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/open/floor/plasteel/grimy, /area/library) -"ctr" = ( +"cxX" = ( /obj/structure/chair/office/dark, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -58770,14 +63026,14 @@ }, /turf/open/floor/plasteel/grimy, /area/library) -"cts" = ( +"cxY" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/library) -"ctt" = ( +"cxZ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -58785,13 +63041,13 @@ dir = 5 }, /area/library) -"ctu" = ( +"cya" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/plasteel/black, /area/library) -"ctv" = ( +"cyb" = ( /obj/structure/table/wood, /obj/item/storage/briefcase{ pixel_x = 3; @@ -58805,21 +63061,21 @@ dir = 5 }, /area/library) -"ctw" = ( +"cyc" = ( /obj/structure/destructible/cult/tome, /obj/item/book/codex_gigas, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/library) -"ctx" = ( +"cyd" = ( /obj/effect/landmark/revenantspawn, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, /turf/open/floor/plasteel/black, /area/library) -"cty" = ( +"cye" = ( /obj/structure/chair/comfy/black, /obj/effect/landmark/start/librarian, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -58829,13 +63085,13 @@ dir = 5 }, /area/library) -"ctz" = ( +"cyf" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/black, /area/library) -"ctA" = ( +"cyg" = ( /obj/machinery/newscaster{ pixel_x = 32 }, @@ -58846,7 +63102,7 @@ dir = 5 }, /area/library) -"ctB" = ( +"cyh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/camera{ c_tag = "Central Hallway - Aft Port"; @@ -58857,7 +63113,7 @@ dir = 8 }, /area/hallway/primary/central) -"ctC" = ( +"cyi" = ( /obj/item/stack/sheet/plasteel/twenty, /obj/item/stack/sheet/rglass{ amount = 30; @@ -58874,13 +63130,13 @@ dir = 8 }, /area/ai_monitored/storage/eva) -"ctD" = ( +"cyj" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"ctE" = ( +"cyk" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -58891,7 +63147,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"ctF" = ( +"cyl" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -58901,7 +63157,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"ctG" = ( +"cym" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -58911,7 +63167,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"ctH" = ( +"cyn" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -58921,7 +63177,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"ctI" = ( +"cyo" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -58932,7 +63188,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"ctJ" = ( +"cyp" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -58941,7 +63197,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"ctK" = ( +"cyq" = ( /obj/machinery/cell_charger, /obj/structure/cable/white{ icon_state = "4-8" @@ -58952,14 +63208,14 @@ dir = 8 }, /area/ai_monitored/storage/eva) -"ctL" = ( +"cyr" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/ai_monitored/storage/eva) -"ctM" = ( +"cys" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -58968,29 +63224,29 @@ dir = 8 }, /area/hallway/secondary/command) -"ctN" = ( +"cyt" = ( /turf/open/floor/plasteel/neutral/corner{ dir = 8 }, /area/hallway/secondary/command) -"ctO" = ( +"cyu" = ( /turf/open/floor/plasteel/neutral/side, /area/hallway/secondary/command) -"ctP" = ( +"cyv" = ( /turf/open/floor/plasteel/neutral/corner, /area/hallway/secondary/command) -"ctQ" = ( +"cyw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/corner, /area/hallway/secondary/command) -"ctR" = ( +"cyx" = ( /obj/structure/cable/white{ icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/gateway) -"ctS" = ( +"cyy" = ( /obj/structure/closet/secure_closet/medical1, /obj/structure/cable/white{ icon_state = "4-8" @@ -58999,7 +63255,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/gateway) -"ctT" = ( +"cyz" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -59012,7 +63268,7 @@ }, /turf/open/floor/plasteel, /area/gateway) -"ctU" = ( +"cyA" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -59027,7 +63283,7 @@ }, /turf/open/floor/plasteel, /area/gateway) -"ctV" = ( +"cyB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 @@ -59037,20 +63293,20 @@ }, /turf/open/floor/plasteel, /area/gateway) -"ctW" = ( +"cyC" = ( /obj/structure/table, /obj/item/storage/firstaid/regular, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/gateway) -"ctX" = ( +"cyD" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/gateway) -"ctY" = ( +"cyE" = ( /obj/machinery/gateway{ dir = 9 }, @@ -59059,7 +63315,7 @@ dir = 1 }, /area/gateway) -"ctZ" = ( +"cyF" = ( /obj/machinery/gateway{ dir = 1 }, @@ -59071,7 +63327,7 @@ dir = 8 }, /area/gateway) -"cua" = ( +"cyG" = ( /obj/machinery/gateway{ dir = 5 }, @@ -59080,18 +63336,17 @@ dir = 4 }, /area/gateway) -"cuc" = ( +"cyH" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"cud" = ( +"cyI" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -59110,7 +63365,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"cue" = ( +"cyJ" = ( /obj/machinery/light, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/disposalpipe/segment{ @@ -59118,14 +63373,14 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"cuf" = ( +"cyK" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"cug" = ( +"cyL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -59141,7 +63396,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"cuh" = ( +"cyM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -59153,7 +63408,7 @@ heat_capacity = 1e+006 }, /area/hallway/primary/central) -"cui" = ( +"cyN" = ( /obj/machinery/light, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -59166,7 +63421,7 @@ heat_capacity = 1e+006 }, /area/hallway/primary/central) -"cuk" = ( +"cyO" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ name = "Lockerroom" @@ -59185,7 +63440,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/locker) -"cul" = ( +"cyP" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -59200,7 +63455,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/locker) -"cum" = ( +"cyQ" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -59211,7 +63466,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/locker) -"cun" = ( +"cyR" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, @@ -59220,7 +63475,7 @@ }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cuo" = ( +"cyS" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -59229,7 +63484,7 @@ }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cup" = ( +"cyT" = ( /obj/effect/landmark/lightsout, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 @@ -59239,29 +63494,41 @@ }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cuq" = ( +"cyU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, /obj/structure/disposalpipe/junction, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cur" = ( +"cyV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/neutral/corner, +/area/crew_quarters/locker) +"cyW" = ( /obj/machinery/status_display{ pixel_x = 32 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/closet/wardrobe/grey, -/turf/open/floor/plasteel/neutral/corner, +/obj/structure/closet/wardrobe/mixed, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, /area/crew_quarters/locker) -"cus" = ( -/obj/effect/decal/cleanable/dirt, +"cyX" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, -/turf/open/floor/plating, +/turf/closed/wall, /area/maintenance/starboard) -"cut" = ( +"cyY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral/side, +/area/maintenance/starboard) +"cyZ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -59269,7 +63536,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard) -"cuu" = ( +"cza" = ( /obj/structure/closet/crate{ icon_state = "crateopen"; opened = 1 @@ -59283,7 +63550,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"cuv" = ( +"czb" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/girder, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -59291,7 +63558,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"cuw" = ( +"czc" = ( /obj/structure/rack, /obj/item/wrench, /obj/effect/spawner/lootdrop/maintenance, @@ -59300,7 +63567,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard) -"cux" = ( +"czd" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -59308,7 +63575,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard) -"cuy" = ( +"cze" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -59317,13 +63584,13 @@ dir = 6 }, /area/maintenance/starboard) -"cuz" = ( +"czf" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/crew_quarters/fitness/recreation) -"cuA" = ( +"czg" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -59332,7 +63599,7 @@ dir = 1 }, /area/crew_quarters/fitness/recreation) -"cuB" = ( +"czh" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -59342,14 +63609,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cuC" = ( +"czi" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/weightlifter, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cuD" = ( +"czj" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -59358,20 +63625,20 @@ heat_capacity = 1e+006 }, /area/crew_quarters/fitness/recreation) -"cuE" = ( +"czk" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /obj/structure/stacklifter, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cuF" = ( +"czl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cuG" = ( +"czm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, @@ -59379,37 +63646,41 @@ dir = 4 }, /area/crew_quarters/fitness/recreation) -"cuH" = ( +"czn" = ( /obj/structure/closet/boxinggloves, /turf/open/floor/plasteel/neutral/side{ dir = 4 }, /area/crew_quarters/fitness/recreation) -"cuI" = ( +"czo" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 }, /turf/open/floor/plating/airless, /area/space) -"cuJ" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating/airless, -/area/space) -"cuK" = ( +"czp" = ( /obj/structure/cable{ icon_state = "0-2" }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/space) -"cuL" = ( +"czq" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/power/tesla_coil, +/turf/open/floor/plating/airless, +/area/space) +"czr" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plating/airless, /area/space) -"cuM" = ( +"czs" = ( /obj/machinery/door/poddoor/shutters/preopen{ id = "engpa"; name = "Engineering Chamber Shutters" @@ -59426,23 +63697,22 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/structure/barricade/wooden, /turf/open/floor/plating, /area/engine/engineering) -"cuN" = ( +"czt" = ( /obj/structure/cable{ icon_state = "1-8" }, /turf/open/floor/plasteel/neutral, /area/engine/engineering) -"cuO" = ( +"czu" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/engine/storage) -"cuP" = ( +"czv" = ( /obj/structure/rack, /obj/item/clothing/gloves/color/black, /obj/item/wrench, @@ -59455,19 +63725,19 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/storage) -"cuQ" = ( +"czw" = ( /turf/open/floor/plasteel/yellow/side{ dir = 1 }, /area/engine/storage) -"cuR" = ( +"czx" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/yellow/side{ dir = 1 }, /area/engine/storage) -"cuS" = ( +"czy" = ( /obj/structure/table/reinforced, /obj/item/stack/cable_coil/white{ pixel_x = 3; @@ -59485,11 +63755,17 @@ /obj/item/twohanded/rcl/pre_loaded, /turf/open/floor/plasteel, /area/engine/storage) -"cuT" = ( +"czz" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"czA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/maintenance/port) -"cuU" = ( +"czB" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -59500,7 +63776,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cuV" = ( +"czC" = ( /obj/machinery/light{ dir = 8 }, @@ -59520,7 +63796,7 @@ dir = 5 }, /area/library) -"cuW" = ( +"czD" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -59529,7 +63805,7 @@ }, /turf/open/floor/plasteel/grimy, /area/library) -"cuX" = ( +"czE" = ( /obj/structure/table/wood, /obj/item/device/paicard, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -59538,7 +63814,7 @@ }, /turf/open/floor/carpet, /area/library) -"cuY" = ( +"czF" = ( /obj/structure/table/wood, /obj/item/folder, /obj/item/pen, @@ -59548,7 +63824,7 @@ }, /turf/open/floor/carpet, /area/library) -"cuZ" = ( +"czG" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -59557,30 +63833,29 @@ }, /turf/open/floor/plasteel/grimy, /area/library) -"cva" = ( +"czH" = ( /obj/effect/landmark/blobstart, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/black, /area/library) -"cvb" = ( +"czI" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/library) -"cvc" = ( +"czJ" = ( /obj/machinery/photocopier, /obj/machinery/light{ dir = 4 }, /turf/open/floor/plasteel/black, /area/library) -"cvd" = ( +"czK" = ( /obj/structure/filingcabinet, /obj/machinery/airalarm{ dir = 1; @@ -59588,7 +63863,7 @@ }, /turf/open/floor/plasteel/black, /area/library) -"cve" = ( +"czL" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, @@ -59599,7 +63874,7 @@ dir = 5 }, /area/library) -"cvf" = ( +"czM" = ( /obj/machinery/light, /obj/structure/table/wood, /obj/item/folder, @@ -59612,7 +63887,7 @@ }, /turf/open/floor/plasteel/black, /area/library) -"cvg" = ( +"czN" = ( /obj/structure/table/wood, /obj/item/device/taperecorder, /obj/item/device/camera, @@ -59623,11 +63898,11 @@ dir = 5 }, /area/library) -"cvh" = ( +"czO" = ( /obj/machinery/photocopier, /turf/open/floor/plasteel/black, /area/library) -"cvi" = ( +"czP" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/firealarm{ dir = 4; @@ -59637,7 +63912,7 @@ dir = 4 }, /area/hallway/primary/central) -"cvj" = ( +"czQ" = ( /obj/machinery/door/window/northleft{ dir = 4; name = "Magboot Storage"; @@ -59648,10 +63923,7 @@ dir = 1; pixel_y = 1 }, -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/clothing/shoes/magboots{ pixel_x = -4; pixel_y = 3 @@ -59665,50 +63937,50 @@ dir = 8 }, /area/ai_monitored/storage/eva) -"cvk" = ( +"czR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cvl" = ( +"czS" = ( /obj/machinery/suit_storage_unit/standard_unit, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cvm" = ( +"czT" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cvn" = ( +"czU" = ( /obj/item/device/radio/beacon, /turf/open/floor/plasteel/neutral, /area/ai_monitored/storage/eva) -"cvo" = ( +"czV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cvp" = ( +"czW" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cvq" = ( +"czX" = ( /obj/machinery/suit_storage_unit/standard_unit, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ai_monitored/storage/eva) -"cvr" = ( +"czY" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -59719,10 +63991,10 @@ }, /turf/open/floor/plating, /area/bridge/showroom/corporate) -"cvs" = ( +"czZ" = ( /turf/closed/wall/r_wall, /area/bridge/showroom/corporate) -"cvt" = ( +"cAa" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -59735,7 +64007,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/bridge/showroom/corporate) -"cvu" = ( +"cAb" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ name = "Corporate Lounge"; @@ -59745,13 +64017,13 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/bridge/showroom/corporate) -"cvv" = ( +"cAc" = ( /obj/structure/bed/roller, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/gateway) -"cvw" = ( +"cAd" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -59760,7 +64032,7 @@ }, /turf/open/floor/plasteel, /area/gateway) -"cvx" = ( +"cAe" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -59773,7 +64045,7 @@ }, /turf/open/floor/plasteel/neutral, /area/gateway) -"cvy" = ( +"cAf" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -59783,7 +64055,7 @@ }, /turf/open/floor/plasteel, /area/gateway) -"cvz" = ( +"cAg" = ( /obj/structure/table, /obj/structure/cable/white{ icon_state = "4-8" @@ -59796,7 +64068,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/gateway) -"cvA" = ( +"cAh" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-8" @@ -59804,7 +64076,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/gateway) -"cvB" = ( +"cAi" = ( /obj/machinery/gateway{ dir = 8 }, @@ -59813,7 +64085,7 @@ dir = 8 }, /area/gateway) -"cvC" = ( +"cAj" = ( /obj/machinery/gateway/centerstation, /obj/structure/cable/white{ icon_state = "0-2" @@ -59821,7 +64093,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/black, /area/gateway) -"cvD" = ( +"cAk" = ( /obj/machinery/gateway{ dir = 4 }, @@ -59830,7 +64102,7 @@ dir = 8 }, /area/gateway) -"cvE" = ( +"cAl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/camera{ c_tag = "Central Hallway - Dormitory Hallway"; @@ -59841,10 +64113,10 @@ dir = 1 }, /area/hallway/primary/central) -"cvF" = ( +"cAm" = ( /turf/closed/wall, /area/crew_quarters/toilet/restrooms) -"cvG" = ( +"cAn" = ( /obj/machinery/door/firedoor, /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock{ @@ -59858,7 +64130,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/toilet/restrooms) -"cvH" = ( +"cAo" = ( /obj/machinery/light{ dir = 8 }, @@ -59874,13 +64146,13 @@ heat_capacity = 1e+006 }, /area/crew_quarters/locker) -"cvI" = ( +"cAp" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cvJ" = ( +"cAq" = ( /obj/structure/table, /obj/item/storage/toolbox/mechanical{ pixel_x = 3; @@ -59889,33 +64161,63 @@ /obj/item/storage/toolbox/emergency, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cvK" = ( +"cAr" = ( /obj/structure/table, /obj/item/toy/foamblade, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cvL" = ( +"cAs" = ( /obj/structure/table, /obj/item/storage/briefcase, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cvM" = ( +"cAt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable/white{ + icon_state = "2-4" + }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cvN" = ( +"cAu" = ( /obj/structure/disposalpipe/segment, +/obj/structure/cable/white{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cvO" = ( +"cAv" = ( +/obj/structure/cable/white{ + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + dir = 4; + name = "Lockerroom APC"; + areastring = "/area/crew_quarters/locker"; + pixel_x = 26 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/closet/wardrobe/green, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/locker) -"cvP" = ( +"cAw" = ( /turf/closed/wall, /area/crew_quarters/dorms) -"cvQ" = ( +"cAx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Maintenance Hatch"; + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) +"cAy" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, @@ -59923,7 +64225,7 @@ dir = 1 }, /area/crew_quarters/fitness/recreation) -"cvR" = ( +"cAz" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -59934,7 +64236,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cvS" = ( +"cAA" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, @@ -59943,7 +64245,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/fitness/recreation) -"cvT" = ( +"cAB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -59951,7 +64253,7 @@ dir = 5 }, /area/crew_quarters/fitness/recreation) -"cvU" = ( +"cAC" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -59960,7 +64262,7 @@ dir = 5 }, /area/crew_quarters/fitness/recreation) -"cvV" = ( +"cAD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -59969,19 +64271,19 @@ dir = 4 }, /area/crew_quarters/fitness/recreation) -"cvW" = ( +"cAE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cvX" = ( +"cAF" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/crew_quarters/fitness/recreation) -"cvY" = ( +"cAG" = ( /obj/structure/lattice, /obj/machinery/camera/emp_proof{ c_tag = "Containment - Aft Port"; @@ -59990,14 +64292,14 @@ }, /turf/open/space, /area/space) -"cvZ" = ( +"cAH" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ icon_state = "1-4" }, /turf/open/space, /area/space) -"cwa" = ( +"cAI" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ icon_state = "1-4" @@ -60007,14 +64309,14 @@ }, /turf/open/space, /area/space) -"cwb" = ( +"cAJ" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ icon_state = "1-8" }, /turf/open/space, /area/space) -"cwc" = ( +"cAK" = ( /obj/machinery/power/rad_collector/anchored, /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ @@ -60025,12 +64327,12 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"cwd" = ( +"cAL" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/station_engineer, /turf/open/floor/plasteel/neutral, /area/engine/engineering) -"cwe" = ( +"cAM" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/pen, @@ -60038,14 +64340,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/engineering) -"cwf" = ( +"cAN" = ( /obj/structure/table/reinforced, /obj/item/stack/packageWrap, /obj/item/hand_labeler, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/engineering) -"cwg" = ( +"cAO" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -60057,7 +64359,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cwh" = ( +"cAP" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-2" @@ -60068,7 +64370,7 @@ }, /turf/open/floor/plating, /area/engine/storage) -"cwi" = ( +"cAQ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -60076,23 +64378,23 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/storage) -"cwj" = ( +"cAR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/engine/storage) -"cwk" = ( +"cAS" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, /turf/open/floor/plasteel/yellow, /area/engine/storage) -"cwl" = ( +"cAT" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/engine/storage) -"cwm" = ( +"cAU" = ( /obj/structure/table/reinforced, /obj/item/clothing/shoes/magboots{ pixel_x = 3; @@ -60106,14 +64408,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/storage) -"cwn" = ( +"cAV" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plating, /area/maintenance/port) -"cwo" = ( +"cAW" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/reinforced, /obj/item/storage/toolbox/mechanical, @@ -60121,7 +64423,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/port) -"cwp" = ( +"cAX" = ( /obj/structure/table/reinforced, /obj/item/tank/internals/emergency_oxygen{ pixel_x = 6 @@ -60137,7 +64439,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port) -"cwq" = ( +"cAY" = ( /obj/structure/rack, /obj/item/clothing/gloves/color/black, /obj/item/wrench, @@ -60149,33 +64451,33 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/port) -"cwr" = ( +"cAZ" = ( /obj/effect/decal/cleanable/dirt, /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port) -"cws" = ( +"cBa" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/structure/extinguisher_cabinet{ pixel_x = -26 }, /turf/open/floor/plasteel/black, /area/library) -"cwt" = ( +"cBb" = ( /obj/structure/chair/office/dark{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/library) -"cwu" = ( +"cBc" = ( /obj/structure/table/wood, /obj/item/storage/pill_bottle/dice, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/carpet, /area/library) -"cwv" = ( +"cBd" = ( /obj/structure/table/wood, /obj/item/toy/cards/deck/cas{ pixel_x = -5; @@ -60188,23 +64490,23 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/carpet, /area/library) -"cww" = ( +"cBe" = ( /obj/structure/chair/office/dark{ dir = 8 }, /turf/open/floor/plasteel/grimy, /area/library) -"cwx" = ( +"cBf" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/library) -"cwy" = ( +"cBg" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/black, /area/library) -"cwz" = ( +"cBh" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/newscaster{ pixel_x = 32 @@ -60213,11 +64515,11 @@ dir = 5 }, /area/library) -"cwA" = ( +"cBi" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall/r_wall, /area/ai_monitored/storage/eva) -"cwB" = ( +"cBj" = ( /obj/structure/closet/crate/rcd{ pixel_y = 4 }, @@ -60236,18 +64538,19 @@ dir = 8 }, /area/ai_monitored/storage/eva) -"cwC" = ( +"cBk" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cwD" = ( +"cBl" = ( /obj/structure/tank_dispenser/oxygen, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cwE" = ( +"cBm" = ( /obj/machinery/camera/motion{ c_tag = "E.V.A. Storage"; dir = 8; @@ -60265,10 +64568,10 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cwF" = ( +"cBn" = ( /turf/closed/wall, /area/ai_monitored/storage/eva) -"cwG" = ( +"cBo" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -60280,27 +64583,27 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/grimy, /area/bridge/showroom/corporate) -"cwH" = ( +"cBp" = ( /obj/structure/bookcase, /obj/structure/sign/nanotrasen{ pixel_y = 32 }, /turf/open/floor/wood, /area/bridge/showroom/corporate) -"cwI" = ( +"cBq" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/bridge/showroom/corporate) -"cwJ" = ( +"cBr" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/grimy, /area/bridge/showroom/corporate) -"cwK" = ( +"cBs" = ( /obj/machinery/ai_status_display{ pixel_y = 32 }, @@ -60313,11 +64616,11 @@ dir = 6 }, /area/bridge/showroom/corporate) -"cwL" = ( +"cBt" = ( /obj/structure/fireplace, /turf/open/floor/plasteel/vault, /area/bridge/showroom/corporate) -"cwM" = ( +"cBu" = ( /obj/machinery/status_display{ pixel_y = 32 }, @@ -60325,11 +64628,11 @@ dir = 10 }, /area/bridge/showroom/corporate) -"cwN" = ( +"cBv" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/bridge/showroom/corporate) -"cwO" = ( +"cBw" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -60343,7 +64646,7 @@ }, /turf/open/floor/plasteel/grimy, /area/bridge/showroom/corporate) -"cwP" = ( +"cBx" = ( /obj/structure/rack, /obj/item/stack/medical/gauze, /obj/item/stack/medical/bruise_pack, @@ -60366,7 +64669,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/gateway) -"cwQ" = ( +"cBy" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line{ @@ -60374,21 +64677,21 @@ }, /turf/open/floor/plasteel, /area/gateway) -"cwR" = ( +"cBz" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral, /area/gateway) -"cwS" = ( +"cBA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/gateway) -"cwT" = ( +"cBB" = ( /obj/structure/tank_dispenser/oxygen, /obj/machinery/light{ dir = 4 @@ -60401,10 +64704,10 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/gateway) -"cwU" = ( +"cBC" = ( /turf/closed/wall, /area/gateway) -"cwV" = ( +"cBD" = ( /obj/machinery/gateway{ dir = 10 }, @@ -60416,7 +64719,7 @@ dir = 4 }, /area/gateway) -"cwW" = ( +"cBE" = ( /obj/machinery/gateway, /obj/structure/cable/white{ icon_state = "0-2" @@ -60429,7 +64732,7 @@ dir = 8 }, /area/gateway) -"cwX" = ( +"cBF" = ( /obj/machinery/gateway{ dir = 6 }, @@ -60443,7 +64746,7 @@ dir = 1 }, /area/gateway) -"cwY" = ( +"cBG" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -60453,7 +64756,7 @@ dir = 1 }, /area/hallway/primary/central) -"cwZ" = ( +"cBH" = ( /obj/machinery/shower{ dir = 4 }, @@ -60462,7 +64765,7 @@ dir = 1 }, /area/crew_quarters/toilet/restrooms) -"cxa" = ( +"cBI" = ( /obj/machinery/light/small{ dir = 1 }, @@ -60474,7 +64777,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/toilet/restrooms) -"cxb" = ( +"cBJ" = ( /obj/machinery/shower{ dir = 8; icon_state = "shower" @@ -60486,13 +64789,13 @@ dir = 4 }, /area/crew_quarters/toilet/restrooms) -"cxc" = ( +"cBK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/closed/wall, /area/crew_quarters/toilet/restrooms) -"cxd" = ( +"cBL" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/firealarm{ dir = 8; @@ -60510,7 +64813,7 @@ dir = 1 }, /area/crew_quarters/toilet/restrooms) -"cxe" = ( +"cBM" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 @@ -60519,7 +64822,7 @@ dir = 4 }, /area/crew_quarters/toilet/restrooms) -"cxf" = ( +"cBN" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -60541,7 +64844,7 @@ dir = 1 }, /area/crew_quarters/toilet/restrooms) -"cxg" = ( +"cBO" = ( /obj/structure/urinal{ pixel_y = 28 }, @@ -60551,7 +64854,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/toilet/restrooms) -"cxh" = ( +"cBP" = ( /obj/structure/urinal{ pixel_y = 28 }, @@ -60562,7 +64865,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/toilet/restrooms) -"cxi" = ( +"cBQ" = ( /obj/structure/urinal{ pixel_y = 28 }, @@ -60572,7 +64875,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/toilet/restrooms) -"cxj" = ( +"cBR" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -60585,7 +64888,7 @@ dir = 4 }, /area/crew_quarters/toilet/restrooms) -"cxk" = ( +"cBS" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -60595,13 +64898,12 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/structure/closet/wardrobe/pjs, /turf/open/floor/plasteel/neutral/corner{ dir = 8; heat_capacity = 1e+006 }, /area/crew_quarters/locker) -"cxl" = ( +"cBT" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -60610,7 +64912,7 @@ }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cxm" = ( +"cBU" = ( /obj/structure/chair/stool, /obj/structure/cable/white{ icon_state = "4-8" @@ -60620,7 +64922,7 @@ }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cxn" = ( +"cBV" = ( /obj/structure/table, /obj/item/folder, /obj/item/pen, @@ -60632,7 +64934,7 @@ }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cxo" = ( +"cBW" = ( /obj/structure/table, /obj/item/device/paicard, /obj/structure/cable/white{ @@ -60643,7 +64945,7 @@ }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cxp" = ( +"cBX" = ( /obj/structure/table, /obj/structure/cable/white{ icon_state = "4-8" @@ -60654,11 +64956,8 @@ }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cxq" = ( +"cBY" = ( /obj/structure/chair/stool, -/obj/structure/cable/white{ - icon_state = "4-8" - }, /obj/structure/cable/white{ icon_state = "2-8" }, @@ -60667,73 +64966,54 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cxr" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, +"cBZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cxs" = ( -/obj/structure/cable/white{ - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - dir = 4; - name = "Lockerroom APC"; - areastring = "/area/crew_quarters/locker"; - pixel_x = 26 - }, +"cCa" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, -/obj/structure/closet/wardrobe/pink, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/locker) -"cxt" = ( +"cCb" = ( +/obj/structure/closet/wardrobe/green, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/crew_quarters/locker) +"cCc" = ( /obj/structure/dresser, -/turf/open/floor/plasteel/grimy, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, /area/crew_quarters/dorms) -"cxu" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/obj/machinery/light{ - dir = 1 +"cCd" = ( +/obj/structure/table_frame/wood, +/obj/item/crowbar/red, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" }, -/obj/item/clothing/suit/jacket{ - desc = "All the class of a trenchcoat without the security fibers."; - icon_state = "greydet"; - name = "trenchcoat" +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" }, -/obj/item/clothing/suit/toggle/lawyer/black, -/obj/machinery/status_display{ - pixel_y = 32 - }, -/obj/item/clothing/head/fedora, -/obj/item/clothing/under/blacktango, -/obj/item/clothing/head/bowler, -/turf/open/floor/plasteel/grimy, +/turf/open/floor/plating, /area/crew_quarters/dorms) -"cxv" = ( -/obj/structure/table/wood, -/obj/item/device/radio/intercom{ - name = "Station Intercom"; - pixel_x = 26; - pixel_y = 26 - }, -/obj/item/reagent_containers/food/snacks/grown/poppy/geranium, -/obj/item/reagent_containers/food/snacks/grown/poppy/geranium, -/obj/item/reagent_containers/food/snacks/grown/poppy/geranium, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/grimy, -/area/crew_quarters/dorms) -"cxw" = ( +"cCe" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /obj/structure/sign/nanotrasen{ @@ -60741,7 +65021,7 @@ }, /turf/open/floor/wood, /area/crew_quarters/dorms) -"cxx" = ( +"cCf" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, @@ -60753,7 +65033,7 @@ }, /turf/open/floor/wood, /area/crew_quarters/dorms) -"cxy" = ( +"cCg" = ( /obj/structure/closet/secure_closet/personal/cabinet, /obj/item/clothing/suit/jacket/letterman_nanotrasen, /obj/item/clothing/suit/toggle/lawyer, @@ -60769,11 +65049,11 @@ }, /turf/open/floor/wood, /area/crew_quarters/dorms) -"cxz" = ( +"cCh" = ( /obj/structure/dresser, /turf/open/floor/carpet, /area/crew_quarters/dorms) -"cxA" = ( +"cCi" = ( /obj/structure/bed, /obj/machinery/light{ dir = 1 @@ -60784,7 +65064,7 @@ }, /turf/open/floor/carpet, /area/crew_quarters/dorms) -"cxB" = ( +"cCj" = ( /obj/structure/closet/secure_closet/personal/cabinet, /obj/item/clothing/suit/jacket{ desc = "All the class of a trenchcoat without the security fibers."; @@ -60814,7 +65094,7 @@ }, /turf/open/floor/carpet, /area/crew_quarters/dorms) -"cxC" = ( +"cCk" = ( /obj/machinery/light{ dir = 8 }, @@ -60823,7 +65103,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) -"cxD" = ( +"cCl" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -60831,7 +65111,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cxE" = ( +"cCm" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, @@ -60840,12 +65120,12 @@ heat_capacity = 1e+006 }, /area/crew_quarters/fitness/recreation) -"cxF" = ( +"cCn" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/fitness/recreation) -"cxG" = ( +"cCo" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, @@ -60853,11 +65133,11 @@ dir = 4 }, /area/crew_quarters/fitness/recreation) -"cxH" = ( +"cCp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cxI" = ( +"cCq" = ( /obj/structure/chair{ dir = 4 }, @@ -60869,7 +65149,7 @@ dir = 4 }, /area/crew_quarters/fitness/recreation) -"cxJ" = ( +"cCr" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/watertank, @@ -60878,15 +65158,15 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"cxK" = ( +"cCs" = ( /turf/open/floor/plasteel/yellow/side, /area/engine/engineering) -"cxL" = ( +"cCt" = ( /turf/open/floor/plasteel/yellow/side{ dir = 6 }, /area/engine/engineering) -"cxM" = ( +"cCu" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ @@ -60894,7 +65174,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cxN" = ( +"cCv" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -60907,7 +65187,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cxO" = ( +"cCw" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_engineering{ name = "Engineering Storage"; @@ -60930,7 +65210,7 @@ }, /turf/open/floor/plasteel, /area/engine/storage) -"cxP" = ( +"cCx" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "2-8" @@ -60938,15 +65218,19 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/storage) -"cxQ" = ( +"cCy" = ( +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/yellow, /area/engine/storage) -"cxR" = ( +"cCz" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/storage) -"cxS" = ( +"cCA" = ( +/turf/open/floor/plasteel/yellow, +/area/engine/storage) +"cCB" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/nosmoking_2{ pixel_x = 32 @@ -60960,7 +65244,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/storage) -"cxT" = ( +"cCC" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -60970,23 +65254,23 @@ dir = 1 }, /area/maintenance/port) -"cxU" = ( +"cCD" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port) -"cxV" = ( +"cCE" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/yellow/side{ dir = 1 }, /area/maintenance/port) -"cxW" = ( +"cCF" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/port) -"cxX" = ( +"cCG" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -60996,7 +65280,7 @@ dir = 4 }, /area/maintenance/port) -"cxY" = ( +"cCH" = ( /obj/structure/table/wood, /obj/item/newspaper{ pixel_x = 3; @@ -61010,7 +65294,7 @@ dir = 5 }, /area/library) -"cxZ" = ( +"cCI" = ( /obj/structure/chair/office/dark{ dir = 1 }, @@ -61019,7 +65303,7 @@ }, /turf/open/floor/plasteel/grimy, /area/library) -"cya" = ( +"cCJ" = ( /obj/structure/chair/office/dark{ dir = 1 }, @@ -61029,13 +65313,13 @@ }, /turf/open/floor/plasteel/grimy, /area/library) -"cyc" = ( +"cCK" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/black, /area/library) -"cyd" = ( +"cCL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -61045,7 +65329,13 @@ dir = 5 }, /area/library) -"cyg" = ( +"cCM" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"cCN" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 @@ -61055,18 +65345,18 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cyh" = ( +"cCO" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side{ dir = 1; heat_capacity = 1e+006 }, /area/maintenance/port) -"cyi" = ( +"cCP" = ( /obj/machinery/space_heater, /turf/open/floor/plating, /area/maintenance/port) -"cyj" = ( +"cCQ" = ( /obj/machinery/door/window/northleft{ dir = 4; name = "Jetpack Storage"; @@ -61074,10 +65364,7 @@ req_access_txt = "19" }, /obj/structure/window/reinforced, -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/tank/jetpack/carbondioxide{ pixel_x = 4; pixel_y = -1 @@ -61091,19 +65378,25 @@ dir = 8 }, /area/ai_monitored/storage/eva) -"cyk" = ( +"cCR" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ai_monitored/storage/eva) +"cCS" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cyl" = ( +"cCT" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cym" = ( +"cCU" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -61121,7 +65414,7 @@ }, /turf/open/floor/wood, /area/bridge/showroom/corporate) -"cyn" = ( +"cCV" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -61130,7 +65423,7 @@ }, /turf/open/floor/wood, /area/bridge/showroom/corporate) -"cyo" = ( +"cCW" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -61145,7 +65438,7 @@ }, /turf/open/floor/wood, /area/bridge/showroom/corporate) -"cyp" = ( +"cCX" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -61157,7 +65450,7 @@ }, /turf/open/floor/carpet, /area/bridge/showroom/corporate) -"cyq" = ( +"cCY" = ( /obj/structure/table/wood, /obj/structure/cable/white{ icon_state = "2-8" @@ -61168,7 +65461,7 @@ /obj/item/reagent_containers/food/drinks/bottle/whiskey, /turf/open/floor/carpet, /area/bridge/showroom/corporate) -"cyr" = ( +"cCZ" = ( /obj/structure/table/wood, /obj/structure/cable/white{ icon_state = "2-8" @@ -61179,7 +65472,7 @@ /obj/item/storage/fancy/donut_box, /turf/open/floor/carpet, /area/bridge/showroom/corporate) -"cys" = ( +"cDa" = ( /obj/structure/table/wood, /obj/structure/cable/white{ icon_state = "2-8" @@ -61190,7 +65483,7 @@ /obj/item/paper_bin, /turf/open/floor/carpet, /area/bridge/showroom/corporate) -"cyt" = ( +"cDb" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -61202,7 +65495,7 @@ }, /turf/open/floor/carpet, /area/bridge/showroom/corporate) -"cyu" = ( +"cDc" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -61211,7 +65504,7 @@ }, /turf/open/floor/wood, /area/bridge/showroom/corporate) -"cyv" = ( +"cDd" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -61220,7 +65513,7 @@ }, /turf/open/floor/wood, /area/bridge/showroom/corporate) -"cyw" = ( +"cDe" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -61233,7 +65526,7 @@ }, /turf/open/floor/wood, /area/bridge/showroom/corporate) -"cyx" = ( +"cDf" = ( /obj/item/clothing/suit/hazardvest{ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; name = "emergency lifejacket" @@ -61313,7 +65606,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/gateway) -"cyy" = ( +"cDg" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -61322,7 +65615,7 @@ }, /turf/open/floor/plasteel/neutral, /area/gateway) -"cyz" = ( +"cDh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /obj/effect/turf_decal/stripes/corner{ @@ -61330,7 +65623,7 @@ }, /turf/open/floor/plasteel, /area/gateway) -"cyA" = ( +"cDi" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -61340,7 +65633,7 @@ }, /turf/open/floor/plasteel, /area/gateway) -"cyB" = ( +"cDj" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -61350,7 +65643,7 @@ }, /turf/open/floor/plating, /area/gateway) -"cyC" = ( +"cDk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -61359,7 +65652,7 @@ }, /turf/open/floor/plasteel, /area/gateway) -"cyD" = ( +"cDl" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -61372,14 +65665,14 @@ }, /turf/open/floor/plasteel, /area/gateway) -"cyE" = ( +"cDm" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 5 }, /turf/open/floor/plasteel, /area/gateway) -"cyF" = ( +"cDn" = ( /obj/machinery/shower{ dir = 4 }, @@ -61387,16 +65680,16 @@ dir = 8 }, /area/crew_quarters/toilet/restrooms) -"cyG" = ( +"cDo" = ( /obj/effect/landmark/start/assistant, /turf/open/floor/plasteel/neutral, /area/crew_quarters/toilet/restrooms) -"cyH" = ( +"cDp" = ( /turf/open/floor/plasteel/neutral/side{ dir = 4 }, /area/crew_quarters/toilet/restrooms) -"cyI" = ( +"cDq" = ( /obj/machinery/door/firedoor, /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock{ @@ -61411,19 +65704,19 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/toilet/restrooms) -"cyJ" = ( +"cDr" = ( /turf/open/floor/plasteel/neutral/corner{ dir = 1 }, /area/crew_quarters/toilet/restrooms) -"cyK" = ( +"cDs" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/crew_quarters/toilet/restrooms) -"cyL" = ( +"cDt" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -61434,48 +65727,62 @@ dir = 8 }, /area/crew_quarters/toilet/restrooms) -"cyM" = ( +"cDu" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/crew_quarters/toilet/restrooms) -"cyN" = ( +"cDv" = ( +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral, /area/crew_quarters/toilet/restrooms) -"cyO" = ( +"cDw" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/neutral, /area/crew_quarters/toilet/restrooms) -"cyQ" = ( +"cDx" = ( +/turf/open/floor/plasteel/neutral, +/area/crew_quarters/toilet/restrooms) +"cDy" = ( /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/structure/closet/wardrobe/white, /turf/open/floor/plasteel/neutral/corner{ dir = 8; heat_capacity = 1e+006 }, /area/crew_quarters/locker) -"cyR" = ( +"cDz" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cyS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/closet/wardrobe/mixed, -/turf/open/floor/plasteel/neutral/corner, +"cDA" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/neutral, /area/crew_quarters/locker) -"cyT" = ( -/turf/open/floor/plasteel/grimy, +"cDB" = ( +/obj/structure/closet/wardrobe/white, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/crew_quarters/locker) +"cDC" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/wood, /area/crew_quarters/dorms) -"cyU" = ( -/obj/structure/bed, -/obj/item/bedsheet/black, -/turf/open/floor/plasteel/grimy, +"cDD" = ( +/obj/item/device/flashlight/seclite, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, /area/crew_quarters/dorms) -"cyV" = ( +"cDE" = ( /obj/structure/table/wood, /obj/item/folder, /obj/machinery/newscaster{ @@ -61484,16 +65791,16 @@ /obj/item/razor, /turf/open/floor/wood, /area/crew_quarters/dorms) -"cyW" = ( +"cDF" = ( /obj/structure/chair/office/dark{ dir = 8 }, /turf/open/floor/wood, /area/crew_quarters/dorms) -"cyX" = ( +"cDG" = ( /turf/open/floor/wood, /area/crew_quarters/dorms) -"cyY" = ( +"cDH" = ( /obj/structure/table/wood, /obj/item/folder/red, /obj/item/pen, @@ -61502,10 +65809,10 @@ }, /turf/open/floor/carpet, /area/crew_quarters/dorms) -"cyZ" = ( +"cDI" = ( /turf/open/floor/carpet, /area/crew_quarters/dorms) -"cza" = ( +"cDJ" = ( /obj/structure/table, /obj/item/paper_bin, /obj/item/pen, @@ -61517,18 +65824,22 @@ dir = 1 }, /area/crew_quarters/fitness/recreation) -"czb" = ( +"cDK" = ( /obj/structure/stacklifter, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"czc" = ( +"cDL" = ( /turf/open/floor/plasteel/neutral/side, /area/crew_quarters/fitness/recreation) -"czd" = ( +"cDM" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral/side, +/area/crew_quarters/fitness/recreation) +"cDN" = ( /obj/structure/weightlifter, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cze" = ( +"cDO" = ( /obj/structure/chair{ dir = 4 }, @@ -61538,48 +65849,48 @@ dir = 4 }, /area/crew_quarters/fitness/recreation) -"czf" = ( +"cDP" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, /turf/open/floor/plating, /area/crew_quarters/fitness/recreation) -"czg" = ( +"cDQ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/crew_quarters/fitness/recreation) -"czh" = ( +"cDR" = ( /obj/machinery/status_display, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/closed/wall, /area/crew_quarters/fitness/recreation) -"czi" = ( +"cDS" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, /turf/open/floor/plating, /area/crew_quarters/fitness/recreation) -"czj" = ( +"cDT" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plating/airless, /area/engine/engineering) -"czk" = ( +"cDU" = ( /obj/effect/decal/cleanable/oil, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plating/airless, /area/engine/engineering) -"czl" = ( +"cDV" = ( /obj/machinery/camera/emp_proof{ c_tag = "Containment - Aft Starboard"; dir = 8; @@ -61587,7 +65898,7 @@ }, /turf/open/floor/plating/airless, /area/engine/engineering) -"czm" = ( +"cDW" = ( /obj/machinery/light{ dir = 8 }, @@ -61599,13 +65910,35 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"czn" = ( +"cDX" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, /turf/open/floor/plasteel, /area/engine/engineering) -"czo" = ( +"cDY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cDZ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cEa" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, @@ -61614,7 +65947,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"czp" = ( +"cEb" = ( /obj/effect/landmark/lightsout, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -61622,7 +65955,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/engine/engineering) -"czq" = ( +"cEc" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -61635,7 +65968,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"czr" = ( +"cEd" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-2" @@ -61646,7 +65979,7 @@ }, /turf/open/floor/plating, /area/engine/storage) -"czs" = ( +"cEe" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-4" @@ -61657,7 +65990,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/storage) -"czt" = ( +"cEf" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -61666,7 +65999,7 @@ }, /turf/open/floor/plasteel/neutral, /area/engine/storage) -"czu" = ( +"cEg" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -61675,13 +66008,13 @@ }, /turf/open/floor/plasteel/yellow, /area/engine/storage) -"czv" = ( +"cEh" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/neutral, /area/engine/storage) -"czw" = ( +"cEi" = ( /obj/structure/table/reinforced, /obj/item/tank/jetpack/carbondioxide{ pixel_x = 3; @@ -61700,7 +66033,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/storage) -"czx" = ( +"cEj" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/decal/cleanable/dirt, /obj/structure/extinguisher_cabinet{ @@ -61709,7 +66042,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port) -"czy" = ( +"cEk" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/xeno_spawn, @@ -61718,21 +66051,21 @@ }, /turf/open/floor/plasteel/yellow, /area/maintenance/port) -"czz" = ( +"cEl" = ( /obj/effect/landmark/blobstart, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/maintenance/port) -"czA" = ( +"cEm" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port) -"czB" = ( +"cEn" = ( /obj/machinery/door/airlock/maintenance_hatch/abandoned{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -61749,7 +66082,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"czC" = ( +"cEo" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -61758,12 +66091,12 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"czD" = ( +"cEp" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /turf/open/floor/plasteel/black, /area/library) -"czE" = ( +"cEq" = ( /obj/structure/table/wood, /obj/item/storage/fancy/donut_box, /obj/machinery/airalarm{ @@ -61774,7 +66107,7 @@ dir = 5 }, /area/library) -"czG" = ( +"cEr" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -61787,7 +66120,7 @@ dir = 5 }, /area/library) -"czH" = ( +"cEs" = ( /obj/machinery/light, /obj/structure/dresser, /obj/machinery/status_display{ @@ -61798,7 +66131,7 @@ }, /turf/open/floor/plasteel/black, /area/library) -"czI" = ( +"cEt" = ( /obj/structure/table/wood, /obj/item/dice/d20{ pixel_x = 3; @@ -61817,16 +66150,15 @@ dir = 5 }, /area/library) -"czJ" = ( +"cEu" = ( /obj/structure/filingcabinet, /obj/machinery/atmospherics/pipe/manifold/supply, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/black, /area/library) -"czK" = ( +"cEv" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -61837,7 +66169,7 @@ dir = 5 }, /area/library) -"czL" = ( +"cEw" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -61856,25 +66188,24 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"czM" = ( +"cEx" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating, /area/maintenance/port) -"czN" = ( +"cEy" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/blobstart, /turf/open/floor/plasteel/neutral, /area/maintenance/port) -"czO" = ( +"cEz" = ( /turf/open/floor/plasteel/neutral, /area/maintenance/port) -"czP" = ( +"cEA" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/rack, @@ -61886,7 +66217,7 @@ dir = 4 }, /area/maintenance/port) -"czQ" = ( +"cEB" = ( /obj/item/stack/sheet/metal/fifty, /obj/item/stack/sheet/glass/fifty, /obj/item/wrench, @@ -61899,13 +66230,13 @@ dir = 8 }, /area/ai_monitored/storage/eva) -"czR" = ( +"cEC" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"czS" = ( +"cED" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, @@ -61914,7 +66245,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"czT" = ( +"cEE" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 @@ -61924,13 +66255,13 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"czU" = ( +"cEF" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"czV" = ( +"cEG" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, @@ -61939,7 +66270,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"czW" = ( +"cEH" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, @@ -61948,14 +66279,14 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"czX" = ( +"cEI" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 5 }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"czY" = ( +"cEJ" = ( /obj/item/stack/rods{ amount = 25 }, @@ -61968,7 +66299,7 @@ dir = 8 }, /area/ai_monitored/storage/eva) -"czZ" = ( +"cEK" = ( /obj/structure/table/wood, /obj/structure/cable/white{ icon_state = "1-2" @@ -61977,16 +66308,16 @@ /obj/item/toy/figure/dsquad, /turf/open/floor/plasteel/grimy, /area/bridge/showroom/corporate) -"cAa" = ( +"cEL" = ( /turf/open/floor/plasteel/grimy, /area/bridge/showroom/corporate) -"cAb" = ( +"cEM" = ( /obj/structure/chair/comfy/black{ dir = 4 }, /turf/open/floor/carpet, /area/bridge/showroom/corporate) -"cAc" = ( +"cEN" = ( /obj/structure/table/wood, /obj/structure/cable/white{ icon_state = "1-2" @@ -61995,7 +66326,7 @@ /obj/item/pen, /turf/open/floor/carpet, /area/bridge/showroom/corporate) -"cAd" = ( +"cEO" = ( /obj/structure/table/wood, /obj/structure/cable/white{ icon_state = "1-2" @@ -62009,7 +66340,7 @@ /obj/item/clothing/mask/cigarette/cigar, /turf/open/floor/carpet, /area/bridge/showroom/corporate) -"cAe" = ( +"cEP" = ( /obj/structure/table/wood, /obj/structure/cable/white{ icon_state = "1-2" @@ -62017,13 +66348,13 @@ /obj/item/lighter, /turf/open/floor/carpet, /area/bridge/showroom/corporate) -"cAf" = ( +"cEQ" = ( /obj/structure/chair/comfy/brown{ dir = 8 }, /turf/open/floor/carpet, /area/bridge/showroom/corporate) -"cAg" = ( +"cER" = ( /obj/structure/table/wood, /obj/structure/cable/white{ icon_state = "1-2" @@ -62031,7 +66362,7 @@ /obj/item/storage/secure/briefcase, /turf/open/floor/plasteel/grimy, /area/bridge/showroom/corporate) -"cAh" = ( +"cES" = ( /obj/structure/table, /obj/item/storage/belt, /obj/item/device/radio, @@ -62045,7 +66376,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/gateway) -"cAi" = ( +"cET" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -62054,7 +66385,7 @@ }, /turf/open/floor/plasteel, /area/gateway) -"cAj" = ( +"cEU" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -62064,7 +66395,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/gateway) -"cAk" = ( +"cEV" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -62075,7 +66406,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/gateway) -"cAl" = ( +"cEW" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -62087,7 +66418,7 @@ }, /turf/open/floor/plasteel, /area/gateway) -"cAm" = ( +"cEX" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -62113,7 +66444,7 @@ }, /turf/open/floor/plasteel, /area/gateway) -"cAn" = ( +"cEY" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -62125,7 +66456,7 @@ }, /turf/open/floor/plasteel, /area/gateway) -"cAo" = ( +"cEZ" = ( /obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "1-8" @@ -62136,7 +66467,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/gateway) -"cAp" = ( +"cFa" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 @@ -62146,7 +66477,7 @@ }, /turf/open/floor/plasteel, /area/gateway) -"cAq" = ( +"cFb" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/shower{ dir = 4 @@ -62156,7 +66487,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/toilet/restrooms) -"cAr" = ( +"cFc" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -62167,7 +66498,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/crew_quarters/toilet/restrooms) -"cAs" = ( +"cFd" = ( /obj/machinery/shower{ dir = 8; icon_state = "shower" @@ -62177,13 +66508,13 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/toilet/restrooms) -"cAt" = ( +"cFe" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/crew_quarters/toilet/restrooms) -"cAu" = ( +"cFf" = ( /obj/structure/mirror{ pixel_x = -26 }, @@ -62197,7 +66528,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/toilet/restrooms) -"cAv" = ( +"cFg" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -62209,7 +66540,7 @@ dir = 4 }, /area/crew_quarters/toilet/restrooms) -"cAw" = ( +"cFh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light, /obj/structure/cable/white{ @@ -62226,7 +66557,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/toilet/restrooms) -"cAx" = ( +"cFi" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -62238,7 +66569,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/toilet/restrooms) -"cAy" = ( +"cFj" = ( /obj/machinery/status_display{ pixel_y = -32 }, @@ -62253,14 +66584,14 @@ heat_capacity = 1e+006 }, /area/crew_quarters/toilet/restrooms) -"cAz" = ( +"cFk" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/toilet/restrooms) -"cAA" = ( +"cFl" = ( /obj/machinery/light, /obj/machinery/status_display{ pixel_y = -32 @@ -62273,7 +66604,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/toilet/restrooms) -"cAB" = ( +"cFm" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -62282,7 +66613,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/toilet/restrooms) -"cAC" = ( +"cFn" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -62301,7 +66632,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/toilet/restrooms) -"cAD" = ( +"cFo" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -62313,7 +66644,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/locker) -"cAE" = ( +"cFp" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -62322,7 +66653,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/locker) -"cAF" = ( +"cFq" = ( /obj/machinery/light, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -62334,13 +66665,13 @@ }, /turf/open/floor/plasteel/neutral/side, /area/crew_quarters/locker) -"cAG" = ( +"cFr" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/locker) -"cAH" = ( +"cFs" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -62349,42 +66680,59 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/locker) -"cAI" = ( +"cFt" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/locker) -"cAJ" = ( +"cFu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, -/obj/structure/closet/wardrobe/yellow, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/locker) -"cAK" = ( -/obj/structure/chair/office/dark, -/obj/machinery/newscaster{ - pixel_x = -32 +"cFv" = ( +/obj/structure/closet/wardrobe/grey, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/crew_quarters/locker) +"cFw" = ( +/obj/item/clipboard{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/item/newspaper{ + pixel_x = 7; + pixel_y = 11 + }, +/obj/item/newspaper, +/obj/item/pen/red, +/turf/open/floor/wood{ + icon_state = "wood-broken2" }, -/turf/open/floor/plasteel/grimy, /area/crew_quarters/dorms) -"cAL" = ( +"cFx" = ( +/obj/structure/bed, +/obj/item/bedsheet/black, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/wood, +/area/crew_quarters/dorms) +"cFy" = ( /obj/item/twohanded/required/kirbyplants/random, -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/grimy, +/turf/open/floor/wood, /area/crew_quarters/dorms) -"cAM" = ( +"cFz" = ( /obj/structure/bed, /obj/item/bedsheet/blue, /turf/open/floor/wood, /area/crew_quarters/dorms) -"cAN" = ( +"cFA" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp/green, /obj/machinery/newscaster{ @@ -62392,13 +66740,13 @@ }, /turf/open/floor/carpet, /area/crew_quarters/dorms) -"cAO" = ( +"cFB" = ( /obj/structure/chair/office/dark{ dir = 8 }, /turf/open/floor/carpet, /area/crew_quarters/dorms) -"cAP" = ( +"cFC" = ( /obj/structure/table, /obj/item/folder, /obj/machinery/airalarm{ @@ -62410,7 +66758,7 @@ dir = 1 }, /area/crew_quarters/fitness/recreation) -"cAQ" = ( +"cFD" = ( /obj/structure/chair{ dir = 4 }, @@ -62419,17 +66767,17 @@ dir = 4 }, /area/crew_quarters/fitness/recreation) -"cAR" = ( +"cFE" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/crew_quarters/fitness/recreation) -"cAS" = ( +"cFF" = ( /turf/open/floor/engine{ name = "Holodeck Projector Floor" }, /area/holodeck/rec_center) -"cAT" = ( +"cFG" = ( /obj/machinery/camera{ c_tag = "Holodeck - Fore"; dir = 2; @@ -62439,14 +66787,14 @@ name = "Holodeck Projector Floor" }, /area/holodeck/rec_center) -"cAU" = ( +"cFH" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/engine/engineering) -"cAV" = ( +"cFI" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -62456,7 +66804,7 @@ }, /turf/open/floor/plating/airless, /area/engine/engineering) -"cAW" = ( +"cFJ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -62466,7 +66814,7 @@ }, /turf/open/floor/plating/airless, /area/engine/engineering) -"cAX" = ( +"cFK" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -62476,13 +66824,13 @@ }, /turf/open/floor/plating/airless, /area/engine/engineering) -"cAY" = ( +"cFL" = ( /obj/structure/cable/white{ icon_state = "2-4" }, /turf/open/floor/plating/airless, /area/engine/engineering) -"cAZ" = ( +"cFM" = ( /obj/machinery/door/airlock/external{ cyclelinkeddir = 4; name = "External Containment Access"; @@ -62499,16 +66847,46 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cBa" = ( +"cFN" = ( /obj/structure/cable/white{ icon_state = "4-8" }, -/obj/structure/fans/tiny, /obj/effect/turf_decal/delivery, -/obj/structure/barricade/wooden, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, /turf/open/floor/plasteel, /area/engine/engineering) -"cBb" = ( +"cFO" = ( +/obj/machinery/door/airlock/external{ + cyclelinkeddir = 8; + name = "External Containment Access"; + req_access_txt = "10; 13" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cFP" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/neutral, +/area/engine/engineering) +"cFQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -62516,7 +66894,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/yellow, /area/engine/engineering) -"cBc" = ( +"cFR" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -62524,12 +66902,11 @@ dir = 8 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/neutral, /area/engine/engineering) -"cBd" = ( +"cFS" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -62540,12 +66917,11 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/yellow, /area/engine/engineering) -"cBe" = ( +"cFT" = ( /obj/effect/decal/cleanable/dirt, /obj/item/twohanded/required/kirbyplants/random, /obj/structure/cable/white{ @@ -62557,12 +66933,12 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cBf" = ( +"cFU" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/engine/storage) -"cBg" = ( +"cFV" = ( /obj/structure/rack, /obj/item/storage/belt/utility, /obj/item/weldingtool, @@ -62576,21 +66952,19 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/storage) -"cBh" = ( +"cFW" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/yellow/side, /area/engine/storage) -"cBi" = ( +"cFX" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plasteel/yellow/side, /area/engine/storage) -"cBj" = ( +"cFY" = ( /obj/structure/table/reinforced, -/obj/item/stack/sheet/plasteel{ - amount = 50 - }, +/obj/item/stack/sheet/plasteel/fifty, /obj/item/stack/sheet/rglass{ amount = 50; pixel_x = 2; @@ -62602,7 +66976,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/storage) -"cBk" = ( +"cFZ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -62610,30 +66984,34 @@ dir = 1 }, /area/maintenance/port) -"cBl" = ( +"cGa" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, /turf/open/floor/plating, /area/maintenance/port) -"cBm" = ( +"cGb" = ( /turf/open/floor/plasteel/yellow/side, /area/maintenance/port) -"cBn" = ( +"cGc" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/caution, /area/maintenance/port) -"cBo" = ( +"cGd" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/port) -"cBp" = ( +"cGe" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/maintenance/port) -"cBq" = ( +"cGf" = ( /obj/item/clipboard, /obj/item/folder/yellow, /obj/machinery/light, @@ -62644,7 +67022,7 @@ dir = 8 }, /area/ai_monitored/storage/eva) -"cBr" = ( +"cGg" = ( /obj/machinery/ai_status_display{ pixel_y = -32 }, @@ -62658,7 +67036,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cBs" = ( +"cGh" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_y = -26 @@ -62668,27 +67046,27 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cBt" = ( +"cGi" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cBu" = ( +"cGj" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cBv" = ( +"cGk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cBw" = ( +"cGl" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cBx" = ( +"cGm" = ( /obj/machinery/status_display{ pixel_y = -32 }, @@ -62697,7 +67075,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cBy" = ( +"cGn" = ( /obj/item/storage/belt, /obj/item/device/radio, /obj/machinery/light, @@ -62706,7 +67084,7 @@ dir = 8 }, /area/ai_monitored/storage/eva) -"cBz" = ( +"cGo" = ( /obj/structure/table/wood, /obj/structure/cable/white{ icon_state = "1-2" @@ -62726,12 +67104,12 @@ }, /turf/open/floor/plasteel/grimy, /area/bridge/showroom/corporate) -"cBA" = ( +"cGp" = ( /obj/structure/table/wood, /obj/item/storage/photo_album, /turf/open/floor/plasteel/grimy, /area/bridge/showroom/corporate) -"cBB" = ( +"cGq" = ( /obj/machinery/firealarm{ dir = 1; pixel_y = -26 @@ -62740,7 +67118,7 @@ /obj/machinery/light, /turf/open/floor/plasteel/grimy, /area/bridge/showroom/corporate) -"cBC" = ( +"cGr" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -62749,14 +67127,14 @@ }, /turf/open/floor/plasteel/grimy, /area/bridge/showroom/corporate) -"cBD" = ( +"cGs" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/holopad, /turf/open/floor/plasteel/grimy, /area/bridge/showroom/corporate) -"cBE" = ( +"cGt" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -62765,7 +67143,7 @@ }, /turf/open/floor/plasteel/grimy, /area/bridge/showroom/corporate) -"cBF" = ( +"cGu" = ( /obj/machinery/button/door{ id = "corporatelounge"; name = "Corporate Lounge Shutters"; @@ -62780,12 +67158,12 @@ /obj/machinery/light, /turf/open/floor/plasteel/grimy, /area/bridge/showroom/corporate) -"cBG" = ( +"cGv" = ( /obj/structure/table/wood, /obj/item/device/paicard, /turf/open/floor/plasteel/grimy, /area/bridge/showroom/corporate) -"cBH" = ( +"cGw" = ( /obj/structure/table/wood, /obj/structure/cable/white{ icon_state = "1-2" @@ -62803,13 +67181,13 @@ }, /turf/open/floor/plasteel/grimy, /area/bridge/showroom/corporate) -"cBI" = ( +"cGx" = ( /obj/structure/table, /obj/machinery/recharger, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/gateway) -"cBJ" = ( +"cGy" = ( /obj/structure/table, /obj/machinery/cell_charger, /obj/machinery/button/door{ @@ -62823,7 +67201,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/gateway) -"cBK" = ( +"cGz" = ( /obj/machinery/light_switch{ pixel_x = -26; pixel_y = -26 @@ -62834,7 +67212,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/gateway) -"cBL" = ( +"cGA" = ( /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -62847,44 +67225,44 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/gateway) -"cBM" = ( +"cGB" = ( /obj/machinery/recharge_station, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/gateway) -"cBN" = ( +"cGC" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/gateway) -"cBO" = ( +"cGD" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plasteel, /area/gateway) -"cBP" = ( +"cGE" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, /area/gateway) -"cBQ" = ( +"cGF" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/plasteel, /area/gateway) -"cBR" = ( +"cGG" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/effect/landmark/lightsout, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"cBS" = ( +"cGH" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/mirror{ pixel_x = -26 @@ -62897,14 +67275,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/toilet/restrooms) -"cBT" = ( +"cGI" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/toilet/restrooms) -"cBU" = ( +"cGJ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock{ name = "Toilet Unit" @@ -62914,25 +67292,25 @@ heat_capacity = 1e+006 }, /area/crew_quarters/toilet/restrooms) -"cBV" = ( +"cGK" = ( /obj/machinery/door/airlock{ name = "Toilet Unit" }, /turf/open/floor/plating, /area/crew_quarters/toilet/restrooms) -"cBW" = ( +"cGL" = ( /obj/machinery/vending/clothing, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/locker) -"cBX" = ( +"cGM" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/locker) -"cBY" = ( +"cGN" = ( /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -62941,7 +67319,7 @@ dir = 5 }, /area/crew_quarters/locker) -"cBZ" = ( +"cGO" = ( /obj/machinery/vending/autodrobe{ req_access_txt = "0" }, @@ -62949,7 +67327,7 @@ dir = 5 }, /area/crew_quarters/locker) -"cCa" = ( +"cGP" = ( /obj/structure/table, /obj/item/paper_bin, /obj/item/pen, @@ -62957,7 +67335,7 @@ dir = 5 }, /area/crew_quarters/locker) -"cCb" = ( +"cGQ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -62966,17 +67344,20 @@ dir = 5 }, /area/crew_quarters/locker) -"cCd" = ( +"cGR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/locker) -"cCe" = ( -/obj/structure/table/wood, -/obj/item/folder/blue, -/obj/item/lighter, +"cGS" = ( +/obj/structure/closet/wardrobe/black, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/crew_quarters/locker) +"cGT" = ( /obj/machinery/button/door{ id = "Dorm1"; name = "Dormitory Door Lock"; @@ -62986,25 +67367,53 @@ req_access_txt = "0"; specialfunctions = 4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/grimy, -/area/crew_quarters/dorms) -"cCf" = ( -/obj/structure/table/wood, -/obj/item/device/flashlight/lamp, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/grimy, -/area/crew_quarters/dorms) -"cCg" = ( -/obj/item/twohanded/required/kirbyplants/random, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, /turf/open/floor/wood, /area/crew_quarters/dorms) -"cCh" = ( +"cGU" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = -3; + pixel_y = 15 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = -6; + pixel_y = 3 + }, +/obj/item/reagent_containers/food/drinks/beer{ + desc = "Whatever it is, it reeks of foul, putrid froth."; + icon_state = "beer"; + list_reagents = list("bacchus_blessing" = 15); + name = "Delta-Down"; + pixel_x = 5; + pixel_y = 5 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken4" + }, +/area/crew_quarters/dorms) +"cGV" = ( +/obj/machinery/button/door{ + id = "Dorm2"; + name = "Dormitory Door Lock"; + normaldoorcontrol = 1; + pixel_x = -26; + pixel_y = 7; + req_access_txt = "0"; + specialfunctions = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/wood, +/area/crew_quarters/dorms) +"cGW" = ( /obj/structure/dresser, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/wood, /area/crew_quarters/dorms) -"cCi" = ( +"cGX" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/machinery/button/door{ @@ -63019,29 +67428,29 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/carpet, /area/crew_quarters/dorms) -"cCj" = ( +"cGY" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/carpet, /area/crew_quarters/dorms) -"cCk" = ( +"cGZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/corner{ dir = 1 }, /area/crew_quarters/fitness/recreation) -"cCl" = ( +"cHa" = ( /obj/structure/chair, /turf/open/floor/plasteel/neutral/side, /area/crew_quarters/fitness/recreation) -"cCm" = ( +"cHb" = ( /obj/structure/grille, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plating/airless, /area/engine/engineering) -"cCn" = ( +"cHc" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -63051,7 +67460,7 @@ }, /turf/open/floor/plating/airless, /area/engine/engineering) -"cCo" = ( +"cHd" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -63061,7 +67470,7 @@ }, /turf/open/floor/plating/airless, /area/engine/engineering) -"cCp" = ( +"cHe" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -63071,7 +67480,7 @@ }, /turf/open/floor/plating/airless, /area/engine/engineering) -"cCq" = ( +"cHf" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -63084,7 +67493,7 @@ }, /turf/open/floor/plating/airless, /area/engine/engineering) -"cCr" = ( +"cHg" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -63094,34 +67503,38 @@ }, /turf/open/floor/plating/airless, /area/engine/engineering) -"cCs" = ( +"cHh" = ( /obj/structure/closet/emcloset/anchored, /obj/machinery/light/small, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"cCt" = ( +"cHi" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plasteel, /area/engine/engineering) -"cCu" = ( +"cHj" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cHk" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/engineering) -"cCv" = ( +"cHl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/engineering) -"cCw" = ( +"cHm" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, @@ -63133,7 +67546,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/engineering) -"cCx" = ( +"cHn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "2-4" @@ -63146,7 +67559,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/engineering) -"cCy" = ( +"cHo" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -63160,7 +67573,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/engineering) -"cCz" = ( +"cHp" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -63171,7 +67584,7 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cCA" = ( +"cHq" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/electricshock{ @@ -63180,7 +67593,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/storage) -"cCB" = ( +"cHr" = ( /obj/structure/reagent_dispensers/watertank, /obj/machinery/status_display{ pixel_y = -32 @@ -63188,7 +67601,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/storage) -"cCC" = ( +"cHs" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/decal/cleanable/dirt, /obj/machinery/light, @@ -63199,7 +67612,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/storage) -"cCD" = ( +"cHt" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/decal/cleanable/dirt, /obj/machinery/ai_status_display{ @@ -63208,23 +67621,33 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/storage) -"cCE" = ( +"cHu" = ( /obj/structure/table/reinforced, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /obj/item/wrench, /obj/item/storage/box/lights/mixed, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/storage) -"cCF" = ( +"cHv" = ( /obj/structure/table/reinforced, /obj/item/stack/packageWrap, /obj/item/hand_labeler, /turf/open/floor/plating, /area/maintenance/port) -"cCH" = ( +"cHw" = ( +/obj/structure/table/reinforced, +/obj/item/stack/rods/fifty, +/obj/item/wrench, +/obj/item/storage/box/lights/mixed, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/sign/poster/official/random{ + pixel_y = -32 + }, +/turf/open/floor/plasteel, +/area/maintenance/port) +"cHx" = ( /obj/structure/rack, /obj/item/book/manual/wiki/engineering_hacking{ pixel_x = -3; @@ -63239,39 +67662,38 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port) -"cCI" = ( +"cHy" = ( /obj/effect/decal/cleanable/dirt, /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plating, /area/maintenance/port) -"cCJ" = ( +"cHz" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/neutral/side{ dir = 9 }, /area/maintenance/port) -"cCK" = ( +"cHA" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/port) -"cCL" = ( +"cHB" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/port) -"cCM" = ( +"cHC" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ dir = 4 @@ -63281,7 +67703,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cCN" = ( +"cHD" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -63290,24 +67712,23 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cCO" = ( +"cHE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 4; - icon_state = "pipe-j2s"; name = "Library Junction"; sortType = 16 }, /turf/open/floor/plating, /area/maintenance/port) -"cCP" = ( +"cHF" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/maintenance/port) -"cCQ" = ( +"cHG" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -63316,14 +67737,13 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cCR" = ( +"cHH" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating, /area/maintenance/port) -"cCS" = ( +"cHI" = ( /obj/structure/sign/directions/engineering{ desc = "A sign that shows there are doors here. There are doors everywhere!"; icon_state = "doors"; @@ -63331,7 +67751,7 @@ }, /turf/closed/wall/r_wall, /area/ai_monitored/storage/eva) -"cCT" = ( +"cHJ" = ( /obj/machinery/door/poddoor/shutters{ id = "evashutters"; name = "E.V.A. Storage Shutters" @@ -63345,7 +67765,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cCU" = ( +"cHK" = ( /obj/machinery/door/poddoor/shutters{ id = "evashutters"; name = "E.V.A. Storage Shutters" @@ -63358,7 +67778,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cCV" = ( +"cHL" = ( /obj/machinery/button/door{ id = "evashutters"; name = "E.V.A. Shutters"; @@ -63378,7 +67798,7 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"cCW" = ( +"cHM" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -63387,11 +67807,11 @@ }, /turf/open/floor/plating, /area/bridge/showroom/corporate) -"cCX" = ( +"cHN" = ( /obj/structure/sign/electricshock, /turf/closed/wall/r_wall, /area/bridge/showroom/corporate) -"cCY" = ( +"cHO" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ name = "Corporate Lounge"; @@ -63404,7 +67824,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/bridge/showroom/corporate) -"cCZ" = ( +"cHP" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ name = "Gateway Atrium"; @@ -63419,7 +67839,7 @@ }, /turf/open/floor/plasteel, /area/gateway) -"cDa" = ( +"cHQ" = ( /obj/machinery/door/poddoor/shutters{ id = "gatewayshutters"; name = "Gateway Chamber Shutters" @@ -63439,7 +67859,7 @@ }, /turf/open/floor/plasteel, /area/gateway) -"cDb" = ( +"cHR" = ( /obj/machinery/door/poddoor/shutters{ id = "gatewayshutters"; name = "Gateway Chamber Shutters" @@ -63453,7 +67873,7 @@ }, /turf/open/floor/plasteel, /area/gateway) -"cDc" = ( +"cHS" = ( /obj/machinery/door/poddoor/shutters{ id = "gatewayshutters"; name = "Gateway Chamber Shutters" @@ -63466,7 +67886,7 @@ }, /turf/open/floor/plasteel, /area/gateway) -"cDd" = ( +"cHT" = ( /obj/structure/sign/directions/engineering{ desc = "A sign that shows there are doors here. There are doors everywhere!"; icon_state = "doors"; @@ -63474,10 +67894,10 @@ }, /turf/closed/wall/r_wall, /area/gateway) -"cDe" = ( +"cHU" = ( /turf/closed/wall, /area/maintenance/starboard/aft) -"cDf" = ( +"cHV" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/decal/cleanable/dirt, /obj/structure/rack, @@ -63487,22 +67907,22 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cDg" = ( +"cHW" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cDh" = ( +"cHX" = ( /obj/structure/mopbucket, /obj/item/mop, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cDi" = ( +"cHY" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/vending/cigarette, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/crew_quarters/toilet/restrooms) -"cDj" = ( +"cHZ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -63510,7 +67930,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/toilet/restrooms) -"cDk" = ( +"cIa" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/vomit/old, /obj/structure/toilet{ @@ -63522,7 +67942,7 @@ /obj/machinery/light/small, /turf/open/floor/plating, /area/crew_quarters/toilet/restrooms) -"cDl" = ( +"cIb" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/toilet{ dir = 8 @@ -63534,7 +67954,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/toilet/restrooms) -"cDm" = ( +"cIc" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/toilet{ dir = 8 @@ -63547,7 +67967,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/toilet/restrooms) -"cDn" = ( +"cId" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -63564,7 +67984,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/locker) -"cDo" = ( +"cIe" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ name = "Lockerroom" @@ -63579,15 +67999,25 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/locker) -"cDp" = ( +"cIf" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ - id_tag = "Dorm1"; + id_tag = "Dorm5"; name = "Cabin 1" }, -/turf/open/floor/plasteel/grimy, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, /area/crew_quarters/dorms) -"cDq" = ( +"cIg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall, +/area/crew_quarters/dorms) +"cIh" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ id_tag = "Dorm2"; @@ -63595,7 +68025,11 @@ }, /turf/open/floor/wood, /area/crew_quarters/dorms) -"cDr" = ( +"cIi" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall, +/area/crew_quarters/dorms) +"cIj" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ id_tag = "Dorm3"; @@ -63603,7 +68037,7 @@ }, /turf/open/floor/carpet, /area/crew_quarters/dorms) -"cDs" = ( +"cIk" = ( /obj/machinery/firealarm{ dir = 8; pixel_x = -24 @@ -63613,7 +68047,7 @@ dir = 1 }, /area/crew_quarters/fitness/recreation) -"cDt" = ( +"cIl" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -63623,14 +68057,14 @@ }, /turf/open/floor/plasteel/black, /area/crew_quarters/fitness/recreation) -"cDu" = ( +"cIm" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 }, /turf/open/floor/plasteel/black, /area/crew_quarters/fitness/recreation) -"cDv" = ( +"cIn" = ( /obj/structure/window/reinforced{ dir = 1; layer = 2.9 @@ -63642,11 +68076,11 @@ }, /turf/open/floor/plasteel/black, /area/crew_quarters/fitness/recreation) -"cDw" = ( +"cIo" = ( /obj/machinery/status_display, /turf/closed/wall, /area/crew_quarters/fitness/recreation) -"cDx" = ( +"cIp" = ( /obj/structure/closet/emcloset/anchored, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ @@ -63655,7 +68089,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/port) -"cDy" = ( +"cIq" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/plasticflaps{ opacity = 1 @@ -63669,11 +68103,11 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/engineering) -"cDz" = ( +"cIr" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/engine/engineering) -"cDA" = ( +"cIs" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Engineering Maintenance"; req_access_txt = "10" @@ -63691,7 +68125,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cDB" = ( +"cIt" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -63699,15 +68133,19 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/port) -"cDC" = ( +"cIu" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/maintenance/port) +"cIv" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port) -"cDD" = ( +"cIw" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/port) -"cDE" = ( +"cIx" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -63716,13 +68154,13 @@ dir = 4 }, /area/maintenance/port) -"cDF" = ( +"cIy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/closed/wall, /area/maintenance/port) -"cDG" = ( +"cIz" = ( /obj/effect/landmark/lightsout, /obj/structure/cable/white{ icon_state = "1-2" @@ -63732,13 +68170,13 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"cDH" = ( +"cIA" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/hallway/primary/central) -"cDI" = ( +"cIB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -63750,7 +68188,7 @@ dir = 4 }, /area/hallway/primary/central) -"cDJ" = ( +"cIC" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -63764,7 +68202,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"cDK" = ( +"cID" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -63774,7 +68212,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"cDL" = ( +"cIE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -63783,14 +68221,14 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"cDM" = ( +"cIF" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"cDN" = ( +"cIG" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, @@ -63799,7 +68237,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"cDO" = ( +"cIH" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -63810,7 +68248,7 @@ dir = 4 }, /area/hallway/primary/central) -"cDP" = ( +"cII" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -63821,7 +68259,7 @@ dir = 4 }, /area/hallway/primary/central) -"cDQ" = ( +"cIJ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -63833,7 +68271,7 @@ icon_state = "L1" }, /area/hallway/primary/central) -"cDR" = ( +"cIK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -63841,7 +68279,7 @@ icon_state = "L3" }, /area/hallway/primary/central) -"cDS" = ( +"cIL" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -63850,7 +68288,7 @@ icon_state = "L5" }, /area/hallway/primary/central) -"cDT" = ( +"cIM" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -63858,7 +68296,7 @@ icon_state = "L7" }, /area/hallway/primary/central) -"cDU" = ( +"cIN" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, @@ -63866,7 +68304,7 @@ icon_state = "L9" }, /area/hallway/primary/central) -"cDV" = ( +"cIO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -63874,13 +68312,13 @@ icon_state = "L11" }, /area/hallway/primary/central) -"cDW" = ( +"cIP" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel{ icon_state = "L13" }, /area/hallway/primary/central) -"cDX" = ( +"cIQ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -63891,7 +68329,7 @@ dir = 1 }, /area/hallway/primary/central) -"cDY" = ( +"cIR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -63908,13 +68346,13 @@ dir = 1 }, /area/hallway/primary/central) -"cDZ" = ( +"cIS" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /turf/open/floor/plasteel/neutral/corner{ dir = 1 }, /area/hallway/primary/central) -"cEa" = ( +"cIT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -63923,7 +68361,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"cEb" = ( +"cIU" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -63935,7 +68373,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"cEc" = ( +"cIV" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance{ @@ -63947,18 +68385,18 @@ heat_capacity = 1e+006 }, /area/maintenance/starboard/aft) -"cEd" = ( +"cIW" = ( /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cEe" = ( +"cIX" = ( /obj/structure/girder, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cEf" = ( +"cIY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/crew_quarters/toilet/restrooms) -"cEg" = ( +"cIZ" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -63976,13 +68414,13 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"cEh" = ( +"cJa" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/decal/cleanable/dirt, /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cEi" = ( +"cJb" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, /obj/item/reagent_containers/blood/random, @@ -63991,20 +68429,20 @@ dir = 1 }, /area/maintenance/starboard/aft) -"cEj" = ( +"cJc" = ( /obj/structure/table, /obj/item/storage/box/bodybags, /obj/item/pen, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cEk" = ( +"cJd" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/decal/cleanable/dirt, /obj/structure/table, /obj/item/storage/firstaid/regular, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cEl" = ( +"cJe" = ( /obj/machinery/washing_machine, /obj/machinery/camera{ c_tag = "Dormitories - Port"; @@ -64015,7 +68453,7 @@ dir = 8 }, /area/crew_quarters/dorms) -"cEm" = ( +"cJf" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -64028,7 +68466,7 @@ dir = 1 }, /area/crew_quarters/dorms) -"cEn" = ( +"cJg" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64040,7 +68478,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/dorms) -"cEo" = ( +"cJh" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64050,7 +68488,7 @@ dir = 4 }, /area/crew_quarters/dorms) -"cEp" = ( +"cJi" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -64069,7 +68507,16 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) -"cEq" = ( +"cJj" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/turf/open/floor/plasteel/neutral/corner{ + dir = 1 + }, +/area/crew_quarters/dorms) +"cJk" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64080,7 +68527,19 @@ dir = 1 }, /area/crew_quarters/dorms) -"cEr" = ( +"cJl" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/neutral/corner{ + dir = 1 + }, +/area/crew_quarters/dorms) +"cJm" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64097,7 +68556,7 @@ dir = 1 }, /area/crew_quarters/dorms) -"cEs" = ( +"cJn" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64109,18 +68568,19 @@ heat_capacity = 1e+006 }, /area/crew_quarters/dorms) -"cEt" = ( +"cJo" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/crew_quarters/dorms) -"cEu" = ( +"cJp" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64136,7 +68596,7 @@ dir = 4 }, /area/crew_quarters/dorms) -"cEv" = ( +"cJq" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64145,7 +68605,18 @@ dir = 4 }, /area/crew_quarters/dorms) -"cEw" = ( +"cJr" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral/corner{ + dir = 4 + }, +/area/crew_quarters/dorms) +"cJs" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -64164,7 +68635,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) -"cEx" = ( +"cJt" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64175,7 +68646,7 @@ dir = 1 }, /area/crew_quarters/fitness/recreation) -"cEy" = ( +"cJu" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -64186,13 +68657,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cEz" = ( +"cJv" = ( /obj/structure/window/reinforced{ dir = 8 }, /turf/open/floor/plasteel/black, /area/crew_quarters/fitness/recreation) -"cEA" = ( +"cJw" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, @@ -64200,7 +68671,7 @@ dir = 5 }, /area/crew_quarters/fitness/recreation) -"cEB" = ( +"cJx" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -64209,11 +68680,11 @@ }, /turf/open/floor/plasteel/black, /area/crew_quarters/fitness/recreation) -"cEC" = ( +"cJy" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cED" = ( +"cJz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -64222,7 +68693,22 @@ dir = 4 }, /area/crew_quarters/fitness/recreation) -"cEF" = ( +"cJA" = ( +/obj/machinery/door/airlock/glass{ + name = "Holodeck Access" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"cJB" = ( /obj/machinery/light, /obj/structure/extinguisher_cabinet{ pixel_y = -32 @@ -64233,7 +68719,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) -"cEG" = ( +"cJC" = ( /obj/machinery/door/airlock/glass{ name = "Holodeck Access" }, @@ -64248,7 +68734,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) -"cEH" = ( +"cJD" = ( /obj/machinery/door/airlock/glass{ name = "Holodeck Access" }, @@ -64263,7 +68749,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) -"cEI" = ( +"cJE" = ( /obj/machinery/light, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -64271,7 +68757,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) -"cEJ" = ( +"cJF" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -64280,7 +68766,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/fitness/recreation) -"cEK" = ( +"cJG" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, @@ -64294,12 +68780,12 @@ heat_capacity = 1e+006 }, /area/crew_quarters/fitness/recreation) -"cEL" = ( +"cJH" = ( /turf/open/floor/plasteel/neutral/side{ dir = 5 }, /area/crew_quarters/fitness/recreation) -"cEM" = ( +"cJI" = ( /obj/machinery/door/airlock/external{ cyclelinkeddir = 4; name = "External Airlock"; @@ -64314,13 +68800,28 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cEN" = ( +"cJJ" = ( +/obj/machinery/door/airlock/external{ + cyclelinkeddir = 8; + name = "External Airlock"; + req_access_txt = "13" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/maintenance/port) +"cJK" = ( /turf/open/floor/plasteel/neutral/side{ dir = 1; heat_capacity = 1e+006 }, /area/maintenance/port) -"cEO" = ( +"cJL" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -64329,7 +68830,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cEP" = ( +"cJM" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate{ icon_state = "crateopen"; @@ -64345,7 +68846,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cEQ" = ( +"cJN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -64357,7 +68858,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cER" = ( +"cJO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -64367,7 +68868,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cES" = ( +"cJP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -64376,7 +68877,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cET" = ( +"cJQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "2-4" @@ -64389,7 +68890,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cEU" = ( +"cJR" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -64399,7 +68900,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cEV" = ( +"cJS" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -64409,7 +68910,16 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cEX" = ( +"cJT" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"cJU" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -64422,7 +68932,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cEY" = ( +"cJV" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64434,7 +68944,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cEZ" = ( +"cJW" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -64448,7 +68958,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port) -"cFa" = ( +"cJX" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -64464,7 +68974,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cFb" = ( +"cJY" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-4" @@ -64479,13 +68989,12 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port) -"cFc" = ( +"cJZ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64497,7 +69006,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cFd" = ( +"cKa" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -64510,7 +69019,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cFe" = ( +"cKb" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -64526,7 +69035,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cFf" = ( +"cKc" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -64542,7 +69051,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cFg" = ( +"cKd" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -64557,7 +69066,7 @@ dir = 4 }, /area/maintenance/port) -"cFh" = ( +"cKe" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -64572,7 +69081,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cFi" = ( +"cKf" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -64587,7 +69096,7 @@ dir = 8 }, /area/maintenance/port) -"cFj" = ( +"cKg" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64601,7 +69110,7 @@ dir = 8 }, /area/maintenance/port) -"cFk" = ( +"cKh" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64614,7 +69123,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cFl" = ( +"cKi" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-8" @@ -64624,12 +69133,11 @@ }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plating, /area/maintenance/port) -"cFm" = ( +"cKj" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -64639,7 +69147,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port) -"cFn" = ( +"cKk" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64648,7 +69156,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cFo" = ( +"cKl" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -64658,7 +69166,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cFp" = ( +"cKm" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64668,7 +69176,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port) -"cFq" = ( +"cKn" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -64680,7 +69188,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cFr" = ( +"cKo" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64692,7 +69200,7 @@ dir = 8 }, /area/maintenance/port) -"cFs" = ( +"cKp" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64701,7 +69209,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cFt" = ( +"cKq" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -64712,12 +69220,11 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/port) -"cFu" = ( +"cKr" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64729,7 +69236,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cFv" = ( +"cKs" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -64749,7 +69256,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cFw" = ( +"cKt" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64757,14 +69264,13 @@ dir = 8 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/neutral/corner{ dir = 8 }, /area/hallway/primary/central) -"cFx" = ( +"cKu" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64780,7 +69286,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"cFy" = ( +"cKv" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64788,7 +69294,7 @@ dir = 8 }, /area/hallway/primary/central) -"cFz" = ( +"cKw" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -64800,7 +69306,7 @@ icon_state = "L2" }, /area/hallway/primary/central) -"cFA" = ( +"cKx" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64808,7 +69314,7 @@ icon_state = "L4" }, /area/hallway/primary/central) -"cFB" = ( +"cKy" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64816,7 +69322,7 @@ icon_state = "L6" }, /area/hallway/primary/central) -"cFC" = ( +"cKz" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64829,7 +69335,7 @@ icon_state = "L8" }, /area/hallway/primary/central) -"cFD" = ( +"cKA" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64842,7 +69348,7 @@ icon_state = "L10" }, /area/hallway/primary/central) -"cFE" = ( +"cKB" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64850,7 +69356,7 @@ icon_state = "L12" }, /area/hallway/primary/central) -"cFF" = ( +"cKC" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64859,7 +69365,7 @@ icon_state = "L14" }, /area/hallway/primary/central) -"cFG" = ( +"cKD" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64868,7 +69374,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"cFH" = ( +"cKE" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -64887,22 +69393,21 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) -"cFI" = ( +"cKF" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 1; - icon_state = "pipe-j1s"; name = "Medbay Junction"; sortType = 9 }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"cFJ" = ( +"cKG" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; @@ -64926,7 +69431,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"cFK" = ( +"cKH" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64938,7 +69443,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cFL" = ( +"cKI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "2-8" @@ -64951,7 +69456,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cFM" = ( +"cKJ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -64961,7 +69466,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cFN" = ( +"cKK" = ( /obj/structure/girder, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -64971,7 +69476,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cFO" = ( +"cKL" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -64982,7 +69487,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cFP" = ( +"cKM" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-4" @@ -65000,7 +69505,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"cFQ" = ( +"cKN" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -65013,7 +69518,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cFR" = ( +"cKO" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -65027,7 +69532,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"cFS" = ( +"cKP" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch/abandoned{ @@ -65051,7 +69556,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"cFT" = ( +"cKQ" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -65059,12 +69564,11 @@ dir = 1 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cFU" = ( +"cKR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/blobstart, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -65072,7 +69576,7 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/starboard/aft) -"cFV" = ( +"cKS" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 @@ -65083,7 +69587,7 @@ /obj/item/reagent_containers/dropper, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cFW" = ( +"cKT" = ( /obj/structure/table, /obj/structure/bedsheetbin, /obj/machinery/light{ @@ -65093,60 +69597,87 @@ dir = 8 }, /area/crew_quarters/dorms) -"cFX" = ( +"cKU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/crew_quarters/dorms) -"cFY" = ( +"cKV" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/dorms) -"cFZ" = ( +"cKW" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral/side{ dir = 4 }, /area/crew_quarters/dorms) -"cGa" = ( +"cKX" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/crew_quarters/dorms) -"cGb" = ( +"cKY" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/crew_quarters/dorms) -"cGc" = ( +"cKZ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/dorms) -"cGd" = ( +"cLa" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/dorms) -"cGe" = ( +"cLb" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/dorms) -"cGf" = ( +"cLc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/crew_quarters/dorms) +"cLd" = ( /obj/effect/landmark/lightsout, /turf/open/floor/plasteel/neutral, /area/crew_quarters/dorms) -"cGg" = ( +"cLe" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/neutral, +/area/crew_quarters/dorms) +"cLf" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral, +/area/crew_quarters/dorms) +"cLg" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral, +/area/crew_quarters/dorms) +"cLh" = ( +/turf/open/floor/plasteel/neutral, +/area/crew_quarters/dorms) +"cLi" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/crew_quarters/dorms) -"cGh" = ( +"cLj" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/light/small{ dir = 8 @@ -65158,7 +69689,7 @@ }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cGi" = ( +"cLk" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -65168,37 +69699,39 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) -"cGj" = ( +"cLl" = ( /obj/structure/window/reinforced{ dir = 4 }, /turf/open/floor/plasteel/black, /area/crew_quarters/fitness/recreation) -"cGk" = ( +"cLm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 4 }, /area/crew_quarters/fitness/recreation) -"cGl" = ( +"cLn" = ( /obj/structure/sign/nosmoking_2, /turf/closed/wall, /area/crew_quarters/fitness/recreation) -"cGm" = ( -/obj/machinery/computer/holodeck, +"cLo" = ( +/obj/machinery/computer/holodeck{ + dir = 4 + }, /turf/open/floor/plasteel/neutral/side{ dir = 8; heat_capacity = 1e+006 }, /area/crew_quarters/fitness/recreation) -"cGn" = ( +"cLp" = ( /obj/structure/chair/office/light{ dir = 8 }, /obj/effect/landmark/start/assistant, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cGo" = ( +"cLq" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/pen, @@ -65206,7 +69739,7 @@ dir = 4 }, /area/crew_quarters/fitness/recreation) -"cGp" = ( +"cLr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -65215,14 +69748,33 @@ dir = 8 }, /area/maintenance/port) -"cGt" = ( +"cLs" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"cLt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral/side, +/area/maintenance/port) +"cLu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral/side, +/area/maintenance/port) +"cLv" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port) -"cGu" = ( +"cLw" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -65230,7 +69782,22 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cGx" = ( +"cLx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral/side, +/area/maintenance/port) +"cLy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"cLz" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -65241,7 +69808,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cGy" = ( +"cLA" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -65249,7 +69816,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port) -"cGz" = ( +"cLB" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -65258,7 +69825,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cGA" = ( +"cLC" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate, /obj/effect/spawner/lootdrop/maintenance{ @@ -65270,7 +69837,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port) -"cGB" = ( +"cLD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, /obj/item/clothing/gloves/color/fyellow, @@ -65280,7 +69847,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port) -"cGC" = ( +"cLE" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -65291,21 +69858,21 @@ dir = 8 }, /area/maintenance/port) -"cGD" = ( +"cLF" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/port) -"cGE" = ( +"cLG" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/maintenance/port) -"cGF" = ( +"cLH" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -65316,35 +69883,35 @@ dir = 4 }, /area/maintenance/port) -"cGG" = ( +"cLI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/science/xenobiology) -"cGH" = ( +"cLJ" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/closed/wall/r_wall, /area/science/xenobiology) -"cGI" = ( +"cLK" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/maintenance/port) -"cGJ" = ( +"cLL" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/port) -"cGK" = ( +"cLM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port) -"cGL" = ( +"cLN" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -65354,69 +69921,64 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/port) -"cGM" = ( +"cLO" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /turf/open/floor/plating, /area/maintenance/port) -"cGN" = ( +"cLP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/maintenance/port) -"cGO" = ( +"cLQ" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/neutral/corner{ dir = 8 }, /area/hallway/primary/central) -"cGP" = ( +"cLR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; dir = 4 }, /turf/open/floor/plasteel/neutral/corner{ dir = 8 }, /area/hallway/primary/central) -"cGQ" = ( +"cLS" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/neutral/corner{ dir = 8 }, /area/hallway/primary/central) -"cGR" = ( +"cLT" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/neutral/corner{ dir = 8 }, /area/hallway/primary/central) -"cGS" = ( +"cLU" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 4; - icon_state = "pipe-j1s"; name = "Research Junction"; sortType = 12 }, @@ -65424,7 +69986,7 @@ dir = 8 }, /area/hallway/primary/central) -"cGT" = ( +"cLV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -65441,34 +70003,32 @@ dir = 8 }, /area/hallway/primary/central) -"cGU" = ( +"cLW" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/neutral/corner{ dir = 8 }, /area/hallway/primary/central) -"cGV" = ( +"cLX" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side, /area/hallway/primary/central) -"cGW" = ( +"cLY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/blue/corner, /area/hallway/primary/central) -"cGX" = ( +"cLZ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -65478,7 +70038,7 @@ }, /turf/open/floor/plasteel/blue/corner, /area/hallway/primary/central) -"cGY" = ( +"cMa" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -65487,48 +70047,53 @@ }, /turf/open/floor/plasteel/blue/corner, /area/hallway/primary/central) -"cGZ" = ( +"cMb" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/blue/corner, /area/hallway/primary/central) -"cHa" = ( +"cMc" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 4; - icon_state = "pipe-j1s"; name = "CMO's Junction"; sortType = 10 }, /turf/open/floor/plasteel/blue/corner, /area/hallway/primary/central) -"cHb" = ( +"cMd" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral/corner, +/area/hallway/primary/central) +"cMe" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/central) -"cHc" = ( +"cMf" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/maintenance/starboard/aft) -"cHd" = ( +"cMg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cHe" = ( +"cMh" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -65537,7 +70102,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cHf" = ( +"cMi" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -65548,7 +70113,7 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/starboard/aft) -"cHg" = ( +"cMj" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -65558,14 +70123,14 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cHh" = ( +"cMk" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cHi" = ( +"cMl" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -65574,13 +70139,13 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cHj" = ( +"cMm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/medical/storage) -"cHk" = ( +"cMn" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ dir = 8 @@ -65595,13 +70160,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cHl" = ( +"cMo" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cHm" = ( +"cMp" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/iv_drip, @@ -65609,13 +70174,13 @@ dir = 4 }, /area/maintenance/starboard/aft) -"cHn" = ( +"cMq" = ( /obj/machinery/washing_machine, /turf/open/floor/plasteel/arrival{ dir = 8 }, /area/crew_quarters/dorms) -"cHo" = ( +"cMr" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, @@ -65624,7 +70189,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/dorms) -"cHp" = ( +"cMs" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -65635,17 +70200,16 @@ }, /turf/open/floor/plasteel/neutral/side, /area/crew_quarters/dorms) -"cHq" = ( +"cMt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/dorms) -"cHr" = ( +"cMu" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ name = "Dormitories" @@ -65664,7 +70228,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) -"cHs" = ( +"cMv" = ( /obj/machinery/firealarm{ dir = 1; pixel_y = -26 @@ -65681,7 +70245,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/dorms) -"cHt" = ( +"cMw" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -65693,7 +70257,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/dorms) -"cHu" = ( +"cMx" = ( /obj/machinery/light, /obj/structure/disposalpipe/segment{ dir = 4 @@ -65703,7 +70267,7 @@ dir = 8 }, /area/crew_quarters/dorms) -"cHv" = ( +"cMy" = ( /obj/structure/cable/white, /obj/machinery/power/apc{ dir = 2; @@ -65727,7 +70291,20 @@ heat_capacity = 1e+006 }, /area/crew_quarters/dorms) -"cHw" = ( +"cMz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/neutral/corner{ + dir = 8; + heat_capacity = 1e+006 + }, +/area/crew_quarters/dorms) +"cMA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -65736,7 +70313,14 @@ }, /turf/open/floor/plasteel/neutral/side, /area/crew_quarters/dorms) -"cHx" = ( +"cMB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/turf/open/floor/plasteel/neutral/corner, +/area/crew_quarters/dorms) +"cMC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -65745,7 +70329,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/dorms) -"cHy" = ( +"cMD" = ( /obj/machinery/light, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -65756,7 +70340,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/dorms) -"cHz" = ( +"cME" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ name = "Recreational Area" @@ -65775,7 +70359,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) -"cHA" = ( +"cMF" = ( /obj/machinery/light_switch{ pixel_x = -26; pixel_y = -26 @@ -65791,19 +70375,18 @@ dir = 8 }, /area/crew_quarters/fitness/recreation) -"cHB" = ( +"cMG" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/effect/landmark/lightsout, /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/obj/structure/disposalpipe/junction{ - dir = 1; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 1 }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cHC" = ( +"cMH" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -65812,7 +70395,7 @@ }, /turf/open/floor/plasteel/black, /area/crew_quarters/fitness/recreation) -"cHD" = ( +"cMI" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, @@ -65820,7 +70403,7 @@ dir = 5 }, /area/crew_quarters/fitness/recreation) -"cHE" = ( +"cMJ" = ( /obj/structure/table/reinforced, /obj/item/folder/blue, /obj/item/storage/firstaid/regular, @@ -65829,12 +70412,12 @@ heat_capacity = 1e+006 }, /area/crew_quarters/fitness/recreation) -"cHF" = ( +"cMK" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) -"cHG" = ( +"cML" = ( /obj/structure/table/reinforced, /obj/item/clipboard, /obj/item/folder, @@ -65843,7 +70426,7 @@ dir = 4 }, /area/crew_quarters/fitness/recreation) -"cHH" = ( +"cMM" = ( /obj/machinery/shieldgen, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -65851,36 +70434,42 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cHI" = ( +"cMN" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/port) -"cHJ" = ( +"cMO" = ( /turf/closed/wall, /area/maintenance/department/electrical) -"cHK" = ( +"cMP" = ( /obj/structure/sign/securearea, /turf/closed/wall, /area/maintenance/department/electrical) -"cHL" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ +"cMQ" = ( +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics Auxiliary Port"; + req_access_txt = "24" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 8 - }, -/area/medical/virology) -"cHM" = ( +/turf/open/floor/plasteel, +/area/maintenance/department/electrical) +"cMR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/maintenance/department/electrical) -"cHN" = ( +"cMS" = ( /obj/structure/sign/electricshock, /turf/closed/wall, /area/maintenance/department/electrical) -"cHO" = ( +"cMT" = ( /obj/machinery/door/airlock/engineering{ name = "Engineering Auxiliary Power"; req_access_txt = "10" @@ -65897,20 +70486,25 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cHP" = ( +"cMU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, /mob/living/simple_animal/cockroach, /turf/open/floor/plating, /area/maintenance/port) -"cHQ" = ( +"cMV" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/plating, /area/maintenance/port) -"cHR" = ( +"cMW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/maintenance/port) +"cMX" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -65922,17 +70516,17 @@ dir = 4 }, /area/maintenance/port) -"cHS" = ( +"cMY" = ( /turf/closed/wall/r_wall, /area/science/xenobiology) -"cHT" = ( +"cMZ" = ( /obj/structure/reagent_dispensers/watertank, /obj/item/extinguisher, /obj/item/extinguisher, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cHU" = ( +"cNa" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/machinery/light/small{ dir = 1 @@ -65942,20 +70536,20 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cHV" = ( +"cNb" = ( /obj/machinery/atmospherics/components/unary/tank/air, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cHW" = ( +"cNc" = ( /turf/closed/wall, /area/science/xenobiology) -"cHX" = ( +"cNd" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/science/xenobiology) -"cHY" = ( +"cNe" = ( /obj/machinery/light/small{ dir = 1 }, @@ -65968,7 +70562,7 @@ dir = 5 }, /area/science/xenobiology) -"cHZ" = ( +"cNf" = ( /obj/machinery/light/small{ dir = 1 }, @@ -65981,7 +70575,7 @@ dir = 5 }, /area/science/xenobiology) -"cIa" = ( +"cNg" = ( /obj/machinery/light/small{ dir = 1 }, @@ -65994,7 +70588,10 @@ dir = 5 }, /area/science/xenobiology) -"cIb" = ( +"cNh" = ( +/turf/open/floor/plasteel/vault/killroom, +/area/science/xenobiology) +"cNi" = ( /obj/machinery/light/small{ dir = 1 }, @@ -66006,7 +70603,7 @@ }, /turf/open/floor/plasteel/vault/killroom, /area/science/xenobiology) -"cIc" = ( +"cNj" = ( /obj/structure/closet/crate{ icon_state = "crateopen"; opened = 1 @@ -66015,12 +70612,12 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/port) -"cId" = ( +"cNk" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port) -"cIe" = ( +"cNl" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance{ @@ -66030,13 +70627,13 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/port) -"cIf" = ( +"cNm" = ( /obj/machinery/light, /obj/structure/closet/emcloset, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/central) -"cIg" = ( +"cNn" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ dir = 1 @@ -66044,20 +70641,20 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/central) -"cIh" = ( +"cNo" = ( /obj/structure/sign/science, /turf/closed/wall, /area/hallway/primary/central) -"cIi" = ( +"cNp" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/science/research) -"cIj" = ( +"cNq" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/science/research) -"cIk" = ( +"cNr" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line{ @@ -66068,11 +70665,11 @@ }, /turf/open/floor/plasteel, /area/science/research) -"cIl" = ( +"cNs" = ( /obj/machinery/status_display, /turf/closed/wall, /area/science/research) -"cIm" = ( +"cNt" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ dir = 2 @@ -66082,7 +70679,7 @@ }, /turf/open/floor/plasteel, /area/science/research) -"cIn" = ( +"cNu" = ( /obj/structure/sign/directions/evac{ pixel_y = -8 }, @@ -66095,7 +70692,7 @@ }, /turf/closed/wall, /area/science/research) -"cIo" = ( +"cNv" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/door/airlock/glass{ @@ -66110,7 +70707,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"cIp" = ( +"cNw" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Aft Primary Hallway" @@ -66123,7 +70720,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"cIq" = ( +"cNx" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/door/airlock/glass{ @@ -66138,7 +70735,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"cIr" = ( +"cNy" = ( /obj/structure/sign/directions/evac{ pixel_y = -8 }, @@ -66151,11 +70748,11 @@ }, /turf/closed/wall, /area/medical/medbay/central) -"cIs" = ( +"cNz" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/medical/medbay/central) -"cIt" = ( +"cNA" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ dir = 2 @@ -66165,11 +70762,11 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"cIu" = ( +"cNB" = ( /obj/machinery/status_display, /turf/closed/wall, /area/medical/medbay/central) -"cIv" = ( +"cNC" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line{ @@ -66180,51 +70777,55 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"cIw" = ( +"cND" = ( /obj/structure/sign/bluecross_2, /turf/closed/wall, /area/medical/medbay/central) -"cIy" = ( +"cNE" = ( /obj/machinery/vending/snack/random, /obj/machinery/light, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/central) -"cIz" = ( +"cNF" = ( /obj/machinery/vending/cola/random, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/central) -"cIA" = ( +"cNG" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side{ dir = 8; heat_capacity = 1e+006 }, /area/maintenance/starboard/aft) -"cIB" = ( +"cNH" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cNI" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/maintenance/starboard/aft) -"cIC" = ( +"cNJ" = ( /obj/structure/grille, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cID" = ( +"cNK" = ( /turf/closed/wall/r_wall, /area/medical/storage) -"cIE" = ( +"cNL" = ( /obj/machinery/vending/medical, /turf/open/floor/plasteel/neutral/corner, /area/medical/storage) -"cIF" = ( +"cNM" = ( /obj/structure/closet/secure_closet/medical3, /obj/machinery/newscaster{ pixel_y = 32 }, /turf/open/floor/plasteel/neutral/side, /area/medical/storage) -"cIG" = ( +"cNN" = ( /obj/structure/closet/secure_closet/medical3, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -66232,7 +70833,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/medical/storage) -"cIH" = ( +"cNO" = ( /obj/structure/closet/wardrobe/white/medical, /obj/structure/extinguisher_cabinet{ pixel_y = 32 @@ -66240,13 +70841,13 @@ /obj/item/storage/backpack/satchel/med, /turf/open/floor/plasteel/neutral/side, /area/medical/storage) -"cII" = ( +"cNP" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/storage) -"cIJ" = ( +"cNQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -66257,7 +70858,7 @@ dir = 8 }, /area/maintenance/starboard/aft) -"cIK" = ( +"cNR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -66266,13 +70867,13 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/starboard/aft) -"cIL" = ( +"cNS" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cIM" = ( +"cNT" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ id_tag = "Dorm4"; @@ -66280,7 +70881,7 @@ }, /turf/open/floor/wood, /area/crew_quarters/dorms) -"cIN" = ( +"cNU" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ id_tag = "Dorm5"; @@ -66288,7 +70889,7 @@ }, /turf/open/floor/carpet, /area/crew_quarters/dorms) -"cIO" = ( +"cNV" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ id_tag = "Dorm6"; @@ -66296,13 +70897,13 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/dorms) -"cIP" = ( +"cNW" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/corner{ dir = 8 }, /area/crew_quarters/fitness/recreation) -"cIQ" = ( +"cNX" = ( /obj/structure/window/reinforced, /obj/machinery/door/window{ dir = 8; @@ -66311,24 +70912,39 @@ }, /turf/open/floor/plasteel/black, /area/crew_quarters/fitness/recreation) -"cIR" = ( +"cNY" = ( /obj/structure/window/reinforced, /turf/open/floor/plasteel/black, /area/crew_quarters/fitness/recreation) -"cIS" = ( +"cNZ" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 4 }, /turf/open/floor/plasteel/black, /area/crew_quarters/fitness/recreation) -"cIT" = ( +"cOa" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/fitness/recreation) -"cIV" = ( +"cOb" = ( +/obj/machinery/door/airlock/glass{ + name = "Holodeck Access" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) +"cOc" = ( /obj/machinery/light{ dir = 1 }, @@ -66338,7 +70954,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) -"cIW" = ( +"cOd" = ( /obj/machinery/door/airlock/glass{ name = "Holodeck Access" }, @@ -66353,7 +70969,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) -"cIX" = ( +"cOe" = ( /obj/machinery/door/airlock/glass{ name = "Holodeck Access" }, @@ -66368,7 +70984,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) -"cIY" = ( +"cOf" = ( /obj/machinery/light{ dir = 1 }, @@ -66381,28 +70997,28 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) -"cIZ" = ( +"cOg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral/side, /area/crew_quarters/fitness/recreation) -"cJa" = ( +"cOh" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/plasteel/neutral/side, /area/crew_quarters/fitness/recreation) -"cJb" = ( +"cOi" = ( /turf/open/floor/plasteel/neutral/side{ dir = 6 }, /area/crew_quarters/fitness/recreation) -"cJc" = ( +"cOj" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/port) -"cJd" = ( +"cOk" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, @@ -66411,7 +71027,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cJe" = ( +"cOl" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -66423,14 +71039,14 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cJf" = ( +"cOm" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/port) -"cJg" = ( +"cOn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance{ @@ -66441,7 +71057,17 @@ dir = 4 }, /area/maintenance/port) -"cJi" = ( +"cOo" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/sign/poster/official/help_others{ + pixel_y = 32 + }, +/turf/open/floor/plasteel, +/area/maintenance/department/electrical) +"cOp" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/machinery/portable_atmospherics/canister/air, /obj/effect/turf_decal/stripes/line{ @@ -66449,12 +71075,12 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cJj" = ( +"cOq" = ( /obj/machinery/atmospherics/pipe/simple/supply/visible, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cJk" = ( +"cOr" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/machinery/light_switch{ pixel_y = 26 @@ -66462,12 +71088,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cJl" = ( +"cOs" = ( /obj/structure/closet/secure_closet/engineering_electrical, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cJm" = ( +"cOt" = ( /obj/structure/table/reinforced, /obj/structure/extinguisher_cabinet{ pixel_x = -26 @@ -66476,7 +71102,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cJn" = ( +"cOu" = ( /obj/structure/table/reinforced, /obj/machinery/airalarm{ pixel_y = 23 @@ -66489,7 +71115,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cJo" = ( +"cOv" = ( /obj/machinery/power/port_gen/pacman, /obj/machinery/light/small{ dir = 1 @@ -66498,12 +71124,12 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cJp" = ( +"cOw" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cJq" = ( +"cOx" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -66512,7 +71138,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cJr" = ( +"cOy" = ( /obj/machinery/light_switch{ pixel_y = 26 }, @@ -66522,7 +71148,23 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cJt" = ( +"cOz" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/storage/toolbox/electrical, +/obj/effect/turf_decal/delivery, +/obj/structure/sign/poster/official/report_crimes{ + pixel_y = 32 + }, +/turf/open/floor/plasteel, +/area/maintenance/department/electrical) +"cOA" = ( /obj/structure/table/reinforced, /obj/machinery/newscaster{ pixel_y = 32 @@ -66536,7 +71178,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cJu" = ( +"cOB" = ( /obj/structure/table/reinforced, /obj/item/storage/box/lights/mixed{ pixel_x = 3; @@ -66547,14 +71189,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cJv" = ( +"cOC" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/open/floor/plating, /area/maintenance/port) -"cJw" = ( +"cOD" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -66563,7 +71205,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cJx" = ( +"cOE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance{ @@ -66575,7 +71217,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port) -"cJy" = ( +"cOF" = ( /obj/structure/rack, /obj/item/book/manual/wiki/engineering_guide, /obj/effect/spawner/lootdrop/maintenance, @@ -66584,20 +71226,14 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port) -"cJz" = ( +"cOG" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port) -"cJA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/port) -"cJB" = ( +"cOH" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-4" @@ -66608,7 +71244,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port) -"cJC" = ( +"cOI" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -66625,7 +71261,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cJD" = ( +"cOJ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -66634,7 +71270,7 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cJE" = ( +"cOK" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -66647,7 +71283,7 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cJF" = ( +"cOL" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -66657,14 +71293,14 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cJG" = ( +"cOM" = ( /mob/living/simple_animal/slime, /turf/open/floor/circuit/green, /area/science/xenobiology) -"cJH" = ( +"cON" = ( /turf/open/floor/circuit/green, /area/science/xenobiology) -"cJI" = ( +"cOO" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 2; external_pressure_bound = 140; @@ -66673,10 +71309,10 @@ }, /turf/open/floor/circuit/killroom, /area/science/xenobiology) -"cJJ" = ( -/turf/open/floor/circuit/telecomms/mainframe, +"cOP" = ( +/turf/open/floor/circuit/killroom, /area/science/xenobiology) -"cJK" = ( +"cOQ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ dir = 2; external_pressure_bound = 120; @@ -66684,14 +71320,14 @@ }, /turf/open/floor/circuit/killroom, /area/science/xenobiology) -"cJL" = ( +"cOR" = ( /turf/closed/wall/r_wall, /area/science/research) -"cJM" = ( +"cOS" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, /area/science/research) -"cJN" = ( +"cOT" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -66708,34 +71344,45 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cJO" = ( +"cOU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/science/research) -"cJP" = ( +"cOV" = ( /turf/closed/wall/r_wall, /area/security/checkpoint/science/research) -"cJR" = ( +"cOW" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/obj/structure/sign/poster/official/science{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/whitepurple/corner{ + dir = 1 + }, +/area/science/research) +"cOX" = ( /obj/structure/chair, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/whitepurple/corner{ dir = 1 }, /area/science/research) -"cJS" = ( +"cOY" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/whitepurple/corner{ dir = 1 }, /area/science/research) -"cJT" = ( +"cOZ" = ( /obj/structure/chair, /obj/effect/landmark/start/assistant, /turf/open/floor/plasteel/whitepurple/corner{ dir = 1 }, /area/science/research) -"cJU" = ( +"cPa" = ( /obj/structure/table, /obj/item/folder/white, /obj/item/device/paicard, @@ -66743,7 +71390,7 @@ dir = 1 }, /area/science/research) -"cJV" = ( +"cPb" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light{ dir = 1 @@ -66752,7 +71399,7 @@ dir = 1 }, /area/science/research) -"cJW" = ( +"cPc" = ( /obj/structure/table, /obj/item/stack/cable_coil/white, /obj/item/device/assembly/igniter, @@ -66764,13 +71411,13 @@ dir = 4 }, /area/science/research) -"cJX" = ( +"cPd" = ( /obj/structure/chair, /turf/open/floor/plasteel/whitepurple/corner{ dir = 4 }, /area/science/research) -"cJY" = ( +"cPe" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -66779,19 +71426,19 @@ dir = 4 }, /area/science/research) -"cJZ" = ( +"cPf" = ( /turf/open/floor/plasteel/whitepurple/corner{ dir = 4 }, /area/science/research) -"cKa" = ( +"cPg" = ( /obj/structure/chair, /obj/effect/landmark/start/assistant, /turf/open/floor/plasteel/whitepurple/corner{ dir = 4 }, /area/science/research) -"cKb" = ( +"cPh" = ( /obj/structure/table, /obj/item/clothing/gloves/color/latex, /obj/item/clothing/glasses/science, @@ -66799,26 +71446,26 @@ dir = 4 }, /area/science/research) -"cKc" = ( +"cPi" = ( /obj/structure/sign/science, /turf/closed/wall, /area/science/research) -"cKd" = ( +"cPj" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral/corner{ dir = 8 }, /area/hallway/primary/aft) -"cKe" = ( +"cPk" = ( /turf/open/floor/plasteel/neutral, /area/hallway/primary/aft) -"cKf" = ( +"cPl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/blue/corner, /area/hallway/primary/aft) -"cKg" = ( +"cPm" = ( /obj/structure/table, /obj/item/storage/box/bodybags, /obj/item/pen, @@ -66826,25 +71473,25 @@ dir = 1 }, /area/medical/medbay/central) -"cKh" = ( +"cPn" = ( /obj/structure/chair, /obj/effect/landmark/start/assistant, /turf/open/floor/plasteel/whiteblue/corner{ dir = 1 }, /area/medical/medbay/central) -"cKi" = ( +"cPo" = ( /turf/open/floor/plasteel/whiteblue/corner{ dir = 1 }, /area/medical/medbay/central) -"cKj" = ( +"cPp" = ( /obj/structure/chair, /turf/open/floor/plasteel/whiteblue/corner{ dir = 1 }, /area/medical/medbay/central) -"cKk" = ( +"cPq" = ( /obj/structure/table, /obj/item/reagent_containers/glass/bottle/charcoal{ pixel_x = 6 @@ -66855,7 +71502,7 @@ dir = 1 }, /area/medical/medbay/central) -"cKl" = ( +"cPr" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light{ dir = 1 @@ -66864,7 +71511,7 @@ dir = 1 }, /area/medical/medbay/central) -"cKm" = ( +"cPs" = ( /obj/structure/table, /obj/item/stack/medical/gauze, /obj/item/stack/medical/bruise_pack, @@ -66873,31 +71520,31 @@ dir = 4 }, /area/medical/medbay/central) -"cKn" = ( +"cPt" = ( /obj/structure/chair, /obj/effect/landmark/start/assistant, /turf/open/floor/plasteel/whiteblue/corner{ dir = 4 }, /area/medical/medbay/central) -"cKo" = ( +"cPu" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/whiteblue/corner{ dir = 4 }, /area/medical/medbay/central) -"cKp" = ( +"cPv" = ( /turf/open/floor/plasteel/whiteblue/corner{ dir = 4 }, /area/medical/medbay/central) -"cKq" = ( +"cPw" = ( /obj/structure/chair, /turf/open/floor/plasteel/whiteblue/corner{ dir = 4 }, /area/medical/medbay/central) -"cKr" = ( +"cPx" = ( /obj/structure/table, /obj/item/storage/firstaid/regular, /obj/item/device/radio/intercom{ @@ -66909,10 +71556,10 @@ dir = 4 }, /area/medical/medbay/central) -"cKs" = ( +"cPy" = ( /turf/closed/wall, /area/medical/medbay/central) -"cKt" = ( +"cPz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/fueltank, @@ -66921,21 +71568,21 @@ heat_capacity = 1e+006 }, /area/maintenance/starboard/aft) -"cKu" = ( +"cPA" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/watertank, /obj/item/reagent_containers/glass/bucket, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cKv" = ( +"cPB" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cKw" = ( +"cPC" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard/aft) -"cKx" = ( +"cPD" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -66954,7 +71601,7 @@ dir = 4 }, /area/medical/storage) -"cKy" = ( +"cPE" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -66968,7 +71615,7 @@ dir = 1 }, /area/medical/storage) -"cKz" = ( +"cPF" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -66979,7 +71626,7 @@ dir = 1 }, /area/medical/storage) -"cKA" = ( +"cPG" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -66987,15 +71634,14 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/neutral/side{ dir = 8; heat_capacity = 1e+006 }, /area/medical/storage) -"cKB" = ( +"cPH" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -67018,7 +71664,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"cKC" = ( +"cPI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -67031,13 +71677,12 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"cKD" = ( +"cPJ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -67047,7 +71692,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cKE" = ( +"cPK" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -67056,7 +71701,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cKF" = ( +"cPL" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -67064,12 +71709,11 @@ dir = 1 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/blue/corner, /area/maintenance/starboard/aft) -"cKG" = ( +"cPM" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -67082,7 +71726,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"cKH" = ( +"cPN" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch/abandoned{ name = "Maintenance Hatch"; @@ -67105,7 +71749,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"cKI" = ( +"cPO" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -67114,20 +71758,34 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"cKJ" = ( +"cPP" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cKK" = ( +"cPQ" = ( +/obj/machinery/button/door{ + id = "Dorm4"; + name = "Dormitory Door Lock"; + normaldoorcontrol = 1; + pixel_x = -26; + pixel_y = 7; + req_access_txt = "0"; + specialfunctions = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/wood, +/area/crew_quarters/dorms) +"cPR" = ( /obj/structure/dresser, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -67139,7 +71797,7 @@ }, /turf/open/floor/wood, /area/crew_quarters/dorms) -"cKL" = ( +"cPS" = ( /obj/machinery/button/door{ id = "Dorm5"; name = "Dormitory Door Lock"; @@ -67154,7 +71812,7 @@ }, /turf/open/floor/carpet, /area/crew_quarters/dorms) -"cKM" = ( +"cPT" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -67166,7 +71824,7 @@ }, /turf/open/floor/carpet, /area/crew_quarters/dorms) -"cKN" = ( +"cPU" = ( /obj/structure/table/wood, /obj/item/folder/blue, /obj/item/pen/blue, @@ -67184,7 +71842,10 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/dorms) -"cKO" = ( +"cPV" = ( +/turf/open/floor/plasteel/grimy, +/area/crew_quarters/dorms) +"cPW" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /obj/item/device/radio/intercom{ @@ -67197,18 +71858,18 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/dorms) -"cKP" = ( +"cPX" = ( /obj/machinery/vending/cola/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) -"cKQ" = ( +"cPY" = ( /turf/open/floor/plasteel/neutral/side{ dir = 1 }, /area/crew_quarters/fitness/recreation) -"cKR" = ( +"cPZ" = ( /obj/structure/chair{ dir = 1 }, @@ -67216,16 +71877,16 @@ dir = 1 }, /area/crew_quarters/fitness/recreation) -"cKS" = ( +"cQa" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/fitness/recreation) -"cKT" = ( +"cQb" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/crew_quarters/fitness/recreation) -"cKU" = ( +"cQc" = ( /obj/structure/rack, /obj/item/clothing/gloves/color/black, /obj/item/crowbar/red, @@ -67237,7 +71898,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cKV" = ( +"cQd" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/splatter, /obj/effect/turf_decal/stripes/line{ @@ -67245,7 +71906,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cKW" = ( +"cQe" = ( /obj/machinery/atmospherics/components/binary/valve, /obj/machinery/airalarm{ dir = 4; @@ -67257,36 +71918,36 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cKX" = ( +"cQf" = ( /obj/machinery/atmospherics/components/binary/valve, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cKY" = ( +"cQg" = ( /obj/machinery/atmospherics/pipe/simple/supply/visible, /turf/open/floor/plasteel/caution{ dir = 8 }, /area/maintenance/department/electrical) -"cKZ" = ( +"cQh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/caution{ dir = 4 }, /area/maintenance/department/electrical) -"cLa" = ( +"cQi" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cLb" = ( +"cQj" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cLc" = ( +"cQk" = ( /obj/item/book/manual/wiki/engineering_hacking{ pixel_x = -3; pixel_y = 3 @@ -67300,26 +71961,26 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cLd" = ( +"cQl" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cLe" = ( +"cQm" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cLf" = ( +"cQn" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cLg" = ( +"cQo" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -67332,7 +71993,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cLh" = ( +"cQp" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -67343,7 +72004,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cLi" = ( +"cQq" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -67353,14 +72014,14 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cLj" = ( +"cQr" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cLk" = ( +"cQs" = ( /obj/machinery/cell_charger, /obj/structure/table/reinforced, /obj/item/stock_parts/cell/high, @@ -67376,7 +72037,7 @@ }, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cLl" = ( +"cQt" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -67386,7 +72047,7 @@ dir = 8 }, /area/maintenance/port) -"cLm" = ( +"cQu" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -67404,7 +72065,7 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cLn" = ( +"cQv" = ( /obj/structure/disposaloutlet{ dir = 1 }, @@ -67413,25 +72074,25 @@ dir = 1 }, /area/science/xenobiology) -"cLo" = ( +"cQw" = ( /obj/machinery/atmospherics/pipe/manifold/general/hidden{ dir = 8 }, /turf/open/floor/plasteel/vault/killroom, /area/science/xenobiology) -"cLp" = ( +"cQx" = ( /obj/machinery/atmospherics/pipe/simple/general/hidden{ dir = 4 }, /turf/open/floor/plasteel/vault/killroom, /area/science/xenobiology) -"cLq" = ( +"cQy" = ( /obj/machinery/atmospherics/pipe/simple/general/hidden{ dir = 9 }, /turf/open/floor/plasteel/vault/killroom, /area/science/xenobiology) -"cLr" = ( +"cQz" = ( /obj/structure/closet/wardrobe/science_white, /obj/machinery/light/small{ dir = 8 @@ -67440,13 +72101,16 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research) -"cLs" = ( +"cQA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/airalarm{ + pixel_y = 23 + }, /turf/open/floor/plasteel/whitepurple/corner{ dir = 1 }, /area/science/research) -"cLt" = ( +"cQB" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -67454,17 +72118,17 @@ dir = 1 }, /area/science/research) -"cLu" = ( +"cQC" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whitepurple/corner{ dir = 4 }, /area/science/research) -"cLv" = ( +"cQD" = ( /turf/closed/wall, /area/security/checkpoint/science/research) -"cLw" = ( +"cQE" = ( /obj/structure/closet/secure_closet/security/science, /obj/machinery/firealarm{ dir = 8; @@ -67481,7 +72145,7 @@ dir = 9 }, /area/security/checkpoint/science/research) -"cLx" = ( +"cQF" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, /obj/machinery/light{ @@ -67495,7 +72159,7 @@ dir = 1 }, /area/security/checkpoint/science/research) -"cLy" = ( +"cQG" = ( /obj/structure/table/reinforced, /obj/item/book/manual/wiki/security_space_law, /obj/item/device/radio, @@ -67509,7 +72173,7 @@ dir = 5 }, /area/security/checkpoint/science/research) -"cLz" = ( +"cQH" = ( /obj/structure/table, /obj/item/folder/white, /obj/item/device/assembly/infra, @@ -67517,54 +72181,52 @@ dir = 1 }, /area/science/research) -"cLA" = ( +"cQI" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/science/research) -"cLB" = ( +"cQJ" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/purple, /area/science/research) -"cLC" = ( +"cQK" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/neutral, /area/science/research) -"cLD" = ( +"cQL" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/purple, /area/science/research) -"cLE" = ( +"cQM" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/science/research) -"cLF" = ( +"cQN" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/holopad, /turf/open/floor/plasteel/purple, /area/science/research) -"cLG" = ( +"cQO" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/neutral, /area/science/research) -"cLH" = ( +"cQP" = ( /turf/open/floor/plasteel/purple, /area/science/research) -"cLI" = ( +"cQQ" = ( /turf/open/floor/plasteel/neutral, /area/science/research) -"cLJ" = ( +"cQR" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, @@ -67572,7 +72234,7 @@ dir = 4 }, /area/science/research) -"cLK" = ( +"cQS" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, @@ -67580,21 +72242,25 @@ dir = 1 }, /area/medical/medbay/central) -"cLL" = ( +"cQT" = ( /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"cLM" = ( +"cQU" = ( /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"cLN" = ( +"cQV" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/medical/medbay/central) +"cQW" = ( /obj/machinery/holopad, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"cLO" = ( +"cQX" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"cLP" = ( +"cQY" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-22" }, @@ -67602,7 +72268,7 @@ dir = 4 }, /area/medical/medbay/central) -"cLQ" = ( +"cQZ" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/button/door{ desc = "A remote control switch for the medbay foyer."; @@ -67616,30 +72282,30 @@ dir = 1 }, /area/medical/medbay/central) -"cLR" = ( +"cRa" = ( /obj/structure/bed/roller, /obj/machinery/iv_drip, /turf/open/floor/plasteel/whiteblue/side{ dir = 1 }, /area/medical/medbay/central) -"cLS" = ( +"cRb" = ( /obj/structure/bed/roller, /obj/machinery/iv_drip, /turf/open/floor/plasteel/whiteblue/corner{ dir = 4 }, /area/medical/medbay/central) -"cLT" = ( +"cRc" = ( /turf/closed/wall, /area/security/checkpoint/medical) -"cLU" = ( +"cRd" = ( /turf/closed/wall/r_wall, /area/security/checkpoint/medical) -"cLV" = ( +"cRe" = ( /turf/closed/wall, /area/medical/storage) -"cLW" = ( +"cRf" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light{ dir = 8 @@ -67648,22 +72314,22 @@ dir = 4 }, /area/medical/storage) -"cLX" = ( +"cRg" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/cmo, /area/medical/storage) -"cLY" = ( +"cRh" = ( /turf/open/floor/plasteel/cmo, /area/medical/storage) -"cLZ" = ( +"cRi" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, /turf/open/floor/plasteel/cmo, /area/medical/storage) -"cMa" = ( +"cRj" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -67671,7 +72337,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/medical/storage) -"cMb" = ( +"cRk" = ( /obj/structure/plasticflaps{ opacity = 1 }, @@ -67687,7 +72353,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/medical/storage) -"cMc" = ( +"cRl" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -67695,20 +72361,20 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"cMd" = ( +"cRm" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cMe" = ( +"cRn" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cMf" = ( +"cRo" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -67717,7 +72383,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/blue/corner, /area/maintenance/starboard/aft) -"cMg" = ( +"cRp" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -67725,7 +72391,7 @@ /obj/machinery/space_heater, /turf/open/floor/plasteel/blue, /area/maintenance/starboard/aft) -"cMh" = ( +"cRq" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -67737,17 +72403,17 @@ dir = 8 }, /area/maintenance/starboard/aft) -"cMi" = ( +"cRr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cMj" = ( +"cRs" = ( /obj/structure/bed, /obj/item/bedsheet/clown, /turf/open/floor/wood, /area/crew_quarters/dorms) -"cMk" = ( +"cRt" = ( /obj/structure/table/wood, /obj/item/storage/briefcase{ pixel_x = 3; @@ -67760,7 +72426,7 @@ /obj/item/cane, /turf/open/floor/carpet, /area/crew_quarters/dorms) -"cMl" = ( +"cRu" = ( /obj/structure/chair/office/dark{ dir = 1 }, @@ -67769,7 +72435,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/dorms) -"cMm" = ( +"cRv" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/structure/sign/nanotrasen{ pixel_x = 32; @@ -67777,7 +72443,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/dorms) -"cMn" = ( +"cRw" = ( /obj/machinery/vending/snack/random, /obj/structure/extinguisher_cabinet{ pixel_x = -26 @@ -67786,24 +72452,19 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) -"cMo" = ( +"cRx" = ( /obj/structure/chair{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/fitness/recreation) -"cMp" = ( +"cRy" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port) -"cMq" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/maintenance/port) -"cMr" = ( +"cRz" = ( /obj/machinery/atmospherics/pipe/simple/supply/visible{ dir = 5 }, @@ -67816,14 +72477,14 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cMs" = ( +"cRA" = ( /obj/machinery/atmospherics/pipe/manifold/supply/visible, /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cMt" = ( +"cRB" = ( /obj/machinery/atmospherics/pipe/manifold/supply/visible{ dir = 4 }, @@ -67832,12 +72493,12 @@ dir = 8 }, /area/maintenance/department/electrical) -"cMu" = ( +"cRC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cMv" = ( +"cRD" = ( /obj/machinery/light/small{ dir = 4 }, @@ -67848,36 +72509,38 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cMw" = ( +"cRE" = ( /obj/machinery/status_display, /turf/closed/wall, /area/maintenance/department/electrical) -"cMx" = ( -/obj/machinery/computer/atmos_alert, +"cRF" = ( +/obj/machinery/computer/atmos_alert{ + dir = 4 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cMy" = ( +"cRG" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cMz" = ( +"cRH" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cMA" = ( +"cRI" = ( /obj/effect/decal/cleanable/oil, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/maintenance/department/electrical) -"cMB" = ( +"cRJ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, @@ -67886,13 +72549,13 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/department/electrical) -"cMC" = ( +"cRK" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, /turf/open/floor/plasteel/neutral, /area/maintenance/department/electrical) -"cMD" = ( +"cRL" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ @@ -67900,18 +72563,18 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/department/electrical) -"cME" = ( +"cRM" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cMF" = ( +"cRN" = ( /obj/machinery/space_heater, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cMG" = ( +"cRO" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -67920,14 +72583,14 @@ dir = 8 }, /area/maintenance/port) -"cMH" = ( +"cRP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 4 }, /area/maintenance/port) -"cMJ" = ( +"cRQ" = ( /obj/machinery/light{ dir = 1 }, @@ -67935,7 +72598,7 @@ dir = 5 }, /area/science/xenobiology) -"cMK" = ( +"cRR" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -67945,14 +72608,14 @@ /obj/machinery/shieldwallgen/xenobiologyaccess, /turf/open/floor/plating, /area/science/xenobiology) -"cML" = ( +"cRS" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/xenobiology) -"cMM" = ( +"cRT" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -67971,7 +72634,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/xenobiology) -"cMN" = ( +"cRU" = ( /obj/machinery/light_switch{ pixel_x = 26; pixel_y = 26 @@ -67983,7 +72646,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cMO" = ( +"cRV" = ( /obj/structure/table, /obj/machinery/light{ dir = 1 @@ -67997,7 +72660,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cMP" = ( +"cRW" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -68008,7 +72671,7 @@ }, /turf/open/floor/plating, /area/science/xenobiology) -"cMQ" = ( +"cRX" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -68028,7 +72691,7 @@ dir = 8 }, /area/science/xenobiology) -"cMR" = ( +"cRY" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -68040,7 +72703,7 @@ }, /turf/open/floor/plating, /area/science/xenobiology) -"cMS" = ( +"cRZ" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -68051,7 +72714,7 @@ }, /turf/open/floor/plating, /area/science/xenobiology) -"cMT" = ( +"cSa" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -68071,7 +72734,7 @@ dir = 8 }, /area/science/xenobiology) -"cMU" = ( +"cSb" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -68083,7 +72746,7 @@ }, /turf/open/floor/plating, /area/science/xenobiology) -"cMV" = ( +"cSc" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -68094,7 +72757,7 @@ }, /turf/open/floor/plating, /area/science/xenobiology) -"cMW" = ( +"cSd" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -68114,7 +72777,7 @@ dir = 8 }, /area/science/xenobiology) -"cMX" = ( +"cSe" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -68126,7 +72789,7 @@ }, /turf/open/floor/plating, /area/science/xenobiology) -"cMY" = ( +"cSf" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -68134,7 +72797,7 @@ /obj/machinery/atmospherics/pipe/simple/general/hidden, /turf/open/floor/plating, /area/science/xenobiology) -"cMZ" = ( +"cSg" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -68153,33 +72816,39 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cNa" = ( +"cSh" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/science/xenobiology) -"cNb" = ( +"cSi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/whitepurple/corner{ + dir = 1 + }, +/area/science/research) +"cSj" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/purple, /area/science/research) -"cNc" = ( +"cSk" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whitepurple/corner{ dir = 4 }, /area/science/research) -"cNd" = ( +"cSl" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/science/research) -"cNe" = ( +"cSm" = ( /obj/machinery/light_switch{ pixel_x = -38; pixel_y = 26 @@ -68189,16 +72858,18 @@ dir = 8 }, /area/security/checkpoint/science/research) -"cNf" = ( +"cSn" = ( /turf/open/floor/plasteel/neutral, /area/security/checkpoint/science/research) -"cNg" = ( -/obj/machinery/computer/secure_data, +"cSo" = ( +/obj/machinery/computer/secure_data{ + dir = 8 + }, /turf/open/floor/plasteel/red/side{ dir = 6 }, /area/security/checkpoint/science/research) -"cNh" = ( +"cSp" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-22" }, @@ -68206,58 +72877,56 @@ dir = 1 }, /area/science/research) -"cNi" = ( +"cSq" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"cNj" = ( +"cSr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"cNk" = ( +"cSs" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"cNl" = ( +"cSt" = ( /obj/effect/landmark/lightsout, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"cNm" = ( +"cSu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"cNn" = ( +"cSv" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"cNo" = ( +"cSw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/purple, /area/science/research) -"cNp" = ( +"cSx" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -68265,7 +72934,7 @@ dir = 4 }, /area/science/research) -"cNq" = ( +"cSy" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -68278,7 +72947,7 @@ }, /turf/open/floor/plasteel, /area/science/research) -"cNr" = ( +"cSz" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -68288,18 +72957,18 @@ dir = 8 }, /area/hallway/primary/aft) -"cNs" = ( +"cSA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/aft) -"cNt" = ( +"cSB" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/blue/corner, /area/hallway/primary/aft) -"cNu" = ( +"cSC" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -68312,7 +72981,7 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"cNv" = ( +"cSD" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -68320,33 +72989,33 @@ dir = 1 }, /area/medical/medbay/central) -"cNw" = ( +"cSE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"cNx" = ( +"cSF" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/cmo, /area/medical/medbay/central) -"cNy" = ( +"cSG" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/cmo, /area/medical/medbay/central) -"cNz" = ( +"cSH" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/cmo, /area/medical/medbay/central) -"cNA" = ( +"cSI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -68354,7 +73023,7 @@ dir = 4 }, /area/medical/medbay/central) -"cNB" = ( +"cSJ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_medical{ id_tag = "MedbayFoyer"; @@ -68372,13 +73041,13 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"cNC" = ( +"cSK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"cND" = ( +"cSL" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, @@ -68386,7 +73055,7 @@ dir = 4 }, /area/medical/medbay/central) -"cNE" = ( +"cSM" = ( /obj/machinery/status_display{ pixel_y = 32 }, @@ -68416,7 +73085,7 @@ dir = 9 }, /area/security/checkpoint/medical) -"cNF" = ( +"cSN" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, /obj/machinery/light{ @@ -68430,7 +73099,7 @@ dir = 1 }, /area/security/checkpoint/medical) -"cNG" = ( +"cSO" = ( /obj/machinery/ai_status_display{ pixel_y = 32 }, @@ -68450,7 +73119,7 @@ dir = 5 }, /area/security/checkpoint/medical) -"cNH" = ( +"cSP" = ( /obj/structure/table, /obj/item/storage/box/bodybags{ pixel_x = 3; @@ -68464,7 +73133,7 @@ dir = 1 }, /area/medical/medbay/central) -"cNI" = ( +"cSQ" = ( /obj/structure/table, /obj/item/storage/box/gloves{ pixel_x = 3; @@ -68479,7 +73148,7 @@ dir = 1 }, /area/medical/medbay/central) -"cNJ" = ( +"cSR" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/item/storage/pod{ pixel_x = 32; @@ -68492,11 +73161,11 @@ dir = 4 }, /area/medical/medbay/central) -"cNK" = ( +"cSS" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/medical/storage) -"cNL" = ( +"cST" = ( /obj/structure/table/glass, /obj/item/storage/firstaid/fire{ pixel_x = 6; @@ -68515,15 +73184,15 @@ dir = 4 }, /area/medical/storage) -"cNM" = ( +"cSU" = ( /obj/effect/landmark/start/medical_doctor, /turf/open/floor/plasteel/cmo, /area/medical/storage) -"cNN" = ( +"cSV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/cmo, /area/medical/storage) -"cNO" = ( +"cSW" = ( /obj/structure/table/glass, /obj/item/storage/firstaid/toxin{ pixel_x = 6; @@ -68550,11 +73219,11 @@ heat_capacity = 1e+006 }, /area/medical/storage) -"cNP" = ( +"cSX" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/medical/medbay/central) -"cNQ" = ( +"cSY" = ( /obj/machinery/door/airlock{ name = "Medbay Auxiliary Storage"; req_access_txt = "5" @@ -68571,7 +73240,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"cNR" = ( +"cSZ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -68579,7 +73248,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cNS" = ( +"cTa" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, @@ -68588,16 +73257,16 @@ }, /turf/open/floor/wood, /area/crew_quarters/dorms) -"cNT" = ( +"cTb" = ( /obj/structure/chair/office/dark, /turf/open/floor/wood, /area/crew_quarters/dorms) -"cNU" = ( +"cTc" = ( /obj/structure/bed, /obj/item/bedsheet/mime, /turf/open/floor/plasteel/grimy, /area/crew_quarters/dorms) -"cNV" = ( +"cTd" = ( /obj/structure/table, /obj/item/storage/fancy/donut_box, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -68605,29 +73274,29 @@ dir = 8 }, /area/crew_quarters/fitness/recreation) -"cNW" = ( +"cTe" = ( /obj/structure/chair/stool, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cNX" = ( +"cTf" = ( /obj/structure/table, /obj/item/folder, /obj/item/razor, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cNY" = ( +"cTg" = ( /obj/structure/table, /obj/item/clothing/under/sl_suit{ name = "referee suit" }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cNZ" = ( +"cTh" = ( /obj/structure/table, /obj/item/storage/briefcase, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cOa" = ( +"cTi" = ( /obj/machinery/camera{ c_tag = "Holodeck - Aft"; dir = 1; @@ -68637,7 +73306,7 @@ name = "Holodeck Projector Floor" }, /area/holodeck/rec_center) -"cOb" = ( +"cTj" = ( /obj/structure/table, /obj/item/extinguisher/mini, /obj/item/tank/internals/emergency_oxygen/engi, @@ -68650,7 +73319,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cOc" = ( +"cTk" = ( /obj/machinery/space_heater, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -68658,7 +73327,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cOd" = ( +"cTl" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -68666,7 +73335,7 @@ dir = 8 }, /area/maintenance/port) -"cOe" = ( +"cTm" = ( /obj/machinery/status_display{ pixel_x = -32 }, @@ -68674,12 +73343,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cOf" = ( +"cTn" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cOg" = ( +"cTo" = ( /obj/machinery/atmospherics/components/binary/volume_pump{ name = "Ports to Distro" }, @@ -68688,13 +73357,13 @@ dir = 8 }, /area/maintenance/department/electrical) -"cOh" = ( +"cTp" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /turf/open/floor/plasteel/caution{ dir = 4 }, /area/maintenance/department/electrical) -"cOi" = ( +"cTq" = ( /obj/structure/table/reinforced, /obj/item/device/analyzer{ pixel_x = 7; @@ -68703,12 +73372,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cOj" = ( -/obj/machinery/computer/monitor, +"cTr" = ( +/obj/machinery/computer/monitor{ + dir = 4 + }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cOk" = ( +"cTs" = ( /obj/structure/chair/office/light{ dir = 8 }, @@ -68718,10 +73389,10 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cOl" = ( +"cTt" = ( /turf/open/floor/plasteel/neutral, /area/maintenance/department/electrical) -"cOm" = ( +"cTu" = ( /obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "1-2" @@ -68729,16 +73400,16 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cOn" = ( +"cTv" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/maintenance/department/electrical) -"cOo" = ( +"cTw" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cOp" = ( +"cTx" = ( /obj/machinery/door/airlock/engineering{ name = "Engineering Auxiliary Power"; req_access_txt = "10" @@ -68751,7 +73422,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cOq" = ( +"cTy" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -68759,16 +73430,16 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port) -"cOr" = ( +"cTz" = ( /obj/effect/decal/remains/xeno, /obj/effect/decal/cleanable/xenoblood, /turf/open/floor/circuit/green, /area/science/xenobiology) -"cOs" = ( +"cTA" = ( /obj/structure/sign/electricshock, /turf/closed/wall/r_wall, /area/science/xenobiology) -"cOt" = ( +"cTB" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -68779,7 +73450,7 @@ }, /turf/open/floor/plating, /area/science/xenobiology) -"cOu" = ( +"cTC" = ( /obj/structure/table/reinforced, /obj/machinery/computer/security/telescreen{ dir = 4; @@ -68788,7 +73459,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cOv" = ( +"cTD" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -68798,14 +73469,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cOw" = ( +"cTE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/science/xenobiology) -"cOx" = ( +"cTF" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 @@ -68813,11 +73484,11 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cOy" = ( +"cTG" = ( /obj/structure/sign/xenobio, /turf/closed/wall, /area/science/xenobiology) -"cOz" = ( +"cTH" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced{ dir = 4 @@ -68830,7 +73501,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cOA" = ( +"cTI" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -68842,23 +73513,22 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/xenobiology) -"cOB" = ( +"cTJ" = ( /obj/structure/window/reinforced{ dir = 8 }, /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ - icon_state = "pipe-t"; dir = 1 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cOC" = ( +"cTK" = ( /obj/structure/sign/electricshock, /turf/closed/wall, /area/science/xenobiology) -"cOD" = ( +"cTL" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced{ dir = 4 @@ -68871,7 +73541,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cOE" = ( +"cTM" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -68881,13 +73551,12 @@ pixel_y = 32 }, /obj/structure/disposalpipe/trunk{ - icon_state = "pipe-t"; dir = 1 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cOF" = ( +"cTN" = ( /obj/structure/sign/directions/engineering{ desc = "A sign that shows there are doors here. There are doors everywhere!"; icon_state = "doors"; @@ -68895,7 +73564,7 @@ }, /turf/closed/wall, /area/science/xenobiology) -"cOG" = ( +"cTO" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced{ dir = 4 @@ -68912,11 +73581,11 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cOH" = ( +"cTP" = ( /obj/structure/sign/biohazard, /turf/closed/wall, /area/science/xenobiology) -"cOI" = ( +"cTQ" = ( /obj/machinery/monkey_recycler, /obj/structure/extinguisher_cabinet{ pixel_y = 32 @@ -68924,7 +73593,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cOJ" = ( +"cTR" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 1; min_temperature = 80; @@ -68934,24 +73603,23 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cOK" = ( +"cTS" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/xenobiology) -"cOL" = ( -/obj/machinery/chem_master, +"cTT" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cOM" = ( +"cTU" = ( /obj/effect/turf_decal/delivery, /obj/machinery/chem_master, /turf/open/floor/plasteel, /area/science/xenobiology) -"cON" = ( +"cTV" = ( /obj/structure/table/reinforced, /obj/item/storage/box/beakers{ pixel_x = 3; @@ -68966,7 +73634,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/xenobiology) -"cOO" = ( +"cTW" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, @@ -68974,7 +73642,7 @@ dir = 1 }, /area/science/research) -"cOP" = ( +"cTX" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -68983,7 +73651,7 @@ }, /turf/open/floor/plasteel/neutral, /area/science/research) -"cOQ" = ( +"cTY" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -68995,7 +73663,7 @@ dir = 4 }, /area/science/research) -"cOR" = ( +"cTZ" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -69021,7 +73689,7 @@ }, /turf/open/floor/plasteel, /area/security/checkpoint/science/research) -"cOS" = ( +"cUa" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -69032,7 +73700,7 @@ dir = 8 }, /area/security/checkpoint/science/research) -"cOT" = ( +"cUb" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -69044,14 +73712,16 @@ }, /turf/open/floor/plasteel/neutral, /area/security/checkpoint/science/research) -"cOU" = ( +"cUc" = ( /obj/structure/cable/white{ icon_state = "4-8" }, -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 8 + }, /turf/open/floor/plasteel/red, /area/security/checkpoint/science/research) -"cOV" = ( +"cUd" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-2" @@ -69062,25 +73732,25 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/science/research) -"cOW" = ( +"cUe" = ( /turf/open/floor/plasteel/whitepurple/corner{ dir = 8 }, /area/science/research) -"cOX" = ( +"cUf" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/science/research) -"cOY" = ( +"cUg" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/whitepurple/corner{ dir = 1 }, /area/science/research) -"cOZ" = ( +"cUh" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -69090,7 +73760,7 @@ dir = 1 }, /area/science/research) -"cPa" = ( +"cUi" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -69098,7 +73768,7 @@ dir = 1 }, /area/science/research) -"cPb" = ( +"cUj" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -69108,7 +73778,7 @@ dir = 1 }, /area/science/research) -"cPc" = ( +"cUk" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -69120,19 +73790,19 @@ dir = 1 }, /area/science/research) -"cPd" = ( +"cUl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/science/research) -"cPe" = ( +"cUm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"cPf" = ( +"cUn" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -69145,34 +73815,33 @@ }, /turf/open/floor/plasteel, /area/science/research) -"cPg" = ( +"cUo" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral/corner{ dir = 8 }, /area/hallway/primary/aft) -"cPh" = ( +"cUp" = ( /obj/effect/landmark/lightsout, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/aft) -"cPi" = ( +"cUq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 1; - icon_state = "pipe-j1s"; name = "Chemistry Junction"; sortType = 11 }, /turf/open/floor/plasteel/blue/corner, /area/hallway/primary/aft) -"cPj" = ( +"cUr" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -69188,7 +73857,7 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"cPk" = ( +"cUs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -69199,7 +73868,7 @@ dir = 8 }, /area/medical/medbay/central) -"cPl" = ( +"cUt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -69208,7 +73877,7 @@ }, /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"cPm" = ( +"cUu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -69217,37 +73886,43 @@ }, /turf/open/floor/plasteel/cmo, /area/medical/medbay/central) -"cPn" = ( +"cUv" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/cmo, /area/medical/medbay/central) -"cPo" = ( +"cUw" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/cmo, /area/medical/medbay/central) -"cPp" = ( +"cUx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/cmo, /area/medical/medbay/central) -"cPq" = ( +"cUy" = ( /obj/effect/landmark/lightsout, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/cmo, /area/medical/medbay/central) -"cPr" = ( +"cUz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/cmo, +/area/medical/medbay/central) +"cUA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -69255,12 +73930,11 @@ dir = 1 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/cmo, /area/medical/medbay/central) -"cPs" = ( +"cUB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -69269,7 +73943,7 @@ }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"cPt" = ( +"cUC" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_medical{ id_tag = "MedbayFoyer"; @@ -69290,7 +73964,7 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"cPu" = ( +"cUD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, @@ -69301,17 +73975,16 @@ dir = 1 }, /area/medical/medbay/central) -"cPv" = ( +"cUE" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"cPw" = ( +"cUF" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -69319,26 +73992,28 @@ dir = 4 }, /area/medical/medbay/central) -"cPx" = ( +"cUG" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/medical) -"cPy" = ( -/obj/machinery/computer/secure_data, +"cUH" = ( +/obj/machinery/computer/secure_data{ + dir = 4 + }, /turf/open/floor/plasteel/red/side{ dir = 6 }, /area/security/checkpoint/medical) -"cPz" = ( +"cUI" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/security/checkpoint/medical) -"cPA" = ( +"cUJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -69346,7 +74021,7 @@ dir = 4 }, /area/security/checkpoint/medical) -"cPB" = ( +"cUK" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -69356,7 +74031,7 @@ }, /turf/open/floor/plating, /area/security/checkpoint/medical) -"cPC" = ( +"cUL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, @@ -69364,7 +74039,7 @@ dir = 1 }, /area/medical/medbay/central) -"cPD" = ( +"cUM" = ( /obj/structure/table/glass, /obj/item/storage/firstaid/brute{ pixel_x = 6; @@ -69383,13 +74058,13 @@ dir = 4 }, /area/medical/storage) -"cPE" = ( +"cUN" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plasteel/cmo, /area/medical/storage) -"cPF" = ( +"cUO" = ( /obj/structure/table/glass, /obj/item/storage/firstaid/o2{ pixel_x = 6; @@ -69415,7 +74090,7 @@ heat_capacity = 1e+006 }, /area/medical/storage) -"cPG" = ( +"cUP" = ( /obj/structure/toilet{ dir = 4 }, @@ -69434,7 +74109,7 @@ icon_state = "panelscorched" }, /area/medical/medbay/central) -"cPH" = ( +"cUQ" = ( /obj/machinery/door/airlock{ name = "Bathroom" }, @@ -69451,7 +74126,7 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"cPI" = ( +"cUR" = ( /obj/structure/urinal{ pixel_y = 28 }, @@ -69461,14 +74136,33 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"cPJ" = ( +"cUS" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"cPL" = ( +"cUT" = ( +/obj/structure/mirror{ + pixel_x = 26 + }, +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/vomit/old, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/landmark/blobstart, +/obj/structure/sign/poster/official/cleanliness{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/neutral, +/area/medical/medbay/central) +"cUU" = ( /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance{ lootcount = 3; @@ -69477,7 +74171,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cPM" = ( +"cUV" = ( /obj/structure/table/wood, /obj/item/folder, /obj/item/pen, @@ -69488,7 +74182,7 @@ /obj/item/device/paicard, /turf/open/floor/wood, /area/crew_quarters/dorms) -"cPN" = ( +"cUW" = ( /obj/structure/closet/secure_closet/personal/cabinet, /obj/item/clothing/suit/jacket/letterman_nanotrasen, /obj/item/clothing/suit/toggle/lawyer, @@ -69500,7 +74194,7 @@ }, /turf/open/floor/wood, /area/crew_quarters/dorms) -"cPO" = ( +"cUX" = ( /obj/structure/bed, /obj/machinery/light, /obj/item/bedsheet/brown, @@ -69509,7 +74203,7 @@ }, /turf/open/floor/carpet, /area/crew_quarters/dorms) -"cPP" = ( +"cUY" = ( /obj/structure/closet/secure_closet/personal/cabinet, /obj/item/clothing/suit/jacket{ desc = "All the class of a trenchcoat without the security fibers."; @@ -69527,7 +74221,11 @@ }, /turf/open/floor/carpet, /area/crew_quarters/dorms) -"cPQ" = ( +"cUZ" = ( +/obj/structure/dresser, +/turf/open/floor/plasteel/grimy, +/area/crew_quarters/dorms) +"cVa" = ( /obj/structure/closet/secure_closet/personal/cabinet, /obj/machinery/light, /obj/item/clothing/suit/jacket{ @@ -69544,7 +74242,7 @@ /obj/item/clothing/head/rabbitears, /turf/open/floor/plasteel/grimy, /area/crew_quarters/dorms) -"cPR" = ( +"cVb" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/snacks/grown/poppy/lily, /obj/item/reagent_containers/food/snacks/grown/poppy/lily, @@ -69555,7 +74253,7 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/dorms) -"cPS" = ( +"cVc" = ( /obj/structure/table, /obj/machinery/light{ dir = 8 @@ -69569,23 +74267,23 @@ dir = 8 }, /area/crew_quarters/fitness/recreation) -"cPT" = ( +"cVd" = ( /obj/structure/table, /obj/item/toy/cards/deck, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cPU" = ( +"cVe" = ( /obj/structure/table, /obj/item/storage/firstaid/regular, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cPV" = ( +"cVf" = ( /obj/structure/table, /obj/item/paper_bin, /obj/item/pen, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cPW" = ( +"cVg" = ( /obj/structure/chair{ dir = 4 }, @@ -69596,35 +74294,35 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/fitness/recreation) -"cPX" = ( +"cVh" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, /turf/open/floor/plating, /area/crew_quarters/fitness/recreation) -"cPY" = ( +"cVi" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plating, /area/crew_quarters/fitness/recreation) -"cPZ" = ( +"cVj" = ( /obj/machinery/status_display, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/crew_quarters/fitness/recreation) -"cQa" = ( +"cVk" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, /turf/open/floor/plating, /area/crew_quarters/fitness/recreation) -"cQb" = ( +"cVl" = ( /obj/structure/rack, /obj/item/clothing/suit/fire/firefighter, /obj/item/clothing/mask/gas, @@ -69636,21 +74334,21 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cQc" = ( +"cVm" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/port) -"cQd" = ( +"cVn" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port) -"cQe" = ( +"cVo" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 6 }, @@ -69663,7 +74361,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cQf" = ( +"cVp" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ dir = 1 }, @@ -69673,7 +74371,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cQg" = ( +"cVq" = ( /obj/machinery/atmospherics/pipe/simple/supply/visible, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 @@ -69683,13 +74381,13 @@ dir = 8 }, /area/maintenance/department/electrical) -"cQh" = ( +"cVr" = ( /obj/machinery/atmospherics/components/trinary/filter, /turf/open/floor/plasteel/caution{ dir = 4 }, /area/maintenance/department/electrical) -"cQi" = ( +"cVs" = ( /obj/machinery/light/small{ dir = 4 }, @@ -69699,12 +74397,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cQj" = ( -/obj/machinery/computer/station_alert, +"cVt" = ( +/obj/machinery/computer/station_alert{ + dir = 4 + }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cQk" = ( +"cVu" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ icon_state = "2-4" @@ -69714,7 +74414,7 @@ }, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cQl" = ( +"cVv" = ( /obj/structure/cable{ icon_state = "0-8" }, @@ -69723,14 +74423,14 @@ }, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cQm" = ( +"cVw" = ( /obj/structure/cable/white, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cQn" = ( +"cVx" = ( /obj/structure/cable{ icon_state = "0-4" }, @@ -69739,7 +74439,7 @@ }, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cQo" = ( +"cVy" = ( /obj/structure/cable{ icon_state = "2-8" }, @@ -69748,27 +74448,27 @@ }, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cQp" = ( +"cVz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cQq" = ( +"cVA" = ( /obj/machinery/light_switch{ pixel_x = 26 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cQr" = ( +"cVB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 4 }, /area/maintenance/port) -"cQs" = ( +"cVC" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-2" @@ -69780,7 +74480,7 @@ }, /turf/open/floor/plating, /area/science/xenobiology) -"cQt" = ( +"cVD" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced, /obj/machinery/button/door{ @@ -69796,7 +74496,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cQu" = ( +"cVE" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -69805,13 +74505,13 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cQv" = ( +"cVF" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/science/xenobiology) -"cQw" = ( +"cVG" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -69819,7 +74519,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/xenobiology) -"cQx" = ( +"cVH" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -69827,16 +74527,19 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cQy" = ( +"cVI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/xenobiology) -"cQz" = ( +"cVJ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -69848,7 +74551,7 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cQA" = ( +"cVK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -69856,7 +74559,7 @@ dir = 1 }, /area/science/xenobiology) -"cQB" = ( +"cVL" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -69867,7 +74570,7 @@ dir = 1 }, /area/science/xenobiology) -"cQC" = ( +"cVM" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light{ dir = 1 @@ -69879,7 +74582,7 @@ dir = 1 }, /area/science/xenobiology) -"cQD" = ( +"cVN" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, @@ -69887,7 +74590,7 @@ dir = 1 }, /area/science/xenobiology) -"cQE" = ( +"cVO" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -69899,7 +74602,7 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cQF" = ( +"cVP" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -69907,7 +74610,7 @@ dir = 9 }, /area/science/xenobiology) -"cQG" = ( +"cVQ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -69918,7 +74621,7 @@ dir = 1 }, /area/science/xenobiology) -"cQH" = ( +"cVR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, @@ -69926,7 +74629,7 @@ dir = 1 }, /area/science/xenobiology) -"cQI" = ( +"cVS" = ( /obj/structure/chair/office/light{ dir = 1 }, @@ -69935,7 +74638,7 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cQJ" = ( +"cVT" = ( /obj/structure/table/reinforced, /obj/item/folder/white, /obj/item/stack/sheet/mineral/plasma{ @@ -69955,13 +74658,13 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cQK" = ( +"cVU" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/plasteel/purple, /area/science/research) -"cQL" = ( +"cVV" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -69969,7 +74672,7 @@ dir = 4 }, /area/science/research) -"cQM" = ( +"cVW" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -69977,7 +74680,7 @@ }, /turf/open/floor/plating, /area/security/checkpoint/science/research) -"cQN" = ( +"cVX" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, @@ -69985,25 +74688,27 @@ dir = 8 }, /area/security/checkpoint/science/research) -"cQO" = ( +"cVY" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/holopad, /turf/open/floor/plasteel/neutral, /area/security/checkpoint/science/research) -"cQP" = ( -/obj/machinery/computer/mecha, +"cVZ" = ( +/obj/machinery/computer/mecha{ + dir = 8 + }, /turf/open/floor/plasteel/red/side{ dir = 5 }, /area/security/checkpoint/science/research) -"cQQ" = ( +"cWa" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/science/research) -"cQR" = ( +"cWb" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, @@ -70011,41 +74716,42 @@ dir = 8 }, /area/science/research) -"cQS" = ( +"cWc" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/purple, /area/science/research) -"cQT" = ( +"cWd" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/purple, /area/science/research) -"cQU" = ( +"cWe" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/science/research) +"cWf" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"cQV" = ( +"cWg" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/junction{ - dir = 1; - icon_state = "pipe-j1" + dir = 1 }, /turf/open/floor/plasteel/blue/corner, /area/hallway/primary/aft) -"cQW" = ( +"cWh" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment{ - icon_state = "pipe-s"; dir = 4 }, /turf/open/floor/plating, /area/medical/medbay/central) -"cQX" = ( +"cWi" = ( /obj/structure/disposalpipe/segment{ - icon_state = "pipe-s"; dir = 4 }, /obj/item/twohanded/required/kirbyplants{ @@ -70055,39 +74761,37 @@ dir = 8 }, /area/medical/medbay/central) -"cQY" = ( +"cWj" = ( /obj/structure/disposalpipe/segment{ - icon_state = "pipe-s"; dir = 4 }, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"cQZ" = ( +"cWk" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"cRa" = ( +"cWl" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"cRb" = ( +"cWm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whiteblue/corner{ dir = 1 }, /area/medical/medbay/central) -"cRc" = ( +"cWn" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/whiteblue/corner{ dir = 4 }, /area/medical/medbay/central) -"cRd" = ( +"cWo" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -70098,14 +74802,16 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/medical) -"cRe" = ( -/obj/machinery/computer/security, +"cWp" = ( +/obj/machinery/computer/security{ + dir = 4 + }, /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/red, /area/security/checkpoint/medical) -"cRf" = ( +"cWq" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -70117,7 +74823,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/checkpoint/medical) -"cRg" = ( +"cWr" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -70125,7 +74831,7 @@ dir = 4 }, /area/security/checkpoint/medical) -"cRh" = ( +"cWs" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-8" @@ -70145,11 +74851,11 @@ }, /turf/open/floor/plasteel, /area/security/checkpoint/medical) -"cRi" = ( +"cWt" = ( /obj/machinery/newscaster, /turf/closed/wall, /area/medical/storage) -"cRj" = ( +"cWu" = ( /obj/structure/table/glass, /obj/item/storage/box/beakers{ pixel_x = 3; @@ -70164,23 +74870,23 @@ dir = 4 }, /area/medical/storage) -"cRk" = ( +"cWv" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/whiteblue/side, /area/medical/storage) -"cRl" = ( +"cWw" = ( /turf/open/floor/plasteel/whiteblue/side, /area/medical/storage) -"cRm" = ( +"cWx" = ( /obj/machinery/light_switch{ pixel_x = 26; pixel_y = -38 }, /turf/open/floor/plasteel/whiteblue/side, /area/medical/storage) -"cRn" = ( +"cWy" = ( /obj/structure/table/glass, /obj/item/storage/belt/medical, /obj/item/storage/belt/medical, @@ -70204,7 +74910,7 @@ heat_capacity = 1e+006 }, /area/medical/storage) -"cRo" = ( +"cWz" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ name = "Bathroom" @@ -70219,7 +74925,7 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"cRp" = ( +"cWA" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -70230,12 +74936,12 @@ dir = 8 }, /area/maintenance/starboard/aft) -"cRq" = ( +"cWB" = ( /obj/structure/girder, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cRr" = ( +"cWC" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -70250,7 +74956,7 @@ dir = 8 }, /area/crew_quarters/fitness/recreation) -"cRs" = ( +"cWD" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -70261,15 +74967,19 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cRt" = ( +"cWE" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cRu" = ( +"cWF" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/crew_quarters/fitness/recreation) +"cWG" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cRv" = ( +"cWH" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -70277,7 +74987,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cRw" = ( +"cWI" = ( /obj/machinery/atmospherics/components/binary/valve{ dir = 1 }, @@ -70289,7 +74999,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cRx" = ( +"cWJ" = ( /obj/machinery/atmospherics/components/binary/valve{ dir = 1 }, @@ -70299,27 +75009,27 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cRy" = ( +"cWK" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cRz" = ( +"cWL" = ( /obj/structure/table/reinforced, /obj/item/folder/yellow, /obj/item/pen, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cRA" = ( +"cWM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cRB" = ( +"cWN" = ( /obj/machinery/power/terminal, /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ @@ -70327,23 +75037,23 @@ }, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cRC" = ( +"cWO" = ( /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cRD" = ( +"cWP" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cRE" = ( +"cWQ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ dir = 1 }, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cRF" = ( +"cWR" = ( /obj/machinery/power/terminal, /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ @@ -70351,21 +75061,21 @@ }, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cRG" = ( +"cWS" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cRH" = ( +"cWT" = ( /obj/structure/sign/nosmoking_2{ pixel_x = 32 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cRI" = ( +"cWU" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -70376,7 +75086,7 @@ dir = 8 }, /area/maintenance/port) -"cRJ" = ( +"cWV" = ( /obj/machinery/camera{ c_tag = "Xenobiology - Secure Cell"; dir = 4; @@ -70387,7 +75097,7 @@ dir = 5 }, /area/science/xenobiology) -"cRK" = ( +"cWW" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -70407,7 +75117,7 @@ dir = 8 }, /area/science/xenobiology) -"cRL" = ( +"cWX" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -70419,7 +75129,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/xenobiology) -"cRM" = ( +"cWY" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -70434,14 +75144,14 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cRN" = ( +"cWZ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/science/xenobiology) -"cRO" = ( +"cXa" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -70449,7 +75159,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/xenobiology) -"cRP" = ( +"cXb" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -70457,9 +75167,12 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cRQ" = ( +"cXc" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -70473,7 +75186,7 @@ }, /turf/open/floor/plasteel/white, /area/science/xenobiology) -"cRR" = ( +"cXd" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -70485,7 +75198,7 @@ }, /turf/open/floor/plasteel/white, /area/science/xenobiology) -"cRS" = ( +"cXe" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -70504,7 +75217,20 @@ }, /turf/open/floor/plasteel/white, /area/science/xenobiology) -"cRT" = ( +"cXf" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/white, +/area/science/xenobiology) +"cXg" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -70520,7 +75246,7 @@ }, /turf/open/floor/plasteel/white, /area/science/xenobiology) -"cRU" = ( +"cXh" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -70535,7 +75261,7 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cRV" = ( +"cXi" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -70543,7 +75269,7 @@ dir = 8 }, /area/science/xenobiology) -"cRW" = ( +"cXj" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -70553,26 +75279,28 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/plasteel/neutral, /area/science/xenobiology) -"cRX" = ( +"cXk" = ( /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/science/xenobiology) -"cRY" = ( +"cXl" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, /area/science/xenobiology) -"cRZ" = ( -/obj/machinery/computer/camera_advanced/xenobio, +"cXm" = ( +/obj/machinery/computer/camera_advanced/xenobio{ + dir = 8 + }, /obj/machinery/status_display{ pixel_x = 32 }, /turf/open/floor/circuit/green, /area/science/xenobiology) -"cSa" = ( +"cXn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/camera{ c_tag = "Science - Fore"; @@ -70584,7 +75312,7 @@ dir = 4 }, /area/science/research) -"cSb" = ( +"cXo" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -70616,7 +75344,7 @@ dir = 10 }, /area/security/checkpoint/science/research) -"cSc" = ( +"cXp" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -70625,7 +75353,7 @@ }, /turf/open/floor/plasteel/red/side, /area/security/checkpoint/science/research) -"cSd" = ( +"cXq" = ( /obj/machinery/airalarm{ dir = 8; pixel_x = 24 @@ -70644,7 +75372,7 @@ dir = 6 }, /area/security/checkpoint/science/research) -"cSe" = ( +"cXr" = ( /obj/structure/table, /obj/item/clipboard, /obj/item/electronics/airlock, @@ -70658,21 +75386,21 @@ dir = 8 }, /area/science/research) -"cSf" = ( +"cXs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/whitepurple/corner{ dir = 8 }, /area/science/research) -"cSg" = ( +"cXt" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/whitepurple/corner{ dir = 8 }, /area/science/research) -"cSh" = ( +"cXu" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-22" }, @@ -70680,7 +75408,7 @@ dir = 8 }, /area/science/research) -"cSi" = ( +"cXv" = ( /obj/structure/table, /obj/machinery/cell_charger, /obj/item/stock_parts/cell/high, @@ -70695,7 +75423,7 @@ dir = 8 }, /area/science/research) -"cSj" = ( +"cXw" = ( /obj/structure/table, /obj/item/device/gps, /obj/item/device/assembly/flash/handheld, @@ -70704,20 +75432,20 @@ }, /turf/open/floor/plasteel/whitepurple/side, /area/science/research) -"cSk" = ( +"cXx" = ( /obj/structure/table, /obj/item/paper_bin, /obj/item/pen, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"cSl" = ( +"cXy" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"cSm" = ( +"cXz" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ dir = 1 @@ -70725,31 +75453,31 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/research) -"cSn" = ( +"cXA" = ( /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"cSo" = ( +"cXB" = ( /obj/machinery/autolathe, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"cSp" = ( +"cXC" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/item/stack/packageWrap, /obj/machinery/light, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"cSq" = ( +"cXD" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/hallway/primary/aft) +"cXE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/aft) -"cSr" = ( +"cXF" = ( /obj/structure/table, /obj/item/paper_bin, /obj/item/pen, @@ -70758,14 +75486,14 @@ dir = 8 }, /area/medical/medbay/central) -"cSs" = ( +"cXG" = ( /obj/structure/table, /obj/item/folder/white, /turf/open/floor/plasteel/whiteblue/corner{ dir = 8 }, /area/medical/medbay/central) -"cSt" = ( +"cXH" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ dir = 1 @@ -70773,12 +75501,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/medbay/central) -"cSu" = ( +"cXI" = ( /turf/open/floor/plasteel/whiteblue/corner{ dir = 8 }, /area/medical/medbay/central) -"cSv" = ( +"cXJ" = ( /obj/structure/disposalpipe/segment, /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" @@ -70787,7 +75515,7 @@ dir = 8 }, /area/medical/medbay/central) -"cSw" = ( +"cXK" = ( /obj/structure/bed/roller, /obj/machinery/airalarm{ dir = 1; @@ -70797,11 +75525,11 @@ dir = 8 }, /area/medical/medbay/central) -"cSx" = ( +"cXL" = ( /obj/structure/bed/roller, /turf/open/floor/plasteel/whiteblue/side, /area/medical/medbay/central) -"cSy" = ( +"cXM" = ( /obj/structure/bed/roller, /obj/structure/sign/chemistry{ pixel_y = -32 @@ -70814,37 +75542,39 @@ }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"cSz" = ( +"cXN" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"cSA" = ( +"cXO" = ( /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"cSB" = ( +"cXP" = ( /obj/structure/table, /obj/item/paper_bin, /obj/item/pen, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"cSC" = ( +"cXQ" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"cSD" = ( +"cXR" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/medical) -"cSE" = ( -/obj/machinery/computer/crew, +"cXS" = ( +/obj/machinery/computer/crew{ + dir = 4 + }, /turf/open/floor/plasteel/red/side{ dir = 5 }, /area/security/checkpoint/medical) -"cSF" = ( +"cXT" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -70854,7 +75584,7 @@ }, /turf/open/floor/plasteel/neutral, /area/security/checkpoint/medical) -"cSG" = ( +"cXU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -70862,7 +75592,7 @@ dir = 4 }, /area/security/checkpoint/medical) -"cSH" = ( +"cXV" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -70870,7 +75600,7 @@ }, /turf/open/floor/plating, /area/security/checkpoint/medical) -"cSI" = ( +"cXW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -70879,7 +75609,7 @@ dir = 1 }, /area/medical/medbay/central) -"cSJ" = ( +"cXX" = ( /obj/structure/sign/bluecross_2{ pixel_x = 32 }, @@ -70890,7 +75620,27 @@ dir = 4 }, /area/medical/medbay/central) -"cSL" = ( +"cXY" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/glass_medical{ + name = "Medbay Storage"; + req_access_txt = "5" + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/structure/sign/poster/official/cleanliness{ + pixel_x = -32 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/medical/storage) +"cXZ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_medical{ name = "Medbay Storage"; @@ -70904,7 +75654,7 @@ }, /turf/open/floor/plasteel, /area/medical/storage) -"cSM" = ( +"cYa" = ( /obj/structure/table/wood, /obj/machinery/microwave{ desc = "Cooks and boils stuff, somehow."; @@ -70915,7 +75665,7 @@ dir = 1 }, /area/medical/medbay/central) -"cSN" = ( +"cYb" = ( /obj/structure/table/wood, /obj/item/storage/box/donkpockets, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -70923,7 +75673,7 @@ dir = 1 }, /area/medical/medbay/central) -"cSO" = ( +"cYc" = ( /obj/machinery/camera{ c_tag = "Medbay - Break Room"; dir = 2; @@ -70936,17 +75686,16 @@ dir = 1 }, /area/medical/medbay/central) -"cSP" = ( +"cYd" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/medical/medbay/central) -"cSQ" = ( +"cYe" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ dir = 8 @@ -70954,19 +75703,19 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/medbay/central) -"cSR" = ( +"cYf" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cSS" = ( +"cYg" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cST" = ( +"cYh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -70976,7 +75725,17 @@ heat_capacity = 1e+006 }, /area/maintenance/starboard/aft) -"cSU" = ( +"cYi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral/side{ + dir = 1; + heat_capacity = 1e+006 + }, +/area/maintenance/starboard/aft) +"cYj" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -70985,7 +75744,7 @@ heat_capacity = 1e+006 }, /area/maintenance/starboard/aft) -"cSV" = ( +"cYk" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/blobstart, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -70993,7 +75752,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cSW" = ( +"cYl" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance{ @@ -71008,7 +75767,7 @@ heat_capacity = 1e+006 }, /area/maintenance/starboard/aft) -"cSX" = ( +"cYm" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -71016,7 +75775,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cSY" = ( +"cYn" = ( /obj/structure/closet/crate, /obj/item/storage/box/donkpockets, /obj/effect/spawner/lootdrop/maintenance, @@ -71028,7 +75787,7 @@ heat_capacity = 1e+006 }, /area/maintenance/starboard/aft) -"cSZ" = ( +"cYo" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 @@ -71038,7 +75797,7 @@ heat_capacity = 1e+006 }, /area/maintenance/starboard/aft) -"cTa" = ( +"cYp" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -71047,49 +75806,49 @@ dir = 5 }, /area/maintenance/starboard/aft) -"cTb" = ( +"cYq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/closed/wall, /area/crew_quarters/fitness/recreation) -"cTc" = ( +"cYr" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/neutral/corner{ dir = 8 }, /area/crew_quarters/fitness/recreation) -"cTd" = ( +"cYs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cTe" = ( +"cYt" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cTf" = ( +"cYu" = ( /obj/structure/chair/stool, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cTg" = ( +"cYv" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cTh" = ( +"cYw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cTi" = ( +"cYx" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 }, @@ -71099,7 +75858,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cTj" = ( +"cYy" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 }, @@ -71111,33 +75870,42 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cTk" = ( +"cYz" = ( /obj/machinery/atmospherics/pipe/simple/supply/visible, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cTl" = ( +"cYA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cTm" = ( +"cYB" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 26 }, /obj/structure/closet/toolcloset, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cTn" = ( +"cYC" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/pen, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cTp" = ( +"cYD" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/gloves/color/yellow, +/obj/item/storage/toolbox/electrical, +/obj/structure/sign/poster/official/do_not_question{ + pixel_y = -32 + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"cYE" = ( /obj/machinery/power/smes, /obj/machinery/light/small, /obj/machinery/status_display{ @@ -71148,7 +75916,7 @@ }, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cTq" = ( +"cYF" = ( /obj/machinery/light_switch{ pixel_y = -26 }, @@ -71156,11 +75924,11 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cTr" = ( +"cYG" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cTs" = ( +"cYH" = ( /obj/machinery/power/smes, /obj/machinery/light/small, /obj/machinery/status_display{ @@ -71172,28 +75940,27 @@ }, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cTt" = ( +"cYI" = ( /obj/structure/closet/toolcloset, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"cTu" = ( +"cYJ" = ( /obj/structure/closet/secure_closet/engineering_electrical, /turf/open/floor/plating, /area/maintenance/department/electrical) -"cTv" = ( +"cYK" = ( /obj/structure/disposaloutlet{ dir = 8 }, /obj/structure/disposalpipe/trunk{ - icon_state = "pipe-t"; dir = 4 }, /turf/open/floor/plasteel/vault{ dir = 1 }, /area/science/xenobiology) -"cTw" = ( +"cYL" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-2" @@ -71204,38 +75971,36 @@ name = "Secure Pen Shutters" }, /obj/structure/disposalpipe/segment{ - icon_state = "pipe-s"; dir = 4 }, /turf/open/floor/plating, /area/science/xenobiology) -"cTx" = ( +"cYM" = ( /obj/structure/window/reinforced{ dir = 1; pixel_y = 1 }, /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ - icon_state = "pipe-t"; dir = 8 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cTy" = ( +"cYN" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cTz" = ( +"cYO" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/xenobiology) -"cTA" = ( +"cYP" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -71243,16 +76008,19 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cTB" = ( +"cYQ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/xenobiology) -"cTC" = ( +"cYR" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -71264,11 +76032,11 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cTD" = ( +"cYS" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side, /area/science/xenobiology) -"cTE" = ( +"cYT" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -71276,13 +76044,13 @@ }, /turf/open/floor/plasteel/neutral/side, /area/science/xenobiology) -"cTF" = ( +"cYU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral/side, /area/science/xenobiology) -"cTG" = ( +"cYV" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -71291,7 +76059,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/science/xenobiology) -"cTH" = ( +"cYW" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -71303,7 +76071,7 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cTI" = ( +"cYX" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -71311,7 +76079,7 @@ dir = 8 }, /area/science/xenobiology) -"cTJ" = ( +"cYY" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -71320,12 +76088,12 @@ }, /turf/open/floor/plasteel/purple, /area/science/xenobiology) -"cTK" = ( +"cYZ" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cTL" = ( +"cZa" = ( /obj/structure/table/reinforced, /obj/item/storage/box/monkeycubes, /obj/item/storage/box/monkeycubes, @@ -71334,7 +76102,7 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cTM" = ( +"cZb" = ( /obj/structure/table/reinforced, /obj/machinery/reagentgrinder{ pixel_y = 5 @@ -71355,7 +76123,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/xenobiology) -"cTN" = ( +"cZc" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/light{ dir = 8 @@ -71364,14 +76132,18 @@ dir = 1 }, /area/science/research) -"cTO" = ( +"cZd" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/purple, +/area/science/research) +"cZe" = ( /obj/structure/cable/white{ icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/science/research) -"cTP" = ( +"cZf" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -71388,7 +76160,7 @@ }, /turf/open/floor/plasteel/red, /area/security/checkpoint/science/research) -"cTQ" = ( +"cZg" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -71398,7 +76170,7 @@ }, /turf/open/floor/plating, /area/security/checkpoint/science/research) -"cTR" = ( +"cZh" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ cyclelinkeddir = 2; @@ -71415,11 +76187,11 @@ }, /turf/open/floor/plasteel, /area/science/research) -"cTS" = ( +"cZi" = ( /obj/structure/sign/science, /turf/closed/wall/r_wall, /area/science/research) -"cTT" = ( +"cZj" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ cyclelinkeddir = 2; @@ -71436,18 +76208,18 @@ }, /turf/open/floor/plasteel, /area/science/research) -"cTU" = ( +"cZk" = ( /obj/structure/sign/securearea, /turf/closed/wall/r_wall, /area/science/research) -"cTV" = ( +"cZl" = ( /obj/structure/sign/science, /turf/closed/wall, /area/science/lab) -"cTW" = ( +"cZm" = ( /turf/closed/wall/r_wall, /area/science/lab) -"cTX" = ( +"cZn" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment, /obj/machinery/door/poddoor/shutters/preopen{ @@ -71456,7 +76228,7 @@ }, /turf/open/floor/plating, /area/science/lab) -"cTY" = ( +"cZo" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ id = "rndlab1"; @@ -71464,7 +76236,7 @@ }, /turf/open/floor/plating, /area/science/lab) -"cTZ" = ( +"cZp" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/item/folder, @@ -71481,11 +76253,11 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/lab) -"cUb" = ( +"cZq" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall/r_wall, /area/science/lab) -"cUc" = ( +"cZr" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/light{ dir = 8 @@ -71495,7 +76267,7 @@ dir = 8 }, /area/hallway/primary/aft) -"cUd" = ( +"cZs" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/structure/extinguisher_cabinet{ @@ -71504,7 +76276,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/aft) -"cUe" = ( +"cZt" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ id = "chemisttop"; @@ -71512,7 +76284,7 @@ }, /turf/open/floor/plating, /area/medical/medbay/central) -"cUf" = ( +"cZu" = ( /obj/machinery/door/poddoor/shutters/preopen{ id = "chemisttop"; name = "Chemistry Lobby Shutters" @@ -71520,7 +76292,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/medical/medbay/central) -"cUg" = ( +"cZv" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/machinery/door/poddoor/shutters/preopen{ @@ -71536,12 +76308,12 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/medical/medbay/central) -"cUh" = ( +"cZw" = ( /obj/structure/disposalpipe/segment, /obj/machinery/smartfridge/chemistry/preloaded, /turf/closed/wall, /area/medical/medbay/central) -"cUi" = ( +"cZx" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/item/folder/white, @@ -71549,7 +76321,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/medical/medbay/central) -"cUj" = ( +"cZy" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/item/reagent_containers/glass/bottle/charcoal{ @@ -71560,14 +76332,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/medical/medbay/central) -"cUk" = ( +"cZz" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/item/reagent_containers/food/drinks/britcup, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/medical/medbay/central) -"cUl" = ( +"cZA" = ( /obj/machinery/airalarm{ dir = 4; pixel_x = -23 @@ -71580,7 +76352,7 @@ dir = 1 }, /area/medical/medbay/central) -"cUm" = ( +"cZB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/camera{ c_tag = "Medbay - Fore Port"; @@ -71591,7 +76363,7 @@ dir = 4 }, /area/medical/medbay/central) -"cUn" = ( +"cZC" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -71619,7 +76391,7 @@ dir = 10 }, /area/security/checkpoint/medical) -"cUo" = ( +"cZD" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -71631,7 +76403,7 @@ }, /turf/open/floor/plasteel/red/side, /area/security/checkpoint/medical) -"cUp" = ( +"cZE" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/airalarm{ dir = 8; @@ -71644,7 +76416,7 @@ dir = 6 }, /area/security/checkpoint/medical) -"cUq" = ( +"cZF" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/light{ dir = 8 @@ -71653,13 +76425,13 @@ dir = 1 }, /area/medical/medbay/central) -"cUr" = ( +"cZG" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"cUs" = ( +"cZH" = ( /obj/structure/table/glass, /obj/item/stack/medical/gauze, /obj/item/stack/medical/bruise_pack, @@ -71673,7 +76445,7 @@ dir = 1 }, /area/medical/medbay/central) -"cUt" = ( +"cZI" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -71681,18 +76453,18 @@ dir = 1 }, /area/medical/medbay/central) -"cUu" = ( +"cZJ" = ( /turf/open/floor/plasteel/whiteblue/side{ dir = 1 }, /area/medical/medbay/central) -"cUv" = ( +"cZK" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/whiteblue/corner{ dir = 4 }, /area/medical/medbay/central) -"cUw" = ( +"cZL" = ( /obj/machinery/newscaster{ pixel_x = -32 }, @@ -71703,26 +76475,26 @@ dir = 1 }, /area/medical/medbay/central) -"cUx" = ( +"cZM" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/redblue, /area/medical/medbay/central) -"cUy" = ( +"cZN" = ( /turf/open/floor/plasteel/redblue, /area/medical/medbay/central) -"cUz" = ( +"cZO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/redblue, /area/medical/medbay/central) -"cUA" = ( +"cZP" = ( /obj/machinery/vending/coffee, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/medical/medbay/central) -"cUB" = ( +"cZQ" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -71730,12 +76502,11 @@ dir = 8 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cUC" = ( +"cZR" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -71751,7 +76522,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cUD" = ( +"cZS" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -71765,7 +76536,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard/aft) -"cUE" = ( +"cZT" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -71778,7 +76549,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard/aft) -"cUF" = ( +"cZU" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -71791,7 +76562,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cUG" = ( +"cZV" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -71804,7 +76575,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard/aft) -"cUH" = ( +"cZW" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -71816,7 +76587,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard/aft) -"cUI" = ( +"cZX" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -71828,7 +76599,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cUJ" = ( +"cZY" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -71841,7 +76612,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cUK" = ( +"cZZ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -71855,7 +76626,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"cUL" = ( +"daa" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; @@ -71878,7 +76649,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"cUM" = ( +"dab" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -71886,30 +76657,28 @@ dir = 4 }, /obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; dir = 4 }, /turf/open/floor/plasteel/neutral/corner{ dir = 8 }, /area/crew_quarters/fitness/recreation) -"cUN" = ( +"dac" = ( /obj/structure/cable/white{ icon_state = "1-8" }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cUO" = ( +"dad" = ( /obj/structure/chair/stool, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cUP" = ( +"dae" = ( /obj/structure/table, /obj/item/clothing/under/suit_jacket/really_black, /obj/item/cane, @@ -71921,7 +76690,7 @@ }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cUQ" = ( +"daf" = ( /obj/structure/table, /obj/item/clipboard, /obj/item/folder, @@ -71930,7 +76699,7 @@ }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cUR" = ( +"dag" = ( /obj/structure/table, /obj/item/toy/sword, /obj/item/gun/ballistic/shotgun/toy/crossbow, @@ -71939,25 +76708,25 @@ }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cUS" = ( +"dah" = ( /obj/structure/chair/stool, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cUT" = ( +"dai" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/fitness/recreation) -"cUU" = ( +"daj" = ( /turf/open/floor/plasteel/escape{ dir = 8 }, /area/crew_quarters/fitness/recreation) -"cUV" = ( +"dak" = ( /obj/structure/table/wood, /obj/item/storage/crayons, /obj/item/storage/crayons, @@ -71965,13 +76734,13 @@ dir = 4 }, /area/crew_quarters/fitness/recreation) -"cUW" = ( +"dal" = ( /obj/structure/mopbucket, /obj/effect/decal/cleanable/dirt, /obj/item/mop, /turf/open/floor/plating, /area/maintenance/port) -"cUX" = ( +"dam" = ( /obj/structure/sink/kitchen{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; name = "old sink"; @@ -71980,26 +76749,18 @@ /obj/item/reagent_containers/glass/bucket, /turf/open/floor/plating, /area/maintenance/port) -"cUY" = ( -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics Auxiliary Port"; - req_access_txt = "24" +"dan" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral/side{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/maintenance/department/electrical) -"cUZ" = ( +/area/maintenance/port) +"dao" = ( /obj/structure/sign/securearea, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/maintenance/department/electrical) -"cVa" = ( +"dap" = ( /obj/machinery/door/airlock/engineering{ name = "Engineering Auxiliary Power"; req_access_txt = "10" @@ -72011,8 +76772,8 @@ dir = 1 }, /turf/open/floor/plasteel, -/area/maintenance/port) -"cVb" = ( +/area/maintenance/department/electrical) +"daq" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -72021,13 +76782,13 @@ }, /turf/open/floor/plating, /area/science/xenobiology) -"cVc" = ( +"dar" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cVd" = ( +"das" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -72037,19 +76798,19 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cVe" = ( +"dat" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, /turf/open/floor/plasteel/neutral, /area/science/xenobiology) -"cVf" = ( +"dau" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cVg" = ( +"dav" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -72058,7 +76819,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cVh" = ( +"daw" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -72070,7 +76831,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/xenobiology) -"cVi" = ( +"dax" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced{ dir = 8 @@ -72087,7 +76848,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cVj" = ( +"day" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -72100,7 +76861,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cVk" = ( +"daz" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced{ dir = 8 @@ -72113,7 +76874,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cVl" = ( +"daA" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced{ dir = 8 @@ -72126,17 +76887,17 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cVm" = ( +"daB" = ( /obj/machinery/processor/slime, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cVn" = ( +"daC" = ( /turf/open/floor/plasteel/whitepurple/side{ dir = 8 }, /area/science/xenobiology) -"cVo" = ( +"daD" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -72144,7 +76905,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/science/xenobiology) -"cVp" = ( +"daE" = ( /obj/structure/chair/office/light{ icon_state = "officechair_white"; dir = 4 @@ -72154,7 +76915,7 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cVq" = ( +"daF" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -72164,7 +76925,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/science/research) -"cVr" = ( +"daG" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -72175,7 +76936,7 @@ dir = 9 }, /area/security/checkpoint/science/research) -"cVs" = ( +"daH" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -72189,7 +76950,7 @@ dir = 1 }, /area/security/checkpoint/science/research) -"cVt" = ( +"daI" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -72201,19 +76962,19 @@ dir = 5 }, /area/security/checkpoint/science/research) -"cVu" = ( +"daJ" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/science/research) -"cVv" = ( +"daK" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/research) -"cVw" = ( +"daL" = ( /obj/machinery/shower{ dir = 4; name = "emergency shower" @@ -72225,7 +76986,7 @@ }, /turf/open/floor/plasteel, /area/science/research) -"cVx" = ( +"daM" = ( /obj/machinery/light/small{ dir = 1 }, @@ -72237,7 +76998,7 @@ }, /turf/open/floor/plasteel, /area/science/research) -"cVy" = ( +"daN" = ( /obj/structure/sink{ dir = 4; pixel_x = 11 @@ -72251,19 +77012,18 @@ }, /turf/open/floor/plasteel, /area/science/research) -"cVz" = ( +"daO" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/research) -"cVA" = ( +"daP" = ( /obj/structure/sign/nosmoking_2, /turf/closed/wall/r_wall, /area/science/lab) -"cVB" = ( +"daQ" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ - icon_state = "pipe-t"; dir = 4 }, /obj/effect/turf_decal/stripes/line{ @@ -72271,16 +77031,15 @@ }, /turf/open/floor/plasteel, /area/science/lab) -"cVC" = ( +"daR" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/whitepurple/corner{ dir = 1 }, /area/science/lab) -"cVD" = ( +"daS" = ( /obj/machinery/light{ dir = 1 }, @@ -72292,12 +77051,12 @@ dir = 1 }, /area/science/lab) -"cVE" = ( +"daT" = ( /turf/open/floor/plasteel/whitepurple/side{ dir = 1 }, /area/science/lab) -"cVF" = ( +"daU" = ( /obj/structure/chair/office/light{ dir = 1 }, @@ -72305,19 +77064,15 @@ dir = 4 }, /area/science/lab) -"cVG" = ( +"daV" = ( /turf/open/floor/plasteel/whitepurple/corner{ dir = 4 }, /area/science/lab) -"cVH" = ( +"daW" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/item/wrench, /obj/item/clothing/glasses/welding, /obj/machinery/newscaster{ @@ -72327,27 +77082,27 @@ dir = 4 }, /area/science/lab) -"cVI" = ( +"daX" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/purple/corner{ dir = 8 }, /area/hallway/primary/aft) -"cVJ" = ( +"daY" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/aft) -"cVK" = ( +"daZ" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/orange/corner, /area/hallway/primary/aft) -"cVL" = ( +"dba" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ id = "chemistbot"; @@ -72355,7 +77110,7 @@ }, /turf/open/floor/plating, /area/medical/chemistry) -"cVM" = ( +"dbb" = ( /obj/structure/table/glass, /obj/item/folder/white, /obj/item/reagent_containers/glass/beaker/large{ @@ -72372,7 +77127,7 @@ dir = 1 }, /area/medical/chemistry) -"cVN" = ( +"dbc" = ( /obj/structure/table/glass, /obj/item/clipboard, /obj/item/toy/figure/chemist, @@ -72380,14 +77135,14 @@ dir = 1 }, /area/medical/chemistry) -"cVO" = ( +"dbd" = ( /obj/machinery/chem_master, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/medical/chemistry) -"cVP" = ( +"dbe" = ( /obj/structure/chair/office/light{ dir = 1 }, @@ -72395,7 +77150,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/chemistry) -"cVQ" = ( +"dbf" = ( /obj/machinery/chem_dispenser, /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line{ @@ -72403,7 +77158,7 @@ }, /turf/open/floor/plasteel, /area/medical/chemistry) -"cVR" = ( +"dbg" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -72417,24 +77172,26 @@ dir = 4 }, /area/medical/chemistry) -"cVS" = ( +"dbh" = ( /obj/structure/closet/wardrobe/chemistry_white, /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plasteel, /area/medical/chemistry) -"cVT" = ( +"dbi" = ( /obj/machinery/ai_status_display, /turf/closed/wall, /area/medical/chemistry) -"cVU" = ( -/obj/machinery/computer/med_data, +"dbj" = ( +/obj/machinery/computer/med_data{ + dir = 4 + }, /turf/open/floor/plasteel/whiteblue/corner{ dir = 1 }, /area/medical/medbay/central) -"cVV" = ( +"dbk" = ( /obj/structure/chair/office/light{ dir = 1 }, @@ -72442,7 +77199,7 @@ dir = 1 }, /area/medical/medbay/central) -"cVX" = ( +"dbl" = ( /obj/structure/chair/office/light{ dir = 1 }, @@ -72450,7 +77207,7 @@ dir = 4 }, /area/medical/medbay/central) -"cVY" = ( +"dbm" = ( /obj/structure/filingcabinet/chestdrawer, /obj/machinery/button/door{ desc = "A remote control switch for the medbay foyer."; @@ -72464,14 +77221,14 @@ dir = 4 }, /area/medical/medbay/central) -"cVZ" = ( +"dbn" = ( /obj/structure/cable/white{ icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/medical) -"cWa" = ( +"dbo" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -72488,14 +77245,23 @@ }, /turf/open/floor/plasteel/red, /area/security/checkpoint/medical) -"cWb" = ( +"dbp" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/medical) -"cWd" = ( +"dbq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/sign/poster/official/help_others{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/whiteblue/corner{ + dir = 1 + }, +/area/medical/medbay/central) +"dbr" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -72505,17 +77271,17 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"cWe" = ( +"dbs" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"cWf" = ( +"dbt" = ( /obj/effect/landmark/start/medical_doctor, /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"cWg" = ( +"dbu" = ( /obj/structure/mirror{ pixel_x = 26 }, @@ -72527,17 +77293,17 @@ dir = 4 }, /area/medical/medbay/central) -"cWh" = ( +"dbv" = ( /obj/structure/chair/stool, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/medical/medbay/central) -"cWi" = ( +"dbw" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/redblue, /area/medical/medbay/central) -"cWj" = ( +"dbx" = ( /obj/machinery/holopad, /obj/effect/landmark/start/medical_doctor, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -72545,13 +77311,13 @@ }, /turf/open/floor/plasteel/redblue, /area/medical/medbay/central) -"cWk" = ( +"dby" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/redblue, /area/medical/medbay/central) -"cWl" = ( +"dbz" = ( /obj/machinery/vending/cola/random, /obj/machinery/status_display{ pixel_x = 32 @@ -72563,12 +77329,12 @@ dir = 4 }, /area/medical/medbay/central) -"cWm" = ( +"dbA" = ( /obj/structure/girder, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cWn" = ( +"dbB" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -72576,21 +77342,21 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cWo" = ( +"dbC" = ( /turf/closed/wall, /area/medical/abandoned) -"cWp" = ( +"dbD" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/starboard/aft) -"cWq" = ( +"dbE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cWr" = ( +"dbF" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ dir = 1 @@ -72598,12 +77364,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) -"cWs" = ( +"dbG" = ( /obj/structure/table, /obj/item/storage/photo_album, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cWt" = ( +"dbH" = ( /obj/item/lipstick/random{ pixel_x = 3; pixel_y = 3 @@ -72616,7 +77382,7 @@ /obj/structure/table, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cWu" = ( +"dbI" = ( /obj/structure/table, /obj/item/device/camera_film{ pixel_x = 3; @@ -72625,16 +77391,16 @@ /obj/item/device/camera_film, /turf/open/floor/plasteel/neutral, /area/crew_quarters/fitness/recreation) -"cWv" = ( +"dbJ" = ( /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/fitness/recreation) -"cWw" = ( +"dbK" = ( /obj/structure/chair/stool, /turf/open/floor/plasteel/escape{ dir = 8 }, /area/crew_quarters/fitness/recreation) -"cWx" = ( +"dbL" = ( /obj/structure/easel, /obj/item/canvas/twentythreeXtwentythree, /obj/item/canvas/twentythreeXtwentythree, @@ -72646,7 +77412,7 @@ dir = 4 }, /area/crew_quarters/fitness/recreation) -"cWy" = ( +"dbM" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/item/clothing/gloves/color/orange, @@ -72660,7 +77426,7 @@ dir = 8 }, /area/maintenance/port) -"cWz" = ( +"dbN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -72670,14 +77436,14 @@ dir = 4 }, /area/maintenance/port) -"cWA" = ( +"dbO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port) -"cWB" = ( +"dbP" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -72686,7 +77452,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cWC" = ( +"dbQ" = ( /obj/effect/landmark/blobstart, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -72696,7 +77462,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cWD" = ( +"dbR" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -72706,12 +77472,12 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cWE" = ( +"dbS" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port) -"cWF" = ( +"dbT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -72722,7 +77488,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cWG" = ( +"dbU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -72734,7 +77500,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cWH" = ( +"dbV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -72749,7 +77515,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cWJ" = ( +"dbW" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -72762,7 +77528,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cWK" = ( +"dbX" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -72774,7 +77540,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cWL" = ( +"dbY" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -72786,7 +77552,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port) -"cWM" = ( +"dbZ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -72799,19 +77565,19 @@ heat_capacity = 1e+006 }, /area/maintenance/port) -"cWN" = ( +"dca" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, /turf/open/floor/plating, /area/maintenance/port) -"cWO" = ( +"dcb" = ( /obj/machinery/light, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/science/xenobiology) -"cWP" = ( +"dcc" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -72821,7 +77587,7 @@ /obj/machinery/shieldwallgen/xenobiologyaccess, /turf/open/floor/plating, /area/science/xenobiology) -"cWQ" = ( +"dcd" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -72832,14 +77598,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/xenobiology) -"cWR" = ( +"dce" = ( /obj/machinery/newscaster{ pixel_y = -32 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cWS" = ( +"dcf" = ( /obj/structure/table, /obj/item/crowbar, /obj/item/wrench, @@ -72852,7 +77618,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cWT" = ( +"dcg" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -72864,7 +77630,7 @@ }, /turf/open/floor/plating, /area/science/xenobiology) -"cWU" = ( +"dch" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -72884,7 +77650,7 @@ dir = 8 }, /area/science/xenobiology) -"cWV" = ( +"dci" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -72895,7 +77661,7 @@ }, /turf/open/floor/plating, /area/science/xenobiology) -"cWW" = ( +"dcj" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -72907,7 +77673,7 @@ }, /turf/open/floor/plating, /area/science/xenobiology) -"cWX" = ( +"dck" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -72927,7 +77693,7 @@ dir = 8 }, /area/science/xenobiology) -"cWY" = ( +"dcl" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -72938,7 +77704,7 @@ }, /turf/open/floor/plating, /area/science/xenobiology) -"cWZ" = ( +"dcm" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -72950,7 +77716,7 @@ }, /turf/open/floor/plating, /area/science/xenobiology) -"cXa" = ( +"dcn" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -72970,7 +77736,7 @@ dir = 8 }, /area/science/xenobiology) -"cXb" = ( +"dco" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -72981,7 +77747,7 @@ }, /turf/open/floor/plating, /area/science/xenobiology) -"cXc" = ( +"dcp" = ( /obj/machinery/smartfridge/extract/preloaded, /obj/machinery/light_switch{ pixel_x = -26 @@ -72989,12 +77755,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cXd" = ( +"dcq" = ( /turf/open/floor/plasteel/whitepurple/side{ dir = 10 }, /area/science/xenobiology) -"cXe" = ( +"dcr" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -73006,7 +77772,7 @@ }, /turf/open/floor/plasteel/whitepurple/side, /area/science/xenobiology) -"cXf" = ( +"dcs" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -73015,7 +77781,7 @@ }, /turf/open/floor/plasteel/whitepurple/side, /area/science/xenobiology) -"cXg" = ( +"dct" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -73024,7 +77790,7 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cXh" = ( +"dcu" = ( /obj/structure/table/reinforced, /obj/item/folder/white, /obj/item/pen, @@ -73043,7 +77809,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/xenobiology) -"cXi" = ( +"dcv" = ( /obj/structure/chair{ dir = 4 }, @@ -73051,18 +77817,18 @@ dir = 10 }, /area/security/checkpoint/science/research) -"cXj" = ( +"dcw" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/red/side, /area/security/checkpoint/science/research) -"cXk" = ( +"dcx" = ( /turf/open/floor/plasteel/red/side{ dir = 6 }, /area/security/checkpoint/science/research) -"cXl" = ( +"dcy" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ id_tag = "scidoor"; @@ -73077,14 +77843,14 @@ }, /turf/open/floor/plasteel, /area/security/checkpoint/science/research) -"cXm" = ( +"dcz" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/research) -"cXn" = ( +"dcA" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 @@ -73095,13 +77861,13 @@ }, /turf/open/floor/plasteel, /area/science/research) -"cXo" = ( +"dcB" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/research) -"cXp" = ( +"dcC" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line{ @@ -73109,7 +77875,7 @@ }, /turf/open/floor/plasteel, /area/science/research) -"cXq" = ( +"dcD" = ( /obj/structure/closet/firecloset, /obj/machinery/camera{ c_tag = "Science - Research Division Access"; @@ -73120,7 +77886,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/research) -"cXr" = ( +"dcE" = ( /obj/structure/table/reinforced, /obj/item/stock_parts/matter_bin{ pixel_x = 3; @@ -73137,32 +77903,32 @@ }, /turf/open/floor/plasteel, /area/science/lab) -"cXs" = ( +"dcF" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/neutral, /area/science/lab) -"cXt" = ( +"dcG" = ( /obj/effect/landmark/start/scientist, /turf/open/floor/plasteel/neutral, /area/science/lab) -"cXu" = ( +"dcH" = ( /turf/open/floor/plasteel/neutral, /area/science/lab) -"cXv" = ( +"dcI" = ( /obj/machinery/r_n_d/destructive_analyzer, /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plasteel, /area/science/lab) -"cXw" = ( +"dcJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/science/lab) -"cXx" = ( +"dcK" = ( /obj/machinery/r_n_d/protolathe, /obj/machinery/ai_status_display{ pixel_x = 32 @@ -73175,7 +77941,7 @@ }, /turf/open/floor/plasteel, /area/science/lab) -"cXy" = ( +"dcL" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/machinery/camera{ @@ -73185,10 +77951,10 @@ }, /turf/open/floor/plasteel/orange/corner, /area/hallway/primary/aft) -"cXz" = ( +"dcM" = ( /turf/closed/wall, /area/medical/chemistry) -"cXA" = ( +"dcN" = ( /obj/structure/table/glass, /obj/item/device/assembly/igniter, /obj/item/device/assembly/igniter, @@ -73212,21 +77978,21 @@ dir = 8 }, /area/medical/chemistry) -"cXB" = ( +"dcO" = ( /turf/open/floor/plasteel/white, /area/medical/chemistry) -"cXC" = ( +"dcP" = ( /obj/machinery/chem_heater, /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plasteel, /area/medical/chemistry) -"cXD" = ( +"dcQ" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/medical/chemistry) -"cXE" = ( +"dcR" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ dir = 1 @@ -73236,13 +78002,13 @@ }, /turf/open/floor/plasteel, /area/medical/chemistry) -"cXF" = ( +"dcS" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/neutral, /area/medical/chemistry) -"cXG" = ( +"dcT" = ( /obj/structure/closet/secure_closet/medical1, /obj/structure/window/reinforced, /obj/effect/turf_decal/stripes/line{ @@ -73250,8 +78016,10 @@ }, /turf/open/floor/plasteel, /area/medical/chemistry) -"cXH" = ( -/obj/machinery/computer/crew, +"dcU" = ( +/obj/machinery/computer/crew{ + dir = 4 + }, /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_x = -26 @@ -73260,16 +78028,16 @@ dir = 8 }, /area/medical/medbay/central) -"cXI" = ( +"dcV" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"cXJ" = ( +"dcW" = ( /obj/machinery/holopad, /obj/effect/landmark/start/medical_doctor, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"cXK" = ( +"dcX" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, @@ -73277,7 +78045,7 @@ dir = 4 }, /area/medical/medbay/central) -"cXL" = ( +"dcY" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -73294,7 +78062,7 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"cXM" = ( +"dcZ" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -73302,7 +78070,7 @@ dir = 1 }, /area/medical/medbay/central) -"cXN" = ( +"dda" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -73312,7 +78080,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/medical) -"cXO" = ( +"ddb" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -73323,7 +78091,7 @@ dir = 9 }, /area/security/checkpoint/medical) -"cXP" = ( +"ddc" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -73334,7 +78102,7 @@ dir = 1 }, /area/security/checkpoint/medical) -"cXQ" = ( +"ddd" = ( /obj/structure/closet/secure_closet/brig{ id = "medcell"; name = "Medical Cell Locker" @@ -73343,19 +78111,20 @@ dir = 5 }, /area/security/checkpoint/medical) -"cXR" = ( +"dde" = ( /obj/structure/cable/white{ icon_state = "1-2" }, +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"cXS" = ( +"ddf" = ( /obj/machinery/holopad{ pixel_y = 16 }, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"cXT" = ( +"ddg" = ( /obj/machinery/shower{ dir = 8; name = "emergency shower" @@ -73365,7 +78134,7 @@ }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"cXU" = ( +"ddh" = ( /obj/structure/table/wood, /obj/item/folder/white, /obj/item/reagent_containers/spray/cleaner{ @@ -73376,25 +78145,25 @@ dir = 8 }, /area/medical/medbay/central) -"cXV" = ( +"ddi" = ( /obj/structure/chair/stool, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/redblue, /area/medical/medbay/central) -"cXW" = ( +"ddj" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plasteel/redblue, /area/medical/medbay/central) -"cXX" = ( +"ddk" = ( /obj/machinery/vending/cigarette, /obj/structure/extinguisher_cabinet{ pixel_x = 26 }, /turf/open/floor/plasteel/neutral/corner, /area/medical/medbay/central) -"cXY" = ( +"ddl" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate, /obj/item/retractor, @@ -73402,7 +78171,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cXZ" = ( +"ddm" = ( /obj/machinery/airalarm{ dir = 4; pixel_x = -23 @@ -73415,7 +78184,7 @@ }, /turf/open/floor/plasteel, /area/medical/abandoned) -"cYa" = ( +"ddn" = ( /obj/structure/mirror{ icon_state = "mirror_broke"; pixel_y = 28 @@ -73424,13 +78193,13 @@ dir = 1 }, /area/medical/abandoned) -"cYb" = ( +"ddo" = ( /obj/structure/bed/roller, /obj/machinery/iv_drip, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/medical/abandoned) -"cYc" = ( +"ddp" = ( /obj/structure/table/glass, /obj/item/stack/medical/gauze, /obj/item/stack/medical/bruise_pack, @@ -73445,7 +78214,7 @@ dir = 1 }, /area/medical/abandoned) -"cYd" = ( +"ddq" = ( /obj/structure/bed/roller, /obj/machinery/iv_drip, /obj/effect/decal/cleanable/dirt, @@ -73453,7 +78222,7 @@ dir = 4 }, /area/medical/abandoned) -"cYe" = ( +"ddr" = ( /obj/structure/mirror{ icon_state = "mirror_broke"; pixel_y = 28 @@ -73463,7 +78232,7 @@ dir = 4 }, /area/medical/abandoned) -"cYf" = ( +"dds" = ( /obj/structure/frame/machine, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/decal/cleanable/dirt, @@ -73472,27 +78241,27 @@ }, /turf/open/floor/plasteel, /area/medical/abandoned) -"cYg" = ( +"ddt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cYh" = ( +"ddu" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cYi" = ( +"ddv" = ( /obj/machinery/vending/cigarette, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) -"cYj" = ( +"ddw" = ( /turf/open/floor/plasteel/neutral/corner{ dir = 8; heat_capacity = 1e+006 }, /area/crew_quarters/fitness/recreation) -"cYk" = ( +"ddx" = ( /obj/machinery/light, /obj/machinery/camera{ c_tag = "Recreation - Aft"; @@ -73501,11 +78270,11 @@ }, /turf/open/floor/plasteel/neutral/side, /area/crew_quarters/fitness/recreation) -"cYl" = ( +"ddy" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/fitness/recreation) -"cYm" = ( +"ddz" = ( /obj/structure/table/wood, /obj/item/stack/packageWrap{ pixel_x = -3; @@ -73516,7 +78285,7 @@ dir = 8 }, /area/crew_quarters/fitness/recreation) -"cYn" = ( +"ddA" = ( /obj/structure/table/wood, /obj/item/device/camera, /obj/structure/sign/nanotrasen{ @@ -73527,7 +78296,12 @@ dir = 4 }, /area/crew_quarters/fitness/recreation) -"cYo" = ( +"ddB" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port) +"ddC" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 @@ -73536,33 +78310,33 @@ dir = 6 }, /area/maintenance/port) -"cYp" = ( +"ddD" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side{ dir = 10 }, /area/maintenance/port) -"cYq" = ( +"ddE" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port) -"cYr" = ( +"ddF" = ( /turf/open/floor/plasteel/neutral/side, /area/maintenance/port) -"cYs" = ( +"ddG" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, /turf/open/floor/plating, /area/maintenance/port) -"cYt" = ( +"ddH" = ( /obj/structure/closet/emcloset, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/port) -"cYu" = ( +"ddI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance{ @@ -73574,20 +78348,20 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port) -"cYv" = ( +"ddJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port) -"cYw" = ( +"ddK" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /turf/open/floor/plating, /area/maintenance/port) -"cYx" = ( +"ddL" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "2-4" @@ -73601,7 +78375,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port) -"cYy" = ( +"ddM" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -73612,16 +78386,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cYz" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/port) -"cYA" = ( +"ddN" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -73631,7 +78396,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port) -"cYB" = ( +"ddO" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -73644,7 +78409,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cYC" = ( +"ddP" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -73652,21 +78417,20 @@ dir = 4 }, /area/maintenance/port) -"cYD" = ( +"ddQ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/science/xenobiology) -"cYE" = ( +"ddR" = ( /obj/structure/disposaloutlet, /obj/structure/disposalpipe/trunk{ - icon_state = "pipe-t"; dir = 1 }, /turf/open/floor/plasteel/vault{ dir = 1 }, /area/science/xenobiology) -"cYF" = ( +"ddS" = ( /obj/structure/table, /obj/item/paper_bin, /obj/item/pen, @@ -73679,16 +78443,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cYG" = ( -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/science/xenobiology) -"cYH" = ( +"ddT" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cYI" = ( +"ddU" = ( /obj/structure/filingcabinet/chestdrawer, /obj/effect/decal/cleanable/dirt, /obj/machinery/ai_status_display{ @@ -73697,14 +78457,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"cYJ" = ( +"ddV" = ( /obj/structure/table/reinforced, /obj/item/clothing/gloves/color/latex, /obj/item/device/slime_scanner, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/xenobiology) -"cYK" = ( +"ddW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/extinguisher_cabinet{ pixel_x = 26 @@ -73713,7 +78473,7 @@ dir = 4 }, /area/science/research) -"cYL" = ( +"ddX" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-4" @@ -73724,7 +78484,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/science/research) -"cYM" = ( +"ddY" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_y = -32 @@ -73737,7 +78497,7 @@ }, /turf/open/floor/plasteel, /area/science/research) -"cYN" = ( +"ddZ" = ( /obj/machinery/shower{ dir = 4; name = "emergency shower" @@ -73749,7 +78509,7 @@ }, /turf/open/floor/plasteel, /area/science/research) -"cYO" = ( +"dea" = ( /obj/machinery/light/small, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -73757,7 +78517,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/research) -"cYP" = ( +"deb" = ( /obj/structure/sink{ dir = 4; pixel_x = 11 @@ -73771,12 +78531,12 @@ }, /turf/open/floor/plasteel, /area/science/research) -"cYQ" = ( +"dec" = ( /obj/structure/closet/l3closet/scientist, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/research) -"cYR" = ( +"ded" = ( /obj/structure/table/reinforced, /obj/item/stack/cable_coil/white{ pixel_x = 3; @@ -73799,33 +78559,35 @@ }, /turf/open/floor/plasteel, /area/science/lab) -"cYS" = ( +"dee" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/science/lab) -"cYT" = ( +"def" = ( /turf/open/floor/plasteel/whitepurple/side{ dir = 9 }, /area/science/lab) -"cYU" = ( +"deg" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/whitepurple/side{ dir = 5 }, /area/science/lab) -"cYV" = ( -/obj/machinery/computer/rdconsole/core, +"deh" = ( +/obj/machinery/computer/rdconsole/core{ + dir = 4 + }, /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plasteel, /area/science/lab) -"cYW" = ( +"dei" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/lab) -"cYX" = ( +"dej" = ( /obj/machinery/r_n_d/circuit_imprinter, /obj/item/reagent_containers/glass/beaker/sulphuric, /obj/effect/turf_decal/stripes/line{ @@ -73833,12 +78595,12 @@ }, /turf/open/floor/plasteel, /area/science/lab) -"cYY" = ( +"dek" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/orange/corner, /area/hallway/primary/aft) -"cYZ" = ( +"del" = ( /obj/structure/table/glass, /obj/item/clothing/glasses/science{ pixel_x = 3; @@ -73859,26 +78621,26 @@ dir = 8 }, /area/medical/chemistry) -"cZa" = ( +"dem" = ( /turf/open/floor/plasteel/whiteyellow/corner{ dir = 8 }, /area/medical/chemistry) -"cZb" = ( +"den" = ( /turf/open/floor/plasteel/neutral, /area/medical/chemistry) -"cZc" = ( +"deo" = ( /turf/open/floor/plasteel/whiteyellow/side{ dir = 9 }, /area/medical/chemistry) -"cZd" = ( +"dep" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/whiteyellow/side{ dir = 5 }, /area/medical/chemistry) -"cZe" = ( +"deq" = ( /obj/structure/table/glass, /obj/machinery/reagentgrinder{ pixel_y = 5 @@ -73889,26 +78651,38 @@ dir = 4 }, /area/medical/chemistry) -"cZf" = ( +"der" = ( /obj/machinery/status_display, /turf/closed/wall, /area/medical/chemistry) -"cZh" = ( +"des" = ( +/obj/structure/table/glass, +/obj/item/clipboard, +/obj/item/toy/figure/md, +/obj/machinery/light/small, +/obj/structure/sign/poster/official/ian{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/whiteblue/corner{ + dir = 8 + }, +/area/medical/medbay/central) +"det" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/whiteblue/corner{ dir = 8 }, /area/medical/medbay/central) -"cZi" = ( +"deu" = ( /obj/structure/chair/office/light, /turf/open/floor/plasteel/whiteblue/side, /area/medical/medbay/central) -"cZj" = ( +"dev" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light/small, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"cZk" = ( +"dew" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -73916,14 +78690,14 @@ dir = 1 }, /area/medical/medbay/central) -"cZl" = ( +"dex" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"cZm" = ( +"dey" = ( /obj/structure/chair{ dir = 4 }, @@ -73931,7 +78705,7 @@ dir = 10 }, /area/security/checkpoint/medical) -"cZn" = ( +"dez" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -73940,7 +78714,7 @@ }, /turf/open/floor/plasteel/red/side, /area/security/checkpoint/medical) -"cZo" = ( +"deA" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -73948,7 +78722,7 @@ dir = 6 }, /area/security/checkpoint/medical) -"cZp" = ( +"deB" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -73959,7 +78733,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/medical) -"cZq" = ( +"deC" = ( /obj/machinery/sleeper{ dir = 4 }, @@ -73968,7 +78742,7 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"cZr" = ( +"deD" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -73976,10 +78750,10 @@ dir = 8 }, /area/medical/medbay/central) -"cZs" = ( +"deE" = ( /turf/open/floor/plasteel/whiteblue/side, /area/medical/medbay/central) -"cZt" = ( +"deF" = ( /obj/machinery/sleeper{ dir = 8 }, @@ -73988,27 +78762,37 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"cZv" = ( +"deG" = ( +/obj/structure/table/wood, +/obj/item/storage/pill_bottle/dice, +/obj/structure/sign/poster/official/help_others{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/neutral/corner{ + dir = 8 + }, +/area/medical/medbay/central) +"deH" = ( /obj/structure/chair/stool, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/corner{ dir = 8 }, /area/medical/medbay/central) -"cZw" = ( +"deI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/side, /area/medical/medbay/central) -"cZx" = ( +"deJ" = ( /turf/open/floor/plasteel/neutral/corner, /area/medical/medbay/central) -"cZy" = ( +"deK" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, /turf/open/floor/plasteel/neutral/corner, /area/medical/medbay/central) -"cZz" = ( +"deL" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, /obj/item/clothing/neck/stethoscope, @@ -74018,14 +78802,14 @@ dir = 8 }, /area/maintenance/starboard/aft) -"cZA" = ( +"deM" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cZB" = ( +"deN" = ( /obj/structure/sign/examroom{ pixel_x = -32 }, @@ -74034,31 +78818,31 @@ dir = 1 }, /area/medical/abandoned) -"cZC" = ( +"deO" = ( /turf/open/floor/plasteel/blue, /area/medical/abandoned) -"cZD" = ( +"deP" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/medical/abandoned) -"cZE" = ( +"deQ" = ( /turf/open/floor/plasteel/neutral, /area/medical/abandoned) -"cZF" = ( +"deR" = ( /obj/item/crowbar/red, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/blue, /area/medical/abandoned) -"cZG" = ( +"deS" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/medical/abandoned) -"cZH" = ( +"deT" = ( /obj/structure/sign/bluecross_2, /turf/closed/wall, /area/medical/abandoned) -"cZI" = ( +"deU" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -74075,7 +78859,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cZJ" = ( +"deV" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -74091,14 +78875,14 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cZK" = ( +"deW" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, /turf/open/floor/plating, /area/maintenance/port) -"cZL" = ( +"deX" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -74107,7 +78891,7 @@ dir = 1 }, /area/maintenance/port) -"cZM" = ( +"deY" = ( /obj/structure/closet/crate, /obj/effect/spawner/lootdrop/maintenance{ lootcount = 3; @@ -74120,7 +78904,7 @@ dir = 1 }, /area/maintenance/port) -"cZO" = ( +"deZ" = ( /obj/structure/rack, /obj/item/crowbar/red, /obj/effect/spawner/lootdrop/maintenance{ @@ -74132,7 +78916,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cZP" = ( +"dfa" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -74140,7 +78924,7 @@ dir = 1 }, /area/maintenance/port) -"cZQ" = ( +"dfb" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ @@ -74148,11 +78932,11 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cZR" = ( +"dfc" = ( /obj/structure/sign/xenobio, /turf/closed/wall/r_wall, /area/science/xenobiology) -"cZS" = ( +"dfd" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -74163,7 +78947,7 @@ }, /turf/open/floor/plating, /area/science/xenobiology) -"cZT" = ( +"dfe" = ( /obj/machinery/door/poddoor/preopen{ id = "rdxeno"; name = "Xenobiology Containment Door" @@ -74187,7 +78971,7 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) -"cZU" = ( +"dff" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -74198,7 +78982,7 @@ }, /turf/open/floor/plating, /area/science/xenobiology) -"cZV" = ( +"dfg" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ @@ -74209,7 +78993,7 @@ }, /turf/open/floor/plasteel, /area/science/research) -"cZX" = ( +"dfh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ @@ -74220,11 +79004,11 @@ }, /turf/open/floor/plasteel, /area/science/research) -"cZY" = ( +"dfi" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall, /area/science/research) -"cZZ" = ( +"dfj" = ( /obj/structure/table, /obj/item/storage/box/bodybags{ pixel_x = 3; @@ -74234,7 +79018,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research) -"daa" = ( +"dfk" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/item/crowbar, @@ -74243,7 +79027,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/research) -"dab" = ( +"dfl" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/item/storage/pod{ pixel_x = 32 @@ -74251,14 +79035,48 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research) -"dac" = ( +"dfm" = ( /turf/closed/wall, /area/science/research) -"dad" = ( +"dfn" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research{ + cyclelinkeddir = 1; + name = "Research Division Access"; + req_access_txt = "47" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/science/research) +"dfo" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research{ + cyclelinkeddir = 1; + name = "Research Division Access"; + req_access_txt = "47" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/science/research) +"dfp" = ( /obj/structure/sign/securearea, /turf/closed/wall, /area/science/research) -"dae" = ( +"dfq" = ( /obj/structure/table/reinforced, /obj/item/folder/white, /obj/item/stock_parts/cell/high, @@ -74280,14 +79098,14 @@ }, /turf/open/floor/plasteel, /area/science/lab) -"daf" = ( +"dfr" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/science/lab) -"dag" = ( +"dfs" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -74295,7 +79113,7 @@ dir = 8 }, /area/science/lab) -"dah" = ( +"dft" = ( /obj/machinery/holopad{ pixel_x = -16 }, @@ -74306,7 +79124,7 @@ dir = 4 }, /area/science/lab) -"dai" = ( +"dfu" = ( /obj/machinery/requests_console{ department = "Research Lab"; departmentType = 0; @@ -74322,11 +79140,11 @@ }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/lab) -"daj" = ( +"dfv" = ( /obj/structure/sign/chemistry, /turf/closed/wall, /area/medical/chemistry) -"dak" = ( +"dfw" = ( /obj/machinery/light{ dir = 8 }, @@ -74349,13 +79167,13 @@ dir = 8 }, /area/medical/chemistry) -"dal" = ( +"dfx" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/whiteyellow/side{ dir = 8 }, /area/medical/chemistry) -"dam" = ( +"dfy" = ( /obj/machinery/holopad{ pixel_x = -16 }, @@ -74365,7 +79183,7 @@ dir = 4 }, /area/medical/chemistry) -"dan" = ( +"dfz" = ( /obj/structure/table/glass, /obj/item/stack/sheet/mineral/plasma, /obj/item/stack/sheet/mineral/plasma, @@ -74390,12 +79208,12 @@ }, /turf/open/floor/plasteel/whiteyellow/corner, /area/medical/chemistry) -"dao" = ( +"dfA" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/medical/medbay/central) -"dap" = ( +"dfB" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/item/folder/white, @@ -74406,15 +79224,15 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/medical/medbay/central) -"daq" = ( +"dfC" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/whiteblue, /area/medical/medbay/central) -"dar" = ( +"dfD" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall, /area/security/checkpoint/medical) -"das" = ( +"dfE" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -74438,7 +79256,7 @@ }, /turf/open/floor/plasteel, /area/security/checkpoint/medical) -"dat" = ( +"dfF" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ @@ -74449,7 +79267,7 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"dav" = ( +"dfG" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ @@ -74460,11 +79278,11 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"daw" = ( +"dfH" = ( /obj/structure/sign/examroom, /turf/closed/wall, /area/medical/medbay/central) -"dax" = ( +"dfI" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -74477,12 +79295,12 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"day" = ( +"dfJ" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/medical/medbay/central) -"daz" = ( +"dfK" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ name = "Break Room"; @@ -74497,18 +79315,18 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"daA" = ( +"dfL" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/medical/medbay/central) -"daB" = ( +"dfM" = ( /obj/item/firstaid_arm_assembly, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/starboard/aft) -"daC" = ( +"dfN" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -74523,7 +79341,7 @@ dir = 4 }, /area/maintenance/starboard/aft) -"daD" = ( +"dfO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch/abandoned{ name = "Maintenance Hatch"; @@ -74544,7 +79362,7 @@ }, /turf/open/floor/plasteel, /area/medical/abandoned) -"daE" = ( +"dfP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -74556,13 +79374,13 @@ dir = 1 }, /area/medical/abandoned) -"daF" = ( +"dfQ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/medical/abandoned) -"daG" = ( +"dfR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -74570,7 +79388,7 @@ }, /turf/open/floor/plasteel/blue, /area/medical/abandoned) -"daH" = ( +"dfS" = ( /obj/item/wrench, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -74578,13 +79396,13 @@ /obj/effect/landmark/xeno_spawn, /turf/open/floor/plating, /area/medical/abandoned) -"daI" = ( +"dfT" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/whiteblue/corner{ dir = 4 }, /area/medical/abandoned) -"daJ" = ( +"dfU" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch/abandoned{ name = "Maintenance Hatch"; @@ -74599,44 +79417,47 @@ }, /turf/open/floor/plasteel, /area/medical/abandoned) -"daK" = ( +"dfV" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"daL" = ( +"dfW" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 4 }, /area/maintenance/starboard/aft) -"daM" = ( +"dfX" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"daN" = ( +"dfY" = ( +/turf/closed/wall, +/area/crew_quarters/abandoned_gambling_den) +"dfZ" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/cobweb, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"daO" = ( +"dga" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"daP" = ( +"dgb" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/black, /area/crew_quarters/abandoned_gambling_den) -"daQ" = ( +"dgc" = ( /obj/structure/table/wood, /obj/machinery/cell_charger, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"daR" = ( +"dgd" = ( /obj/structure/table/wood, /obj/structure/cable/white{ icon_state = "0-2" @@ -74651,7 +79472,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"daS" = ( +"dge" = ( /obj/structure/table/wood, /obj/machinery/light{ dir = 1 @@ -74669,30 +79490,42 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"daT" = ( +"dgf" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"daV" = ( +"dgg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/black, +/area/crew_quarters/abandoned_gambling_den) +"dgh" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/crew_quarters/abandoned_gambling_den) +"dgi" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"daW" = ( +"dgj" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/crew_quarters/abandoned_gambling_den) -"daX" = ( +"dgk" = ( /obj/machinery/light/small{ dir = 1 }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"daY" = ( +"dgl" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -74701,7 +79534,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"dba" = ( +"dgm" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -74712,7 +79545,17 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port) -"dbc" = ( +"dgn" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral/side, +/area/maintenance/port) +"dgo" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -74721,7 +79564,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port) -"dbe" = ( +"dgp" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -74730,7 +79573,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"dbf" = ( +"dgq" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -74741,7 +79584,7 @@ dir = 4 }, /area/maintenance/port) -"dbg" = ( +"dgr" = ( /obj/machinery/light/small, /obj/machinery/camera{ c_tag = "Xenobiology - Cell 4"; @@ -74753,7 +79596,7 @@ dir = 5 }, /area/science/xenobiology) -"dbh" = ( +"dgs" = ( /obj/machinery/light/small, /obj/machinery/camera{ c_tag = "Xenobiology - Cell 5"; @@ -74765,7 +79608,7 @@ dir = 5 }, /area/science/xenobiology) -"dbi" = ( +"dgt" = ( /obj/machinery/light/small, /obj/machinery/camera{ c_tag = "Xenobiology - Cell 6"; @@ -74777,18 +79620,18 @@ dir = 5 }, /area/science/xenobiology) -"dbj" = ( +"dgu" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/whitepurple/corner{ dir = 1 }, /area/science/research) -"dbk" = ( +"dgv" = ( /turf/open/floor/plasteel/whitepurple/corner{ dir = 1 }, /area/science/research) -"dbl" = ( +"dgw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, @@ -74796,7 +79639,7 @@ dir = 1 }, /area/science/research) -"dbm" = ( +"dgx" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, @@ -74804,7 +79647,7 @@ dir = 1 }, /area/science/research) -"dbn" = ( +"dgy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -74822,7 +79665,7 @@ dir = 1 }, /area/science/research) -"dbo" = ( +"dgz" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -74830,19 +79673,19 @@ dir = 1 }, /area/science/research) -"dbp" = ( +"dgA" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/whitepurple/corner{ dir = 1 }, /area/science/research) -"dbq" = ( +"dgB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/science/research) -"dbr" = ( +"dgC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -74851,7 +79694,7 @@ dir = 4 }, /area/science/research) -"dbs" = ( +"dgD" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -74867,7 +79710,7 @@ }, /turf/open/floor/plasteel, /area/science/research) -"dbt" = ( +"dgE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -74875,7 +79718,7 @@ dir = 1 }, /area/science/research) -"dbu" = ( +"dgF" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -74889,7 +79732,7 @@ dir = 1 }, /area/science/research) -"dbv" = ( +"dgG" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -74899,7 +79742,7 @@ dir = 1 }, /area/science/research) -"dbw" = ( +"dgH" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -74910,14 +79753,14 @@ dir = 1 }, /area/science/research) -"dbx" = ( +"dgI" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/whitepurple/corner{ dir = 4 }, /area/science/research) -"dby" = ( +"dgJ" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/item/folder, @@ -74938,7 +79781,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/lab) -"dbz" = ( +"dgK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -74946,13 +79789,13 @@ dir = 8 }, /area/science/lab) -"dbA" = ( +"dgL" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, /turf/open/floor/plasteel/neutral, /area/science/lab) -"dbB" = ( +"dgM" = ( /obj/structure/table, /obj/item/clipboard, /obj/item/toy/figure/scientist, @@ -74960,7 +79803,7 @@ dir = 10 }, /area/science/lab) -"dbC" = ( +"dgN" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -74978,15 +79821,15 @@ dir = 6 }, /area/science/lab) -"dbD" = ( +"dgO" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/science/lab) -"dbE" = ( +"dgP" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/whitepurple/corner, /area/science/lab) -"dbF" = ( +"dgQ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ id = "rndlab2"; @@ -74994,21 +79837,20 @@ }, /turf/open/floor/plating, /area/science/lab) -"dbG" = ( +"dgR" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/pen, /turf/open/floor/plasteel/purple, /area/hallway/primary/aft) -"dbH" = ( +"dgS" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/junction{ - dir = 1; - icon_state = "pipe-j1" + dir = 1 }, /turf/open/floor/plasteel/orange/corner, /area/hallway/primary/aft) -"dbI" = ( +"dgT" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/pen, @@ -75017,7 +79859,7 @@ }, /turf/open/floor/plasteel/orange, /area/hallway/primary/aft) -"dbJ" = ( +"dgU" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ id = "chemistbot"; @@ -75028,7 +79870,7 @@ }, /turf/open/floor/plating, /area/medical/chemistry) -"dbK" = ( +"dgV" = ( /obj/machinery/chem_dispenser, /obj/structure/disposalpipe/segment{ dir = 4 @@ -75038,10 +79880,9 @@ }, /turf/open/floor/plasteel, /area/medical/chemistry) -"dbL" = ( +"dgW" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ - icon_state = "pipe-t"; dir = 8 }, /obj/effect/turf_decal/stripes/line{ @@ -75049,12 +79890,12 @@ }, /turf/open/floor/plasteel, /area/medical/chemistry) -"dbM" = ( +"dgX" = ( /turf/open/floor/plasteel/whiteyellow/side{ dir = 10 }, /area/medical/chemistry) -"dbN" = ( +"dgY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, @@ -75062,7 +79903,7 @@ dir = 6 }, /area/medical/chemistry) -"dbO" = ( +"dgZ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -75071,13 +79912,13 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/chemistry) -"dbP" = ( +"dha" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/whiteyellow/corner, /area/medical/chemistry) -"dbQ" = ( +"dhb" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/machinery/door/window/southleft{ @@ -75095,7 +79936,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/medical/chemistry) -"dbR" = ( +"dhc" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -75103,7 +79944,7 @@ dir = 1 }, /area/medical/medbay/central) -"dbS" = ( +"dhd" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -75112,7 +79953,7 @@ dir = 1 }, /area/medical/medbay/central) -"dbT" = ( +"dhe" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -75120,7 +79961,7 @@ dir = 1 }, /area/medical/medbay/central) -"dbU" = ( +"dhf" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -26; pixel_y = 32 @@ -75130,14 +79971,14 @@ dir = 1 }, /area/medical/medbay/central) -"dbV" = ( +"dhg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/whiteblue, /area/medical/medbay/central) -"dbW" = ( +"dhh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -75146,7 +79987,7 @@ dir = 4 }, /area/medical/medbay/central) -"dbX" = ( +"dhi" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -75159,7 +80000,7 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"dbY" = ( +"dhj" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -75167,7 +80008,7 @@ dir = 4 }, /area/medical/medbay/central) -"dbZ" = ( +"dhk" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -75178,7 +80019,7 @@ dir = 4 }, /area/medical/medbay/central) -"dca" = ( +"dhl" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, @@ -75186,7 +80027,7 @@ dir = 1 }, /area/medical/medbay/central) -"dcb" = ( +"dhm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -75199,19 +80040,19 @@ dir = 1 }, /area/medical/medbay/central) -"dcc" = ( +"dhn" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/whiteblue/corner{ dir = 1 }, /area/medical/medbay/central) -"dcd" = ( +"dho" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"dce" = ( +"dhp" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, @@ -75219,26 +80060,37 @@ dir = 4 }, /area/medical/medbay/central) -"dcg" = ( +"dhq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/sign/poster/official/report_crimes{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/whiteblue/corner{ + dir = 4 + }, +/area/medical/medbay/central) +"dhr" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, /turf/open/floor/plasteel/whiteblue/corner{ dir = 4 }, /area/medical/medbay/central) -"dch" = ( +"dhs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/medical/medbay/central) -"dci" = ( +"dht" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dcj" = ( +"dhu" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -75247,7 +80099,7 @@ dir = 4 }, /area/maintenance/starboard/aft) -"dck" = ( +"dhv" = ( /obj/machinery/shower{ dir = 4; name = "emergency shower" @@ -75259,27 +80111,27 @@ dir = 8 }, /area/medical/abandoned) -"dcl" = ( +"dhw" = ( /turf/open/floor/plating, /area/medical/abandoned) -"dcm" = ( +"dhx" = ( /obj/machinery/iv_drip, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/medical/abandoned) -"dcn" = ( +"dhy" = ( /obj/structure/table/optable, /obj/effect/decal/cleanable/blood/old, /obj/effect/decal/cleanable/dirt, /obj/item/surgical_drapes, /turf/open/floor/plasteel/blue, /area/medical/abandoned) -"dco" = ( +"dhz" = ( /obj/structure/frame/computer, /obj/item/circuitboard/computer/operating, /turf/open/floor/plasteel/neutral, /area/medical/abandoned) -"dcp" = ( +"dhA" = ( /obj/structure/chair{ dir = 8 }, @@ -75291,27 +80143,27 @@ }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/abandoned) -"dcq" = ( +"dhB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 4 }, /area/maintenance/starboard/aft) -"dcr" = ( +"dhC" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dcs" = ( +"dhD" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"dct" = ( +"dhE" = ( /obj/machinery/vending/cigarette, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"dcu" = ( +"dhF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -75321,13 +80173,13 @@ dir = 5 }, /area/crew_quarters/abandoned_gambling_den) -"dcv" = ( +"dhG" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"dcw" = ( +"dhH" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -75335,7 +80187,7 @@ dir = 5 }, /area/crew_quarters/abandoned_gambling_den) -"dcx" = ( +"dhI" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -75347,7 +80199,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"dcy" = ( +"dhJ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -75358,7 +80210,7 @@ dir = 5 }, /area/crew_quarters/abandoned_gambling_den) -"dcz" = ( +"dhK" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -75370,7 +80222,20 @@ dir = 5 }, /area/crew_quarters/abandoned_gambling_den) -"dcA" = ( +"dhL" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/crew_quarters/abandoned_gambling_den) +"dhM" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -75385,13 +80250,13 @@ dir = 5 }, /area/crew_quarters/abandoned_gambling_den) -"dcB" = ( +"dhN" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/abandoned_gambling_den) -"dcC" = ( +"dhO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 @@ -75400,21 +80265,29 @@ dir = 5 }, /area/crew_quarters/abandoned_gambling_den) -"dcE" = ( +"dhP" = ( +/obj/item/twohanded/required/kirbyplants/random, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 + }, +/turf/open/floor/plating, +/area/crew_quarters/abandoned_gambling_den) +"dhQ" = ( /turf/closed/wall, /area/science/research/abandoned) -"dcF" = ( +"dhR" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/white, /obj/structure/barricade/wooden, /turf/open/floor/plating, /area/science/research/abandoned) -"dcG" = ( +"dhS" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/barricade/wooden, /turf/open/floor/plating, /area/science/research/abandoned) -"dcH" = ( +"dhT" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -75422,11 +80295,11 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/port) -"dcI" = ( +"dhU" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall/r_wall, /area/science/xenobiology) -"dcJ" = ( +"dhV" = ( /obj/machinery/light{ dir = 8 }, @@ -75434,38 +80307,37 @@ dir = 8 }, /area/science/research) -"dcK" = ( +"dhW" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/science/research) -"dcL" = ( +"dhX" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plasteel/purple, /area/science/research) -"dcM" = ( +"dhY" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/neutral, /area/science/research) -"dcN" = ( +"dhZ" = ( /obj/item/device/radio/beacon, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/purple, /area/science/research) -"dcO" = ( +"dia" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/science/research) -"dcP" = ( +"dib" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -75478,35 +80350,49 @@ }, /turf/open/floor/plasteel, /area/science/research) -"dcQ" = ( +"dic" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/science/research) +"did" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/purple, /area/science/research) -"dcR" = ( +"die" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/neutral, +/area/science/research) +"dif" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/purple, /area/science/research) -"dcS" = ( +"dig" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/purple, /area/science/research) -"dcT" = ( +"dih" = ( /turf/open/floor/plasteel/whitepurple/side{ dir = 4 }, /area/science/research) -"dcU" = ( +"dii" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ name = "Research and Development Lab"; @@ -75525,12 +80411,12 @@ }, /turf/open/floor/plasteel, /area/science/lab) -"dcV" = ( +"dij" = ( /turf/open/floor/plasteel/whitepurple/corner{ dir = 8 }, /area/science/lab) -"dcW" = ( +"dik" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -75538,14 +80424,14 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/neutral, /area/science/lab) -"dcX" = ( +"dil" = ( /obj/structure/chair/office/light{ icon_state = "officechair_white"; dir = 4 }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/lab) -"dcY" = ( +"dim" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/item/folder, @@ -75563,13 +80449,13 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/lab) -"dcZ" = ( +"din" = ( /turf/open/floor/plasteel/purple, /area/hallway/primary/aft) -"dda" = ( +"dio" = ( /turf/open/floor/plasteel/orange, /area/hallway/primary/aft) -"ddb" = ( +"dip" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/machinery/door/poddoor/shutters/preopen{ @@ -75587,11 +80473,11 @@ /obj/machinery/door/window/southleft{ dir = 8; name = "Chemistry Desk"; - req_access_txt = "5; 33" + req_access_txt = "0" }, /turf/open/floor/plasteel, /area/medical/chemistry) -"ddc" = ( +"diq" = ( /obj/structure/chair/office/light{ dir = 8 }, @@ -75599,7 +80485,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/chemistry) -"ddd" = ( +"dir" = ( /obj/machinery/requests_console{ department = "Chemistry Lab"; departmentType = 0; @@ -75612,18 +80498,18 @@ }, /turf/open/floor/plasteel, /area/medical/chemistry) -"dde" = ( +"dis" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/neutral, /area/medical/chemistry) -"ddf" = ( +"dit" = ( /turf/open/floor/plasteel/whiteyellow/corner, /area/medical/chemistry) -"ddg" = ( +"diu" = ( /obj/machinery/smartfridge/chemistry/preloaded, /turf/closed/wall, /area/medical/chemistry) -"ddh" = ( +"div" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -75631,39 +80517,46 @@ dir = 8 }, /area/medical/medbay/central) -"ddi" = ( +"diw" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"ddj" = ( +"dix" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"ddk" = ( +"diy" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"ddl" = ( +"diz" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/medical/medbay/central) +"diA" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/whiteblue, /area/medical/medbay/central) -"ddm" = ( +"diB" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whiteblue, /area/medical/medbay/central) -"ddn" = ( +"diC" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -75675,14 +80568,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/whiteblue, /area/medical/medbay/central) -"ddo" = ( +"diD" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/whiteblue, /area/medical/medbay/central) -"ddp" = ( +"diE" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -75695,7 +80588,7 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"ddq" = ( +"diF" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -75704,7 +80597,7 @@ }, /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"ddr" = ( +"diG" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -75713,14 +80606,14 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"dds" = ( +"diH" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"ddt" = ( +"diI" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -75729,14 +80622,14 @@ }, /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"ddu" = ( +"diJ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"ddv" = ( +"diK" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -75745,7 +80638,7 @@ }, /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"ddw" = ( +"diL" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -75754,14 +80647,14 @@ }, /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"ddx" = ( +"diM" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"ddy" = ( +"diN" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -75769,7 +80662,7 @@ dir = 4 }, /area/medical/medbay/central) -"ddz" = ( +"diO" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -75785,7 +80678,7 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"ddA" = ( +"diP" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -75794,7 +80687,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"ddB" = ( +"diQ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -75806,7 +80699,7 @@ dir = 4 }, /area/maintenance/starboard/aft) -"ddC" = ( +"diR" = ( /obj/structure/sink{ dir = 8; pixel_x = -12 @@ -75820,21 +80713,21 @@ }, /turf/open/floor/plating, /area/medical/abandoned) -"ddD" = ( +"diS" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/whiteblue/corner{ dir = 8 }, /area/medical/abandoned) -"ddE" = ( +"diT" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/whiteblue/side, /area/medical/abandoned) -"ddF" = ( +"diU" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/abandoned) -"ddG" = ( +"diV" = ( /obj/structure/chair{ dir = 8 }, @@ -75844,18 +80737,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/abandoned) -"ddH" = ( +"diW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/starboard/aft) -"ddI" = ( +"diX" = ( /obj/effect/decal/cleanable/cobweb, /obj/structure/dresser, /turf/open/floor/wood, /area/maintenance/starboard/aft) -"ddJ" = ( +"diY" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/table/wood, @@ -75864,7 +80757,7 @@ /obj/item/clothing/mask/gas/owl_mask, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"ddK" = ( +"diZ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wood, /obj/item/storage/secure/briefcase, @@ -75872,7 +80765,7 @@ /obj/item/grenade/smokebomb, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"ddL" = ( +"dja" = ( /obj/machinery/vending/assist, /obj/machinery/newscaster{ pixel_x = -32 @@ -75883,13 +80776,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"ddM" = ( +"djb" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/abandoned_gambling_den) -"ddN" = ( +"djc" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/wood, +/area/crew_quarters/abandoned_gambling_den) +"djd" = ( /obj/structure/chair/stool, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -75897,7 +80796,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"ddO" = ( +"dje" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -75907,7 +80806,14 @@ }, /turf/open/floor/wood, /area/crew_quarters/abandoned_gambling_den) -"ddP" = ( +"djf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/wood, +/area/crew_quarters/abandoned_gambling_den) +"djg" = ( /obj/structure/chair/wood/normal, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -75918,17 +80824,20 @@ icon_state = "wood-broken7" }, /area/crew_quarters/abandoned_gambling_den) -"ddQ" = ( +"djh" = ( /obj/structure/chair/wood/normal, /obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"ddR" = ( +"dji" = ( /obj/structure/chair/wood/normal, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/abandoned_gambling_den) -"ddS" = ( +"djj" = ( /obj/structure/table/wood/poker, /obj/structure/cable/white{ icon_state = "1-2" @@ -75939,7 +80848,7 @@ }, /turf/open/floor/wood, /area/crew_quarters/abandoned_gambling_den) -"ddT" = ( +"djk" = ( /obj/structure/table/wood/poker, /obj/item/storage/briefcase, /obj/effect/decal/cleanable/dirt, @@ -75949,7 +80858,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"ddU" = ( +"djl" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -75958,20 +80867,20 @@ /obj/effect/landmark/xeno_spawn, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"ddV" = ( +"djm" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/black, /area/crew_quarters/abandoned_gambling_den) -"ddW" = ( +"djn" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plating, /area/science/research/abandoned) -"ddX" = ( +"djo" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/science/research/abandoned) -"ddY" = ( +"djp" = ( /obj/structure/table/reinforced, /obj/machinery/light/small{ dir = 1 @@ -75984,7 +80893,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"ddZ" = ( +"djq" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/emergency{ pixel_x = 3; @@ -75998,19 +80907,19 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dea" = ( +"djr" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"deb" = ( +"djs" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dec" = ( +"djt" = ( /obj/machinery/light/small{ dir = 1 }, @@ -76020,27 +80929,27 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/science/research/abandoned) -"ded" = ( +"dju" = ( /obj/structure/table, /obj/item/folder/white, /obj/item/pen, /turf/open/floor/plating, /area/science/research/abandoned) -"dee" = ( +"djv" = ( /obj/structure/table, /obj/item/device/flashlight/lamp, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"def" = ( +"djw" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/port) -"deg" = ( +"djx" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -76049,14 +80958,14 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"deh" = ( +"djy" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/port) -"dei" = ( +"djz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 @@ -76065,17 +80974,27 @@ dir = 5 }, /area/maintenance/port) -"dej" = ( +"djA" = ( /turf/closed/wall/r_wall, /area/science/explab) -"del" = ( +"djB" = ( +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/mechanical, +/obj/item/device/flashlight, +/obj/effect/turf_decal/bot, +/obj/structure/sign/poster/official/science{ + pixel_x = -32 + }, +/turf/open/floor/plasteel, +/area/science/explab) +"djC" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plasteel, /area/science/explab) -"dem" = ( +"djD" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/machinery/light{ dir = 1 @@ -76086,7 +81005,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/explab) -"den" = ( +"djE" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -76096,7 +81015,7 @@ }, /turf/open/floor/plasteel, /area/science/explab) -"deo" = ( +"djF" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -76115,7 +81034,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/explab) -"dep" = ( +"djG" = ( /obj/structure/filingcabinet/chestdrawer, /obj/machinery/status_display{ pixel_y = 32 @@ -76123,12 +81042,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/explab) -"deq" = ( +"djH" = ( /obj/structure/closet/l3closet/scientist, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/explab) -"der" = ( +"djI" = ( /obj/structure/closet/bombcloset, /obj/machinery/light{ dir = 1 @@ -76136,17 +81055,26 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/explab) -"des" = ( +"djJ" = ( /obj/structure/table/reinforced, /obj/item/clothing/suit/radiation, /obj/item/clothing/head/radiation, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/explab) -"det" = ( +"djK" = ( /turf/closed/wall, /area/science/explab) -"deu" = ( +"djL" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel/whitepurple/corner{ + dir = 8 + }, +/area/science/research) +"djM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, @@ -76154,27 +81082,27 @@ dir = 8 }, /area/science/research) -"dev" = ( +"djN" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/whitepurple/side, /area/science/research) -"dew" = ( +"djO" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"dey" = ( +"djP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/whitepurple/side, /area/science/research) -"dez" = ( +"djQ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -76182,13 +81110,13 @@ dir = 8 }, /area/science/research) -"deA" = ( +"djR" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/whitepurple/corner{ dir = 8 }, /area/science/research) -"deB" = ( +"djS" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -76201,34 +81129,34 @@ }, /turf/open/floor/plasteel, /area/science/research) -"deC" = ( +"djT" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, /turf/open/floor/plasteel/whitepurple/corner{ dir = 8 }, /area/science/research) -"deD" = ( +"djU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/purple, /area/science/research) -"deE" = ( +"djV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"deF" = ( +"djW" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"deG" = ( +"djX" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ id = "rdrnd"; @@ -76239,7 +81167,7 @@ }, /turf/open/floor/plating, /area/science/lab) -"deH" = ( +"djY" = ( /obj/structure/table/reinforced, /obj/machinery/light, /obj/machinery/cell_charger, @@ -76259,7 +81187,7 @@ }, /turf/open/floor/plasteel, /area/science/lab) -"deI" = ( +"djZ" = ( /obj/structure/table/reinforced, /obj/item/stack/packageWrap, /obj/item/hand_labeler, @@ -76271,7 +81199,7 @@ }, /turf/open/floor/plasteel, /area/science/lab) -"deJ" = ( +"dka" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/mechanical{ pixel_x = -3; @@ -76291,7 +81219,7 @@ }, /turf/open/floor/plasteel, /area/science/lab) -"deK" = ( +"dkb" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -76300,7 +81228,7 @@ }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/lab) -"deL" = ( +"dkc" = ( /obj/structure/table/reinforced, /obj/item/folder/white, /obj/item/reagent_containers/glass/beaker/large, @@ -76314,7 +81242,7 @@ }, /turf/open/floor/plasteel, /area/science/lab) -"deM" = ( +"dkd" = ( /obj/structure/table/reinforced, /obj/machinery/light, /obj/item/paper_bin, @@ -76338,19 +81266,19 @@ }, /turf/open/floor/plasteel, /area/science/lab) -"deN" = ( +"dke" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel/purple, /area/hallway/primary/aft) -"deO" = ( +"dkf" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/plasteel/orange, /area/hallway/primary/aft) -"deP" = ( +"dkg" = ( /obj/machinery/chem_master, /obj/structure/extinguisher_cabinet{ pixel_y = -32 @@ -76362,14 +81290,14 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/medical/chemistry) -"deQ" = ( +"dkh" = ( /obj/machinery/chem_heater, /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/plasteel, /area/medical/chemistry) -"deR" = ( +"dki" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, @@ -76377,7 +81305,7 @@ dir = 8 }, /area/medical/chemistry) -"deS" = ( +"dkj" = ( /obj/structure/table/glass, /obj/item/stack/packageWrap, /obj/item/hand_labeler, @@ -76390,7 +81318,7 @@ }, /turf/open/floor/plasteel/whiteyellow/corner, /area/medical/chemistry) -"deT" = ( +"dkk" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -76404,7 +81332,7 @@ /obj/structure/closet/secure_closet/chemical, /turf/open/floor/plasteel/whiteyellow/corner, /area/medical/chemistry) -"deU" = ( +"dkl" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -76417,7 +81345,7 @@ }, /turf/open/floor/plasteel/whiteyellow/corner, /area/medical/chemistry) -"deV" = ( +"dkm" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_medical{ name = "Chemistry Lab"; @@ -76437,7 +81365,7 @@ }, /turf/open/floor/plasteel, /area/medical/chemistry) -"deW" = ( +"dkn" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -76448,13 +81376,13 @@ dir = 8 }, /area/medical/medbay/central) -"deX" = ( +"dko" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/whiteblue/corner{ dir = 8 }, /area/medical/medbay/central) -"deY" = ( +"dkp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -76462,7 +81390,7 @@ dir = 8 }, /area/medical/medbay/central) -"deZ" = ( +"dkq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -76476,7 +81404,7 @@ dir = 8 }, /area/medical/medbay/central) -"dfa" = ( +"dkr" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -76485,7 +81413,7 @@ dir = 8 }, /area/medical/medbay/central) -"dfb" = ( +"dks" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -76495,11 +81423,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/whiteblue, /area/medical/medbay/central) -"dfc" = ( +"dkt" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"dfd" = ( +"dku" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -76513,19 +81441,19 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"dfe" = ( +"dkv" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"dff" = ( +"dkw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/whiteblue/side, /area/medical/medbay/central) -"dfg" = ( +"dkx" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -76534,13 +81462,13 @@ dir = 8 }, /area/medical/medbay/central) -"dfh" = ( +"dky" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /turf/open/floor/plasteel/whiteblue/corner{ dir = 8 }, /area/medical/medbay/central) -"dfi" = ( +"dkz" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -76549,7 +81477,7 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"dfj" = ( +"dkA" = ( /obj/structure/sign/bluecross_2{ pixel_x = 32; pixel_y = -32 @@ -76560,30 +81488,45 @@ }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"dfl" = ( +"dkB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/light, +/obj/machinery/camera{ + c_tag = "Medbay - Starboard"; + dir = 1; + name = "medbay camera" + }, +/obj/structure/sign/poster/official/work_for_a_future{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/whiteblue/corner, +/area/medical/medbay/central) +"dkC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"dfm" = ( +"dkD" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"dfn" = ( +"dkE" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"dfo" = ( +"dkF" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/closed/wall, /area/medical/medbay/central) -"dfp" = ( +"dkG" = ( /obj/structure/rack, /obj/item/roller, /obj/item/reagent_containers/blood, @@ -76595,7 +81538,7 @@ dir = 8 }, /area/maintenance/starboard/aft) -"dfq" = ( +"dkH" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -76604,7 +81547,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dfr" = ( +"dkI" = ( /obj/structure/closet/secure_closet/medical2, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white, @@ -76617,13 +81560,13 @@ }, /turf/open/floor/plating, /area/medical/abandoned) -"dfs" = ( +"dkJ" = ( /obj/machinery/light/small, /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/medical/abandoned) -"dft" = ( +"dkK" = ( /obj/structure/table/reinforced, /obj/machinery/status_display{ pixel_y = -32 @@ -76634,7 +81577,7 @@ /obj/item/clothing/mask/surgical, /turf/open/floor/plasteel/vault, /area/medical/abandoned) -"dfu" = ( +"dkL" = ( /obj/structure/table/reinforced, /obj/machinery/newscaster{ pixel_y = -32 @@ -76644,7 +81587,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/medical/abandoned) -"dfv" = ( +"dkM" = ( /obj/structure/table/reinforced, /obj/machinery/status_display{ pixel_y = -32 @@ -76658,7 +81601,7 @@ /obj/item/clothing/neck/stethoscope, /turf/open/floor/plasteel/vault, /area/medical/abandoned) -"dfw" = ( +"dkN" = ( /obj/structure/table/reinforced, /obj/machinery/light/small, /obj/structure/bedsheetbin, @@ -76666,13 +81609,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault, /area/medical/abandoned) -"dfy" = ( +"dkO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/space_heater, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dfz" = ( +"dkP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 @@ -76680,7 +81623,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"dfA" = ( +"dkQ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch/abandoned{ name = "Maintenance Hatch"; @@ -76697,7 +81640,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"dfB" = ( +"dkR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/xeno_spawn, @@ -76708,7 +81651,7 @@ icon_state = "wood-broken2" }, /area/maintenance/starboard/aft) -"dfC" = ( +"dkS" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/office/dark{ dir = 4 @@ -76716,17 +81659,23 @@ /obj/effect/landmark/revenantspawn, /turf/open/floor/wood, /area/maintenance/starboard/aft) -"dfD" = ( +"dkT" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wood, /obj/item/device/modular_computer/tablet/preset/cheap, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dfE" = ( +"dkU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"dfF" = ( +"dkV" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/crew_quarters/abandoned_gambling_den) +"dkW" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -76738,7 +81687,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"dfG" = ( +"dkX" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -76751,7 +81700,7 @@ dir = 8 }, /area/crew_quarters/abandoned_gambling_den) -"dfH" = ( +"dkY" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -76763,7 +81712,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"dfI" = ( +"dkZ" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -76775,7 +81724,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"dfJ" = ( +"dla" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -76788,25 +81737,25 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"dfK" = ( +"dlb" = ( /obj/structure/table/wood/poker, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"dfL" = ( +"dlc" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/abandoned_gambling_den) -"dfM" = ( +"dld" = ( /obj/machinery/airalarm{ dir = 8; pixel_x = 24 }, /turf/open/floor/plasteel/black, /area/crew_quarters/abandoned_gambling_den) -"dfN" = ( +"dle" = ( /obj/structure/table/reinforced, /obj/item/disk/tech_disk{ pixel_x = 3; @@ -76817,17 +81766,17 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dfO" = ( +"dlf" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dfP" = ( +"dlg" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/science/research/abandoned) -"dfQ" = ( +"dlh" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -76835,34 +81784,34 @@ }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dfR" = ( +"dli" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dfS" = ( +"dlj" = ( /obj/structure/chair/office/light{ dir = 1 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/science/research/abandoned) -"dfT" = ( +"dlk" = ( /obj/structure/table, /obj/item/paper_bin, /obj/item/pen, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dfU" = ( +"dll" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, /turf/open/floor/plating, /area/maintenance/port) -"dfV" = ( +"dlm" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -76873,7 +81822,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port) -"dfW" = ( +"dln" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "2-8" @@ -76883,7 +81832,7 @@ dir = 4 }, /area/maintenance/port) -"dfX" = ( +"dlo" = ( /obj/structure/table/reinforced, /obj/machinery/newscaster{ pixel_x = -32 @@ -76894,7 +81843,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/explab) -"dfY" = ( +"dlp" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 5 }, @@ -76902,7 +81851,7 @@ dir = 1 }, /area/science/explab) -"dfZ" = ( +"dlq" = ( /obj/machinery/atmospherics/components/trinary/filter{ dir = 8 }, @@ -76910,7 +81859,7 @@ dir = 1 }, /area/science/explab) -"dga" = ( +"dlr" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 9 }, @@ -76918,7 +81867,7 @@ dir = 1 }, /area/science/explab) -"dgb" = ( +"dls" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -76926,23 +81875,37 @@ dir = 1 }, /area/science/explab) -"dgc" = ( +"dlt" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/whitepurple/corner{ dir = 4 }, /area/science/explab) -"dgd" = ( +"dlu" = ( /turf/open/floor/plasteel/whitepurple/corner{ dir = 4 }, /area/science/explab) -"dgf" = ( +"dlv" = ( +/obj/structure/table/reinforced, +/obj/item/stack/cable_coil/white{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stack/cable_coil/white, +/obj/item/device/geiger_counter, +/obj/effect/turf_decal/bot, +/obj/structure/sign/poster/official/cleanliness{ + pixel_x = 32 + }, +/turf/open/floor/plasteel, +/area/science/explab) +"dlw" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/science/research) -"dgg" = ( +"dlx" = ( /obj/machinery/door/firedoor/heavy, /obj/machinery/door/airlock/research{ name = "Research Division Access"; @@ -76956,18 +81919,23 @@ }, /turf/open/floor/plasteel, /area/science/research) -"dgh" = ( +"dly" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/science/research) +"dlz" = ( /obj/structure/sign/nosmoking_2, /turf/closed/wall, /area/science/research) -"dgi" = ( +"dlA" = ( /obj/structure/cable/white{ icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/science/misc_lab/range) -"dgj" = ( +"dlB" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "2-4" @@ -76988,21 +81956,21 @@ }, /turf/open/floor/plasteel, /area/science/misc_lab/range) -"dgk" = ( +"dlC" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/science/misc_lab/range) -"dgl" = ( +"dlD" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall/r_wall, /area/crew_quarters/heads/hor) -"dgm" = ( +"dlE" = ( /turf/closed/wall/r_wall, /area/crew_quarters/heads/hor) -"dgn" = ( +"dlF" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -77013,11 +81981,11 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hor) -"dgo" = ( +"dlG" = ( /obj/structure/sign/securearea, /turf/closed/wall/r_wall, /area/crew_quarters/heads/hor) -"dgp" = ( +"dlH" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -77028,7 +81996,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hor) -"dgq" = ( +"dlI" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -77042,7 +82010,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hor) -"dgr" = ( +"dlJ" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -77056,30 +82024,30 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hor) -"dgs" = ( +"dlK" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whitepurple/corner{ dir = 8 }, /area/science/research) -"dgt" = ( +"dlL" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/extinguisher_cabinet{ pixel_x = 26 }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"dgu" = ( +"dlM" = ( /turf/closed/wall, /area/science/robotics/mechbay) -"dgv" = ( +"dlN" = ( /turf/closed/wall/r_wall, /area/science/robotics/mechbay) -"dgw" = ( +"dlO" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/science/robotics/mechbay) -"dgx" = ( +"dlP" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ name = "Research and Development Lab"; @@ -77097,7 +82065,7 @@ }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dgy" = ( +"dlQ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, /obj/machinery/door/firedoor, @@ -77109,7 +82077,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dgz" = ( +"dlR" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ dir = 2 @@ -77119,7 +82087,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dgA" = ( +"dlS" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/machinery/firealarm{ @@ -77135,10 +82103,10 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dgB" = ( +"dlT" = ( /turf/closed/wall, -/area/hallway/primary/aft) -"dgC" = ( +/area/maintenance/department/medical) +"dlU" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance_hatch{ name = "Chemistry Maintenance"; @@ -77153,18 +82121,18 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/medical) -"dgD" = ( +"dlV" = ( /turf/closed/wall, /area/medical/genetics/cloning) -"dgE" = ( +"dlW" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/medical/genetics/cloning) -"dgF" = ( +"dlX" = ( /obj/structure/sign/bluecross_2, /turf/closed/wall, /area/medical/genetics/cloning) -"dgG" = ( +"dlY" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -77178,7 +82146,7 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"dgH" = ( +"dlZ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -77191,14 +82159,14 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"dgI" = ( +"dma" = ( /turf/closed/wall, /area/medical/surgery) -"dgJ" = ( +"dmb" = ( /obj/machinery/status_display, /turf/closed/wall, /area/medical/surgery) -"dgK" = ( +"dmc" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ name = "Surgery Observation"; @@ -77213,11 +82181,11 @@ }, /turf/open/floor/plasteel, /area/medical/surgery) -"dgL" = ( +"dmd" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/medical/surgery) -"dgM" = ( +"dme" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ name = "Surgery Observation"; @@ -77226,19 +82194,20 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/medical/surgery) -"dgN" = ( +"dmf" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dgO" = ( +"dmg" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -77248,15 +82217,27 @@ dir = 4 }, /area/maintenance/starboard/aft) -"dgP" = ( +"dmh" = ( /turf/closed/wall, /area/hallway/secondary/construction) -"dgR" = ( +"dmi" = ( +/obj/item/twohanded/required/kirbyplants/random, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/crew_quarters/abandoned_gambling_den) +"dmj" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/crew_quarters/abandoned_gambling_den) +"dmk" = ( +/turf/open/floor/wood, +/area/crew_quarters/abandoned_gambling_den) +"dml" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/crew_quarters/abandoned_gambling_den) -"dgS" = ( +"dmm" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-2" @@ -77266,19 +82247,19 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"dgT" = ( +"dmn" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/abandoned_gambling_den) -"dgU" = ( +"dmo" = ( /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/abandoned_gambling_den) -"dgV" = ( +"dmp" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-2" @@ -77288,7 +82269,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"dgW" = ( +"dmq" = ( /obj/structure/chair/wood/normal{ dir = 8 }, @@ -77297,7 +82278,7 @@ icon_state = "wood-broken4" }, /area/crew_quarters/abandoned_gambling_den) -"dgX" = ( +"dmr" = ( /obj/structure/table/reinforced, /obj/item/stock_parts/matter_bin, /obj/machinery/airalarm{ @@ -77309,13 +82290,13 @@ }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dgY" = ( +"dms" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dgZ" = ( +"dmt" = ( /obj/structure/frame/machine, /obj/item/stack/cable_coil/white, /obj/effect/decal/cleanable/dirt, @@ -77324,14 +82305,14 @@ }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dha" = ( +"dmu" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dhb" = ( +"dmv" = ( /obj/structure/frame/machine, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -77339,37 +82320,37 @@ }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dhc" = ( +"dmw" = ( /turf/open/floor/plasteel/neutral/side{ dir = 4 }, /area/science/research/abandoned) -"dhd" = ( +"dmx" = ( /obj/effect/decal/cleanable/oil, /turf/open/floor/plasteel/neutral, /area/science/research/abandoned) -"dhe" = ( +"dmy" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dhf" = ( +"dmz" = ( /obj/structure/rack, /obj/item/storage/toolbox/electrical, /obj/item/device/multitool, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/science/research/abandoned) -"dhg" = ( +"dmA" = ( /obj/machinery/light/small{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port) -"dhh" = ( +"dmB" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/turf_decal/bot, /obj/machinery/light_switch{ @@ -77377,41 +82358,41 @@ }, /turf/open/floor/plasteel, /area/science/explab) -"dhi" = ( +"dmC" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/whitepurple/side{ dir = 8 }, /area/science/explab) -"dhj" = ( +"dmD" = ( /turf/open/floor/plasteel/neutral, /area/science/explab) -"dhk" = ( +"dmE" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/science/explab) -"dhl" = ( +"dmF" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral, /area/science/explab) -"dhm" = ( +"dmG" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/science/explab) -"dhn" = ( +"dmH" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/explab) -"dho" = ( +"dmI" = ( /turf/open/floor/plasteel/whitepurple/side{ dir = 4 }, /area/science/explab) -"dhp" = ( +"dmJ" = ( /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -77419,7 +82400,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/explab) -"dhq" = ( +"dmK" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, @@ -77430,7 +82411,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/research) -"dhr" = ( +"dmL" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -77439,13 +82420,13 @@ }, /turf/open/floor/plasteel, /area/science/research) -"dhs" = ( +"dmM" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/science/research) -"dht" = ( +"dmN" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, @@ -77454,7 +82435,7 @@ }, /turf/open/floor/plasteel, /area/science/research) -"dhu" = ( +"dmO" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, @@ -77467,8 +82448,11 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/research) -"dhv" = ( +"dmP" = ( /obj/structure/table/reinforced, +/obj/machinery/magnetic_controller{ + autolink = 1 + }, /obj/item/gun/energy/laser/practice{ pixel_x = 3; pixel_y = -3 @@ -77493,13 +82477,9 @@ pixel_y = 3 }, /obj/effect/turf_decal/delivery, -/obj/machinery/magnetic_controller{ - autolink = 1; - pixel_y = 3 - }, /turf/open/floor/plasteel, /area/science/misc_lab/range) -"dhw" = ( +"dmQ" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -77515,16 +82495,10 @@ }, /turf/open/floor/plasteel, /area/science/misc_lab/range) -"dhx" = ( -/obj/item/stack/rods{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +"dmR" = ( +/obj/item/stack/rods/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/metal/fifty, /obj/item/target, /obj/item/target/syndicate, /obj/item/target/alien, @@ -77543,7 +82517,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/misc_lab/range) -"dhy" = ( +"dmS" = ( /obj/structure/table/reinforced, /obj/item/folder/white, /obj/item/device/paicard, @@ -77557,7 +82531,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dhz" = ( +"dmT" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -77566,7 +82540,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dhA" = ( +"dmU" = ( /obj/structure/displaycase/labcage, /obj/machinery/light{ dir = 1 @@ -77574,21 +82548,21 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dhB" = ( +"dmV" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dhC" = ( +"dmW" = ( /obj/structure/table, /obj/item/paper_bin, /obj/item/pen, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dhD" = ( +"dmX" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-2" @@ -77600,11 +82574,11 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hor) -"dhE" = ( +"dmY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"dhF" = ( +"dmZ" = ( /obj/structure/table, /obj/item/stock_parts/cell/high, /obj/item/stock_parts/cell/high, @@ -77623,7 +82597,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dhG" = ( +"dna" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -77632,7 +82606,7 @@ }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dhH" = ( +"dnb" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -77641,7 +82615,7 @@ }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dhI" = ( +"dnc" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -77654,7 +82628,7 @@ }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dhJ" = ( +"dnd" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -77664,7 +82638,7 @@ }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dhK" = ( +"dne" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -77679,7 +82653,7 @@ }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dhL" = ( +"dnf" = ( /obj/structure/table, /obj/item/paper_bin, /obj/item/pen, @@ -77692,7 +82666,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dhM" = ( +"dng" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, /obj/item/wrench, @@ -77701,13 +82675,13 @@ dir = 1 }, /area/maintenance/department/medical) -"dhN" = ( +"dnh" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/blue/corner{ dir = 1 }, /area/maintenance/department/medical) -"dhO" = ( +"dni" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/power/apc{ dir = 1; @@ -77721,14 +82695,14 @@ /obj/effect/turf_decal/stripes/end, /turf/open/floor/plating, /area/maintenance/department/medical) -"dhP" = ( +"dnj" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/blue/corner{ dir = 4 }, /area/maintenance/department/medical) -"dhQ" = ( +"dnk" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/table, @@ -77737,7 +82711,7 @@ icon_state = "platingdmg2" }, /area/maintenance/department/medical) -"dhR" = ( +"dnl" = ( /obj/machinery/clonepod, /obj/structure/window/reinforced{ dir = 4 @@ -77749,7 +82723,7 @@ dir = 8 }, /area/medical/genetics/cloning) -"dhS" = ( +"dnm" = ( /obj/machinery/computer/cloning, /obj/machinery/light{ dir = 1 @@ -77761,7 +82735,7 @@ dir = 1 }, /area/medical/genetics/cloning) -"dhT" = ( +"dnn" = ( /obj/machinery/dna_scannernew, /obj/machinery/airalarm{ pixel_y = 22 @@ -77770,19 +82744,19 @@ dir = 1 }, /area/medical/genetics/cloning) -"dhU" = ( +"dno" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/whitepurple/corner{ dir = 1 }, /area/medical/genetics/cloning) -"dhV" = ( +"dnp" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/whiteblue/corner{ dir = 4 }, /area/medical/genetics/cloning) -"dhW" = ( +"dnq" = ( /obj/structure/table/glass, /obj/item/storage/box/bodybags{ pixel_x = 3; @@ -77794,7 +82768,7 @@ dir = 4 }, /area/medical/genetics/cloning) -"dhX" = ( +"dnr" = ( /obj/structure/table/glass, /obj/structure/cable/white{ icon_state = "0-2" @@ -77811,13 +82785,13 @@ dir = 4 }, /area/medical/genetics/cloning) -"dhY" = ( +"dns" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whiteblue/corner{ dir = 8 }, /area/medical/medbay/central) -"dhZ" = ( +"dnt" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -77827,24 +82801,24 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"dia" = ( +"dnu" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"dib" = ( +"dnv" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/whiteblue, /area/medical/medbay/central) -"dic" = ( +"dnw" = ( /obj/machinery/atmospherics/components/unary/cryo_cell, /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"did" = ( +"dnx" = ( /obj/structure/table, /obj/item/reagent_containers/glass/beaker/cryoxadone{ pixel_x = -6; @@ -77860,14 +82834,14 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"die" = ( +"dny" = ( /obj/machinery/atmospherics/components/unary/cryo_cell, /obj/effect/turf_decal/stripes/line{ dir = 5 }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"dif" = ( +"dnz" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, @@ -77875,7 +82849,7 @@ dir = 8 }, /area/medical/medbay/central) -"dig" = ( +"dnA" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -77884,34 +82858,34 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"dih" = ( +"dnB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"dii" = ( +"dnC" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/vault, /area/medical/surgery) -"dij" = ( +"dnD" = ( /turf/open/floor/plasteel/vault, /area/medical/surgery) -"dik" = ( +"dnE" = ( /obj/machinery/light/small{ dir = 1 }, /turf/open/floor/plasteel/vault, /area/medical/surgery) -"dil" = ( +"dnF" = ( /obj/structure/sign/bluecross_2, /turf/closed/wall, /area/medical/surgery) -"dim" = ( +"dnG" = ( /obj/structure/chair, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/medical/surgery) -"din" = ( +"dnH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, @@ -77919,12 +82893,12 @@ dir = 5 }, /area/medical/surgery) -"dio" = ( +"dnI" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/medical/surgery) -"dip" = ( +"dnJ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, @@ -77932,7 +82906,7 @@ dir = 5 }, /area/medical/surgery) -"diq" = ( +"dnK" = ( /obj/structure/chair, /obj/machinery/newscaster{ pixel_x = 32 @@ -77941,7 +82915,7 @@ dir = 5 }, /area/medical/surgery) -"dir" = ( +"dnL" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -77949,7 +82923,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dis" = ( +"dnM" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -77959,21 +82933,21 @@ dir = 4 }, /area/maintenance/starboard/aft) -"dit" = ( +"dnN" = ( /obj/structure/table, /obj/item/storage/toolbox/mechanical, /obj/item/device/flashlight, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"diu" = ( +"dnO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/end{ dir = 8 }, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"div" = ( +"dnP" = ( /obj/machinery/pipedispenser, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -77984,7 +82958,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"diw" = ( +"dnQ" = ( /obj/machinery/pipedispenser/disposal, /obj/effect/turf_decal/stripes/line{ dir = 2 @@ -77994,7 +82968,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"dix" = ( +"dnR" = ( /obj/machinery/pipedispenser/disposal/transit_tube, /obj/effect/turf_decal/stripes/line{ dir = 2 @@ -78004,14 +82978,14 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"diy" = ( +"dnS" = ( /obj/structure/filingcabinet/chestdrawer, /obj/effect/turf_decal/stripes/end{ dir = 4 }, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"diz" = ( +"dnT" = ( /obj/structure/table, /obj/item/clothing/gloves/color/black, /obj/item/clothing/suit/hazardvest, @@ -78019,7 +82993,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"diA" = ( +"dnU" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance, @@ -78028,7 +83002,7 @@ dir = 8 }, /area/maintenance/starboard/aft) -"diB" = ( +"dnV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -78037,7 +83011,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"diC" = ( +"dnW" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -78047,7 +83021,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"diD" = ( +"dnX" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/xeno_spawn, @@ -78056,17 +83030,27 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"diE" = ( +"dnY" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"diG" = ( +"dnZ" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random{ + pixel_x = -32 + }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/abandoned_gambling_den) -"diH" = ( +"doa" = ( +/turf/open/floor/plasteel/grimy, +/area/crew_quarters/abandoned_gambling_den) +"dob" = ( /obj/structure/table/wood/poker, /obj/item/stack/spacecash/c1000{ pixel_y = 8 @@ -78074,27 +83058,28 @@ /obj/item/stack/spacecash/c500, /turf/open/floor/plasteel/grimy, /area/crew_quarters/abandoned_gambling_den) -"diI" = ( +"doc" = ( /obj/structure/chair/wood/normal{ dir = 4 }, /turf/open/floor/wood, /area/crew_quarters/abandoned_gambling_den) -"diJ" = ( +"dod" = ( /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"diK" = ( +"doe" = ( /obj/structure/chair/wood/normal{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"diL" = ( +"dof" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"diM" = ( +"dog" = ( /obj/structure/table/reinforced, /obj/item/stack/cable_coil/white, /obj/item/stock_parts/scanning_module{ @@ -78111,19 +83096,21 @@ }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"diN" = ( -/obj/structure/frame/computer, +"doh" = ( +/obj/structure/frame/computer{ + dir = 4 + }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"diO" = ( +"doi" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/research/abandoned) -"diP" = ( +"doj" = ( /obj/structure/frame/machine, /obj/item/stack/cable_coil/white, /obj/effect/decal/cleanable/dirt, @@ -78132,29 +83119,29 @@ }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"diQ" = ( +"dok" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side{ dir = 4 }, /area/science/research/abandoned) -"diR" = ( +"dol" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/effect/landmark/xeno_spawn, /turf/open/floor/plasteel/neutral, /area/science/research/abandoned) -"diS" = ( +"dom" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"diT" = ( +"don" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"diU" = ( +"doo" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/button/door{ id = "maintrobotics"; @@ -78163,7 +83150,7 @@ }, /turf/open/floor/plating, /area/science/research/abandoned) -"diV" = ( +"dop" = ( /obj/machinery/door/poddoor/preopen{ id = "maintrobotics"; name = "Decrepit Blast Door" @@ -78178,14 +83165,14 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"diW" = ( +"doq" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /turf/open/floor/plating, /area/maintenance/port) -"diX" = ( +"dor" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -78200,7 +83187,7 @@ dir = 4 }, /area/maintenance/port) -"diY" = ( +"dos" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -78220,7 +83207,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"diZ" = ( +"dot" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -78230,7 +83217,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/explab) -"dja" = ( +"dou" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -78242,7 +83229,7 @@ dir = 8 }, /area/science/explab) -"djb" = ( +"dov" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -78250,14 +83237,13 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/whitepurple/corner{ dir = 8 }, /area/science/explab) -"djc" = ( +"dow" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -78271,7 +83257,7 @@ dir = 8 }, /area/science/explab) -"djd" = ( +"dox" = ( /obj/structure/table/reinforced, /obj/structure/cable/white{ icon_state = "1-8" @@ -78291,7 +83277,7 @@ }, /turf/open/floor/plasteel, /area/science/explab) -"dje" = ( +"doy" = ( /obj/structure/chair/office/light, /obj/effect/landmark/start/scientist, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, @@ -78303,7 +83289,7 @@ }, /turf/open/floor/plasteel, /area/science/explab) -"djf" = ( +"doz" = ( /obj/structure/table/reinforced, /obj/item/clipboard, /obj/item/folder/white, @@ -78319,7 +83305,7 @@ }, /turf/open/floor/plasteel, /area/science/explab) -"djg" = ( +"doA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -78328,7 +83314,7 @@ }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/explab) -"djh" = ( +"doB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -78338,7 +83324,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/explab) -"dji" = ( +"doC" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ name = "Experimentation Lab"; @@ -78358,7 +83344,7 @@ }, /turf/open/floor/plasteel, /area/science/explab) -"djj" = ( +"doD" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -78368,7 +83354,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/research) -"djk" = ( +"doE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -78381,7 +83367,7 @@ }, /turf/open/floor/plasteel, /area/science/research) -"djl" = ( +"doF" = ( /obj/machinery/holopad, /obj/effect/landmark/lightsout, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -78393,7 +83379,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/research) -"djm" = ( +"doG" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/structure/disposalpipe/segment{ dir = 4 @@ -78403,7 +83389,7 @@ }, /turf/open/floor/plasteel, /area/science/research) -"djn" = ( +"doH" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ name = "Firing Range"; @@ -78423,7 +83409,7 @@ }, /turf/open/floor/plasteel, /area/science/research) -"djo" = ( +"doI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -78436,14 +83422,13 @@ }, /turf/open/floor/plasteel, /area/science/misc_lab/range) -"djp" = ( +"doJ" = ( /obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 4 }, /obj/effect/turf_decal/bot, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -78451,7 +83436,7 @@ }, /turf/open/floor/plasteel, /area/science/misc_lab/range) -"djq" = ( +"doK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, @@ -78463,7 +83448,7 @@ }, /turf/open/floor/plasteel, /area/science/misc_lab/range) -"djr" = ( +"doL" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -78477,20 +83462,19 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hor) -"djs" = ( +"doM" = ( /obj/structure/table/reinforced, /obj/item/device/aicard, /obj/item/circuitboard/aicore, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 4; - icon_state = "pipe-j1s"; name = "RD's Junction"; sortType = 13 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"djt" = ( +"doN" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -78502,27 +83486,26 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dju" = ( +"doO" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"djv" = ( +"doP" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"djw" = ( +"doQ" = ( /obj/structure/filingcabinet/chestdrawer, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -78531,7 +83514,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"djx" = ( +"doR" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-2" @@ -78546,7 +83529,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hor) -"djy" = ( +"doS" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -78554,33 +83537,31 @@ dir = 8 }, /area/science/research) -"djz" = ( -/obj/structure/disposalpipe/sortjunction{ +"doT" = ( +/obj/structure/disposalpipe/sorting/mail{ dir = 1; - icon_state = "pipe-j1s"; name = "Robotics Junction"; sortType = 14 }, /turf/open/floor/plasteel/neutral, /area/science/research) -"djA" = ( +"doU" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"djB" = ( +"doV" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/science/robotics/mechbay) -"djC" = ( +"doW" = ( /obj/machinery/recharge_station, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -78588,7 +83569,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"djD" = ( +"doX" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -78602,22 +83583,22 @@ }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"djE" = ( +"doY" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"djF" = ( +"doZ" = ( /obj/machinery/computer/mech_bay_power_console, /turf/open/floor/circuit, /area/science/robotics/mechbay) -"djG" = ( +"dpa" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/mech_bay_recharge_floor, /area/science/robotics/mechbay) -"djH" = ( +"dpb" = ( /obj/machinery/mech_bay_recharge_port{ icon_state = "recharge_port"; dir = 8 @@ -78627,19 +83608,19 @@ }, /turf/open/floor/plating, /area/science/robotics/mechbay) -"djI" = ( +"dpc" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"djJ" = ( +"dpd" = ( /obj/structure/filingcabinet/chestdrawer, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"djK" = ( +"dpe" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, /obj/machinery/camera{ @@ -78652,14 +83633,14 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"djL" = ( +"dpf" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/aft) -"djM" = ( +"dpg" = ( /obj/machinery/door/firedoor, /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch{ @@ -78677,14 +83658,14 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/medical) -"djN" = ( +"dph" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/department/medical) -"djO" = ( +"dpi" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -78693,7 +83674,7 @@ icon_state = "platingdmg3" }, /area/maintenance/department/medical) -"djP" = ( +"dpj" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -78703,13 +83684,13 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/department/medical) -"djQ" = ( +"dpk" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/maintenance/department/medical) -"djR" = ( +"dpl" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, /obj/item/reagent_containers/blood/random, @@ -78718,7 +83699,7 @@ dir = 4 }, /area/maintenance/department/medical) -"djS" = ( +"dpm" = ( /obj/machinery/door/window/eastleft, /obj/structure/mirror{ pixel_x = -28 @@ -78731,27 +83712,27 @@ dir = 5 }, /area/medical/genetics/cloning) -"djT" = ( +"dpn" = ( /turf/open/floor/plasteel/whiteblue/corner{ dir = 1 }, /area/medical/genetics/cloning) -"djU" = ( +"dpo" = ( /turf/open/floor/plasteel/neutral, /area/medical/genetics/cloning) -"djV" = ( +"dpp" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/medical/genetics/cloning) -"djW" = ( +"dpq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/medical/genetics/cloning) -"djX" = ( +"dpr" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -78762,7 +83743,7 @@ dir = 4 }, /area/medical/genetics/cloning) -"djY" = ( +"dps" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_medical{ id_tag = "cloningfoyer"; @@ -78783,7 +83764,7 @@ }, /turf/open/floor/plasteel, /area/medical/genetics/cloning) -"djZ" = ( +"dpt" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -78795,7 +83776,7 @@ dir = 8 }, /area/medical/medbay/central) -"dka" = ( +"dpu" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -78808,10 +83789,10 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"dkb" = ( +"dpv" = ( /turf/open/floor/plasteel/whiteblue, /area/medical/medbay/central) -"dkc" = ( +"dpw" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 5 }, @@ -78820,14 +83801,14 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"dkd" = ( +"dpx" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 1 }, /obj/effect/landmark/start/medical_doctor, /turf/open/floor/plasteel, /area/medical/medbay/central) -"dke" = ( +"dpy" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 9 }, @@ -78836,20 +83817,26 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"dkf" = ( +"dpz" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/blue, +/area/medical/medbay/central) +"dpA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/extinguisher_cabinet{ pixel_x = 26 }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"dkg" = ( +"dpB" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/medical/surgery) -"dkh" = ( +"dpC" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ name = "Surgery Observation"; @@ -78863,7 +83850,7 @@ }, /turf/open/floor/plasteel, /area/medical/surgery) -"dki" = ( +"dpD" = ( /obj/structure/chair, /obj/machinery/light{ dir = 4 @@ -78872,7 +83859,7 @@ dir = 5 }, /area/medical/surgery) -"dkj" = ( +"dpE" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -78881,7 +83868,7 @@ dir = 8 }, /area/maintenance/starboard/aft) -"dkk" = ( +"dpF" = ( /obj/structure/rack, /obj/machinery/light/small{ dir = 8 @@ -78895,14 +83882,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"dkl" = ( +"dpG" = ( /turf/open/floor/plating, /area/hallway/secondary/construction) -"dkm" = ( +"dpH" = ( /obj/effect/decal/cleanable/oil, /turf/open/floor/plating, /area/hallway/secondary/construction) -"dkn" = ( +"dpI" = ( /obj/machinery/light/small{ dir = 4 }, @@ -78914,17 +83901,17 @@ dir = 4 }, /area/hallway/secondary/construction) -"dko" = ( +"dpJ" = ( /obj/effect/landmark/blobstart, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dkp" = ( +"dpK" = ( /obj/structure/closet/emcloset, /obj/item/clothing/mask/breath, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dkq" = ( +"dpL" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -78932,17 +83919,17 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"dkr" = ( +"dpM" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dks" = ( +"dpN" = ( /obj/structure/table/wood/poker, /obj/item/clothing/glasses/sunglasses/big, /turf/open/floor/plasteel/grimy, /area/crew_quarters/abandoned_gambling_den) -"dkt" = ( +"dpO" = ( /obj/structure/table/wood/poker, /obj/item/stack/spacecash/c10{ pixel_x = -16; @@ -78952,7 +83939,7 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plasteel/grimy, /area/crew_quarters/abandoned_gambling_den) -"dku" = ( +"dpP" = ( /obj/structure/table/wood/poker, /obj/item/toy/cards/deck/syndicate{ icon_state = "deck_syndicate_full"; @@ -78960,13 +83947,13 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/abandoned_gambling_den) -"dkv" = ( +"dpQ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /mob/living/simple_animal/cockroach, /turf/open/floor/wood, /area/crew_quarters/abandoned_gambling_den) -"dkw" = ( +"dpR" = ( /obj/structure/chair/wood/normal{ dir = 4 }, @@ -78975,21 +83962,21 @@ icon_state = "wood-broken3" }, /area/crew_quarters/abandoned_gambling_den) -"dkx" = ( +"dpS" = ( /obj/effect/decal/cleanable/blood/old, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/abandoned_gambling_den) -"dky" = ( +"dpT" = ( /obj/effect/decal/cleanable/vomit/old, /obj/effect/landmark/blobstart, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/abandoned_gambling_den) -"dkz" = ( +"dpU" = ( /obj/item/storage/toolbox/emergency, /obj/effect/decal/cleanable/blood/old, /obj/effect/decal/cleanable/dirt, @@ -78997,14 +83984,14 @@ dir = 5 }, /area/crew_quarters/abandoned_gambling_den) -"dkA" = ( +"dpV" = ( /obj/structure/chair/wood/normal{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/abandoned_gambling_den) -"dkB" = ( +"dpW" = ( /obj/structure/table/reinforced, /obj/item/folder/white, /obj/item/stock_parts/cell/high, @@ -79014,7 +84001,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/science/research/abandoned) -"dkC" = ( +"dpX" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -79022,15 +84009,15 @@ }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dkD" = ( +"dpY" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dkE" = ( +"dpZ" = ( /turf/open/floor/plating, /area/science/research/abandoned) -"dkF" = ( +"dqa" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "2-4" @@ -79038,7 +84025,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dkG" = ( +"dqb" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -79048,7 +84035,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dkH" = ( +"dqc" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -79060,7 +84047,7 @@ }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dkI" = ( +"dqd" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -79070,7 +84057,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dkJ" = ( +"dqe" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -79091,7 +84078,7 @@ }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dkK" = ( +"dqf" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/poddoor/preopen{ id = "maintrobotics"; @@ -79113,7 +84100,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"dkL" = ( +"dqg" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -79125,7 +84112,7 @@ dir = 8 }, /area/maintenance/port) -"dkM" = ( +"dqh" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -79139,13 +84126,13 @@ dir = 4 }, /area/maintenance/port) -"dkN" = ( +"dqi" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/science/explab) -"dkO" = ( +"dqj" = ( /obj/structure/table, /obj/item/stack/medical/gauze, /obj/item/stack/medical/bruise_pack, @@ -79156,12 +84143,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/explab) -"dkP" = ( +"dqk" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/explab) -"dkQ" = ( +"dql" = ( /obj/machinery/light, /obj/machinery/disposal/bin, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -79173,7 +84160,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/explab) -"dkR" = ( +"dqm" = ( /obj/structure/table/reinforced, /obj/item/clothing/gloves/color/white, /obj/item/clothing/gloves/color/white, @@ -79187,7 +84174,7 @@ }, /turf/open/floor/plasteel, /area/science/explab) -"dkS" = ( +"dqn" = ( /obj/structure/table/reinforced, /obj/item/book/manual/experimentor, /obj/item/device/healthanalyzer, @@ -79199,15 +84186,17 @@ }, /turf/open/floor/plasteel, /area/science/explab) -"dkT" = ( -/obj/machinery/computer/rdconsole/experiment, +"dqo" = ( +/obj/machinery/computer/rdconsole/experiment{ + dir = 1 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/explab) -"dkU" = ( +"dqp" = ( /obj/structure/table/reinforced, /obj/item/stack/packageWrap, /obj/item/hand_labeler, @@ -79220,7 +84209,7 @@ }, /turf/open/floor/plasteel, /area/science/explab) -"dkV" = ( +"dqq" = ( /obj/structure/table/reinforced, /obj/machinery/light, /obj/item/paper_bin, @@ -79233,7 +84222,7 @@ }, /turf/open/floor/plasteel, /area/science/explab) -"dkW" = ( +"dqr" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -79241,14 +84230,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/explab) -"dkX" = ( +"dqs" = ( /obj/structure/sign/securearea, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/science/explab) -"dkY" = ( +"dqt" = ( /obj/machinery/light/small, /obj/structure/closet/firecloset, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -79257,21 +84246,21 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/research) -"dkZ" = ( +"dqu" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plasteel, /area/science/research) -"dla" = ( +"dqv" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/research) -"dlb" = ( +"dqw" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -79280,13 +84269,13 @@ }, /turf/open/floor/plasteel, /area/science/research) -"dlc" = ( +"dqx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/science/research) -"dld" = ( +"dqy" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, /obj/machinery/airalarm{ @@ -79303,7 +84292,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/misc_lab/range) -"dle" = ( +"dqz" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -79316,7 +84305,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/misc_lab/range) -"dlf" = ( +"dqA" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -79324,7 +84313,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/misc_lab/range) -"dlg" = ( +"dqB" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -79345,7 +84334,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dlh" = ( +"dqC" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -79356,7 +84345,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dli" = ( +"dqD" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -79367,7 +84356,7 @@ dir = 1 }, /area/crew_quarters/heads/hor) -"dlj" = ( +"dqE" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -79381,7 +84370,7 @@ dir = 1 }, /area/crew_quarters/heads/hor) -"dlk" = ( +"dqF" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -79390,14 +84379,13 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/whitepurple/corner{ dir = 4 }, /area/crew_quarters/heads/hor) -"dll" = ( +"dqG" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -79410,7 +84398,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dlm" = ( +"dqH" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -79437,7 +84425,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dln" = ( +"dqI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -79452,27 +84440,26 @@ dir = 8 }, /area/science/research) -"dlo" = ( +"dqJ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/structure/disposalpipe/junction{ - dir = 1; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 1 }, /obj/structure/cable/white{ icon_state = "2-8" }, /turf/open/floor/plasteel/purple, /area/science/research) -"dlp" = ( +"dqK" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"dlq" = ( +"dqL" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light_switch{ pixel_x = -26 @@ -79480,7 +84467,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dlr" = ( +"dqM" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -79490,25 +84477,25 @@ }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dls" = ( +"dqN" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dlt" = ( +"dqO" = ( /turf/open/floor/circuit, /area/science/robotics/mechbay) -"dlu" = ( +"dqP" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dlv" = ( +"dqQ" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dlw" = ( +"dqR" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/poddoor/shutters{ id = "mechbay"; @@ -79528,7 +84515,7 @@ }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dlx" = ( +"dqS" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -79538,24 +84525,24 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dly" = ( +"dqT" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/aft) -"dlz" = ( +"dqU" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating{ icon_state = "panelscorched" }, /area/maintenance/department/medical) -"dlA" = ( +"dqV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/vomit/old, /turf/open/floor/plating, /area/maintenance/department/medical) -"dlB" = ( +"dqW" = ( /obj/effect/landmark/blobstart, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 @@ -79565,14 +84552,14 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/department/medical) -"dlC" = ( +"dqX" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/maintenance/department/medical) -"dlD" = ( +"dqY" = ( /obj/structure/rack, /obj/item/device/healthanalyzer, /obj/item/clothing/glasses/eyepatch, @@ -79580,7 +84567,7 @@ icon_state = "panelscorched" }, /area/maintenance/department/medical) -"dlE" = ( +"dqZ" = ( /obj/machinery/door/window/eastright, /obj/machinery/ai_status_display{ pixel_x = -32 @@ -79589,43 +84576,43 @@ dir = 5 }, /area/medical/genetics/cloning) -"dlF" = ( +"dra" = ( /turf/open/floor/plasteel/whitepurple/corner{ dir = 8 }, /area/medical/genetics/cloning) -"dlG" = ( +"drb" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/medical/genetics/cloning) -"dlH" = ( +"drc" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/medical/genetics/cloning) -"dlI" = ( +"drd" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/medical/genetics/cloning) -"dlJ" = ( +"dre" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/medical/genetics/cloning) -"dlK" = ( +"drf" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/genetics/cloning) -"dlL" = ( +"drg" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_medical{ id_tag = "cloningfoyer"; @@ -79643,7 +84630,7 @@ }, /turf/open/floor/plasteel, /area/medical/genetics/cloning) -"dlM" = ( +"drh" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -79651,18 +84638,18 @@ dir = 8 }, /area/medical/medbay/central) -"dlN" = ( +"dri" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"dlO" = ( +"drj" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"dlP" = ( +"drk" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 6 }, @@ -79671,11 +84658,11 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"dlQ" = ( +"drl" = ( /obj/machinery/atmospherics/pipe/manifold4w/general/visible, /turf/open/floor/plasteel, /area/medical/medbay/central) -"dlR" = ( +"drm" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 10 }, @@ -79684,11 +84671,25 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"dlS" = ( +"drn" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical{ + name = "Surgery Observation"; + req_access_txt = "0" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/medical/surgery) +"dro" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/medical/surgery) -"dlT" = ( +"drp" = ( /obj/structure/rack, /obj/structure/extinguisher_cabinet{ pixel_x = -26 @@ -79704,25 +84705,40 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"dlU" = ( +"drq" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/hallway/secondary/construction) -"dlW" = ( +"drr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"drs" = ( +/obj/structure/chair/stool/bar, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/sign/poster/contraband/random{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/grimy, +/area/crew_quarters/abandoned_gambling_den) +"drt" = ( /obj/structure/chair/stool/bar, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/grimy, /area/crew_quarters/abandoned_gambling_den) -"dlX" = ( +"dru" = ( /obj/structure/chair/wood/normal{ dir = 4 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"dlY" = ( +"drv" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/revenantspawn, @@ -79730,7 +84746,7 @@ dir = 5 }, /area/crew_quarters/abandoned_gambling_den) -"dlZ" = ( +"drw" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-2" @@ -79740,13 +84756,14 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"dma" = ( +"drx" = ( /obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood{ icon_state = "wood-broken3" }, /area/crew_quarters/abandoned_gambling_den) -"dmb" = ( +"dry" = ( /obj/structure/table/wood, /obj/machinery/light{ dir = 4 @@ -79755,24 +84772,24 @@ /obj/item/pen, /turf/open/floor/plasteel/black, /area/crew_quarters/abandoned_gambling_den) -"dmc" = ( +"drz" = ( /obj/structure/filingcabinet/chestdrawer, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/science/research/abandoned) -"dmd" = ( +"drA" = ( /obj/machinery/light/small, /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dme" = ( +"drB" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dmf" = ( +"drC" = ( /obj/structure/cable/white, /obj/machinery/power/apc{ dir = 2; @@ -79784,17 +84801,17 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dmg" = ( +"drD" = ( /obj/machinery/light/small, /turf/open/floor/plating, /area/science/research/abandoned) -"dmh" = ( +"drE" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/science/research/abandoned) -"dmi" = ( +"drF" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -79804,7 +84821,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dmj" = ( +"drG" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/poddoor/preopen{ id = "maintrobotics"; @@ -79820,18 +84837,18 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"dmk" = ( +"drH" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/port) -"dml" = ( +"drI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/science/explab) -"dmm" = ( +"drJ" = ( /obj/machinery/door/firedoor/heavy, /obj/effect/decal/cleanable/dirt, /obj/machinery/button/door{ @@ -79848,37 +84865,37 @@ dir = 8 }, /area/science/explab) -"dmn" = ( +"drK" = ( /obj/structure/sign/securearea, /turf/closed/wall/r_wall, /area/science/explab) -"dmo" = ( +"drL" = ( /obj/machinery/status_display, /turf/closed/wall/r_wall, /area/science/explab) -"dmp" = ( +"drM" = ( /obj/machinery/door/firedoor/heavy, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/science/explab) -"dmq" = ( +"drN" = ( /obj/machinery/door/firedoor/heavy, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/science/explab) -"dmr" = ( +"drO" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall/r_wall, /area/science/explab) -"dms" = ( +"drP" = ( /turf/closed/wall/r_wall, /area/science/mixing) -"dmt" = ( +"drQ" = ( /obj/structure/sign/fire, /turf/closed/wall/r_wall, /area/science/mixing) -"dmu" = ( +"drR" = ( /obj/machinery/door/firedoor/heavy, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -79887,7 +84904,7 @@ }, /turf/open/floor/plating, /area/science/mixing) -"dmv" = ( +"drS" = ( /obj/machinery/door/firedoor/heavy, /obj/machinery/door/airlock/research{ name = "Toxins Mixing Lab"; @@ -79905,11 +84922,11 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dmw" = ( +"drT" = ( /obj/structure/sign/biohazard, /turf/closed/wall/r_wall, /area/science/mixing) -"dmx" = ( +"drU" = ( /obj/structure/window/reinforced{ dir = 1 }, @@ -79917,7 +84934,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/science/misc_lab/range) -"dmy" = ( +"drV" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -79926,14 +84943,14 @@ }, /turf/open/floor/plating, /area/science/misc_lab/range) -"dmz" = ( +"drW" = ( /obj/structure/window/reinforced{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/science/misc_lab/range) -"dmA" = ( +"drX" = ( /obj/machinery/power/apc{ dir = 8; name = "Research Director's Office APC"; @@ -79946,13 +84963,13 @@ /obj/item/twohanded/required/kirbyplants/dead, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dmB" = ( +"drY" = ( /obj/machinery/holopad, /turf/open/floor/plasteel/whitepurple/corner{ dir = 1 }, /area/crew_quarters/heads/hor) -"dmC" = ( +"drZ" = ( /obj/structure/chair/office/light, /obj/structure/cable/white{ icon_state = "1-2" @@ -79960,14 +84977,14 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/white, /area/crew_quarters/heads/hor) -"dmD" = ( +"dsa" = ( /obj/structure/chair/office/light, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whitepurple/corner{ dir = 4 }, /area/crew_quarters/heads/hor) -"dmE" = ( +"dsb" = ( /obj/structure/table, /obj/item/cartridge/signal/toxins{ pixel_x = 6 @@ -79991,7 +85008,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dmF" = ( +"dsc" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/light{ dir = 8 @@ -80000,19 +85017,19 @@ dir = 8 }, /area/science/research) -"dmG" = ( +"dsd" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/neutral, /area/science/research) -"dmH" = ( +"dse" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"dmI" = ( +"dsf" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ name = "Mech Bay"; @@ -80026,7 +85043,7 @@ }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dmJ" = ( +"dsg" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -80035,25 +85052,25 @@ }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dmK" = ( +"dsh" = ( /turf/open/floor/plasteel/neutral, /area/science/robotics/mechbay) -"dmL" = ( +"dsi" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral, /area/science/robotics/mechbay) -"dmM" = ( +"dsj" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/roboticist, /turf/open/floor/plasteel/neutral, /area/science/robotics/mechbay) -"dmN" = ( +"dsk" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dmO" = ( +"dsl" = ( /obj/machinery/door/poddoor/shutters{ id = "mechbay"; name = "Mech Bay Shutters" @@ -80066,7 +85083,7 @@ }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dmP" = ( +"dsm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line{ @@ -80074,7 +85091,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dmQ" = ( +"dsn" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/machinery/airalarm{ @@ -80083,7 +85100,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/aft) -"dmR" = ( +"dso" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/bed/roller, /obj/machinery/iv_drip, @@ -80091,22 +85108,26 @@ dir = 8 }, /area/maintenance/department/medical) -"dmS" = ( +"dsp" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/department/medical) +"dsq" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plating, /area/maintenance/department/medical) -"dmT" = ( +"dsr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/blue/corner, /area/maintenance/department/medical) -"dmU" = ( +"dss" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/blue/corner, /area/maintenance/department/medical) -"dmV" = ( +"dst" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -80118,33 +85139,33 @@ dir = 5 }, /area/medical/genetics/cloning) -"dmW" = ( +"dsu" = ( /obj/structure/closet/secure_closet/personal/patient, /turf/open/floor/plasteel/whiteblue/corner{ dir = 8 }, /area/medical/genetics/cloning) -"dmX" = ( +"dsv" = ( /obj/structure/closet/crate/freezer/surplus_limbs, /turf/open/floor/plasteel/whitepurple/corner{ dir = 8 }, /area/medical/genetics/cloning) -"dmY" = ( +"dsw" = ( /turf/open/floor/plasteel/whiteblue/corner{ dir = 8 }, /area/medical/genetics/cloning) -"dmZ" = ( +"dsx" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/whitepurple/corner, /area/medical/genetics/cloning) -"dna" = ( +"dsy" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/genetics/cloning) -"dnb" = ( +"dsz" = ( /obj/structure/filingcabinet/chestdrawer, /obj/machinery/firealarm{ dir = 4; @@ -80171,20 +85192,20 @@ }, /turf/open/floor/plasteel/whitepurple/corner, /area/medical/genetics/cloning) -"dnc" = ( +"dsA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whitepurple/corner{ dir = 8 }, /area/medical/medbay/central) -"dnd" = ( +"dsB" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"dne" = ( +"dsC" = ( /obj/structure/table/glass, /obj/item/folder/white, /obj/item/reagent_containers/glass/beaker/cryoxadone, @@ -80192,7 +85213,7 @@ /obj/item/reagent_containers/dropper, /turf/open/floor/plasteel/whiteblue, /area/medical/medbay/central) -"dnf" = ( +"dsD" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 @@ -80202,14 +85223,14 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"dng" = ( +"dsE" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 1 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/medical/medbay/central) -"dnh" = ( +"dsF" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 @@ -80219,7 +85240,7 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"dni" = ( +"dsG" = ( /obj/structure/table/glass, /obj/item/wrench/medical, /obj/item/clothing/neck/stethoscope, @@ -80230,20 +85251,20 @@ }, /turf/open/floor/plasteel/whiteblue, /area/medical/medbay/central) -"dnj" = ( +"dsH" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"dnk" = ( +"dsI" = ( /obj/structure/sign/nosmoking_2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/medical/surgery) -"dnl" = ( +"dsJ" = ( /obj/structure/bed/roller, /obj/machinery/iv_drip, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -80253,7 +85274,7 @@ dir = 1 }, /area/medical/surgery) -"dnm" = ( +"dsK" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -80261,7 +85282,7 @@ dir = 1 }, /area/medical/surgery) -"dnn" = ( +"dsL" = ( /obj/structure/bed, /obj/item/bedsheet/medical, /obj/machinery/iv_drip, @@ -80275,13 +85296,13 @@ dir = 4 }, /area/medical/surgery) -"dno" = ( +"dsM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/medical/surgery) -"dnp" = ( +"dsN" = ( /obj/item/clothing/gloves/color/latex, /obj/item/clothing/suit/apron/surgical, /obj/item/clothing/mask/surgical, @@ -80294,7 +85315,7 @@ dir = 1 }, /area/medical/surgery) -"dnq" = ( +"dsO" = ( /obj/item/retractor, /obj/item/hemostat, /obj/structure/table/reinforced, @@ -80305,7 +85326,7 @@ dir = 5 }, /area/medical/surgery) -"dnr" = ( +"dsP" = ( /obj/item/circular_saw, /obj/item/surgicaldrill{ pixel_y = 5 @@ -80316,7 +85337,7 @@ }, /turf/open/floor/plasteel/whiteblue, /area/medical/surgery) -"dns" = ( +"dsQ" = ( /obj/item/scalpel, /obj/item/cautery, /obj/structure/table/reinforced, @@ -80327,7 +85348,7 @@ dir = 9 }, /area/medical/surgery) -"dnt" = ( +"dsR" = ( /obj/machinery/computer/med_data/laptop, /obj/structure/table/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -80337,7 +85358,7 @@ dir = 4 }, /area/medical/surgery) -"dnu" = ( +"dsS" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -80347,28 +85368,32 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dnv" = ( +"dsT" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/yellow/corner{ dir = 1 }, /area/hallway/secondary/construction) -"dnw" = ( +"dsU" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/hallway/secondary/construction) -"dnx" = ( +"dsV" = ( /turf/open/floor/plasteel/yellow/corner{ dir = 4 }, /area/hallway/secondary/construction) -"dny" = ( +"dsW" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/crew_quarters/abandoned_gambling_den) +"dsX" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"dnz" = ( +"dsY" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -80378,7 +85403,12 @@ dir = 8 }, /area/crew_quarters/abandoned_gambling_den) -"dnA" = ( +"dsZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/wood, +/area/crew_quarters/abandoned_gambling_den) +"dta" = ( /obj/structure/table/wood, /obj/machinery/status_display{ pixel_x = 32 @@ -80386,11 +85416,11 @@ /obj/item/book/manual/wiki/engineering_hacking, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"dnB" = ( +"dtb" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/science/research/abandoned) -"dnC" = ( +"dtc" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; @@ -80405,30 +85435,30 @@ }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dnD" = ( +"dtd" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port) -"dnE" = ( +"dte" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/vault, /area/science/explab) -"dnF" = ( +"dtf" = ( /turf/open/floor/plasteel/vault, /area/science/explab) -"dnG" = ( +"dtg" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/vault, /area/science/explab) -"dnH" = ( +"dth" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault, /area/science/explab) -"dnI" = ( +"dti" = ( /obj/structure/closet/bombcloset, /obj/machinery/firealarm{ dir = 8; @@ -80439,22 +85469,22 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dnJ" = ( +"dtj" = ( /turf/open/floor/plasteel/whitepurple/corner{ dir = 1 }, /area/science/mixing) -"dnK" = ( +"dtk" = ( /turf/open/floor/plasteel/whitepurple/side{ dir = 1 }, /area/science/mixing) -"dnL" = ( +"dtl" = ( /turf/open/floor/plasteel/whitepurple/corner{ dir = 4 }, /area/science/mixing) -"dnM" = ( +"dtm" = ( /obj/structure/closet/bombcloset, /obj/machinery/light_switch{ pixel_x = 26; @@ -80465,20 +85495,20 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dnN" = ( +"dtn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plating, /area/science/misc_lab/range) -"dnO" = ( +"dto" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plating, /area/science/misc_lab/range) -"dnP" = ( +"dtp" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ @@ -80486,7 +85516,7 @@ }, /turf/open/floor/plating, /area/science/misc_lab/range) -"dnQ" = ( +"dtq" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -80497,7 +85527,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dnR" = ( +"dtr" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -80505,7 +85535,7 @@ dir = 8 }, /area/crew_quarters/heads/hor) -"dnS" = ( +"dts" = ( /obj/structure/table/reinforced, /obj/structure/cable/white{ icon_state = "1-2" @@ -80544,7 +85574,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/white, /area/crew_quarters/heads/hor) -"dnT" = ( +"dtt" = ( /obj/structure/table/reinforced, /obj/item/folder/white, /obj/item/stamp/rd, @@ -80553,15 +85583,17 @@ dir = 4 }, /area/crew_quarters/heads/hor) -"dnU" = ( -/obj/machinery/computer/card/minor/rd, +"dtu" = ( +/obj/machinery/computer/card/minor/rd{ + dir = 8 + }, /obj/machinery/ai_status_display{ pixel_x = 32 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dnV" = ( +"dtv" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, @@ -80571,7 +85603,7 @@ }, /turf/open/floor/plasteel/purple, /area/science/research) -"dnW" = ( +"dtw" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/status_display{ pixel_x = -32 @@ -80579,14 +85611,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dnX" = ( +"dtx" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/circuit/green, /area/science/robotics/mechbay) -"dnY" = ( +"dty" = ( /turf/open/floor/circuit/green, /area/science/robotics/mechbay) -"dnZ" = ( +"dtz" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/item/device/radio/intercom{ @@ -80595,10 +85627,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/aft) -"doa" = ( -/turf/closed/wall, -/area/medical/genetics) -"dob" = ( +"dtA" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance_hatch{ name = "Genetics Desk Maintenance"; @@ -80615,21 +85644,21 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/medical) -"doc" = ( +"dtB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall, /area/maintenance/department/medical) -"dod" = ( +"dtC" = ( /turf/closed/wall/r_wall, /area/medical/genetics) -"doe" = ( +"dtD" = ( /obj/structure/cable/white{ icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/medical/genetics) -"dof" = ( +"dtE" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ name = "Genetics Lab"; @@ -80650,7 +85679,7 @@ }, /turf/open/floor/plasteel, /area/medical/genetics) -"dog" = ( +"dtF" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -80658,7 +85687,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/medical/genetics) -"doh" = ( +"dtG" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -80673,7 +85702,7 @@ dir = 8 }, /area/medical/medbay/central) -"doi" = ( +"dtH" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -80683,21 +85712,21 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"doj" = ( +"dtI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/light{ dir = 4 }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"dok" = ( +"dtJ" = ( /obj/structure/sign/bluecross_2, /turf/closed/wall/r_wall, /area/crew_quarters/heads/cmo) -"dol" = ( +"dtK" = ( /turf/closed/wall/r_wall, /area/crew_quarters/heads/cmo) -"dom" = ( +"dtL" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ id = "cmoshutter"; @@ -80705,7 +85734,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/cmo) -"don" = ( +"dtM" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/light{ dir = 8 @@ -80714,20 +85743,20 @@ dir = 8 }, /area/medical/medbay/central) -"doo" = ( +"dtN" = ( /obj/structure/bed/roller, /obj/machinery/iv_drip, /turf/open/floor/plasteel/whiteblue/corner{ dir = 1 }, /area/medical/surgery) -"dop" = ( +"dtO" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/medical/surgery) -"doq" = ( +"dtP" = ( /obj/structure/bed, /obj/item/bedsheet/medical, /obj/machinery/iv_drip, @@ -80743,7 +85772,7 @@ dir = 4 }, /area/medical/surgery) -"dor" = ( +"dtQ" = ( /obj/machinery/firealarm{ dir = 8; pixel_x = -24 @@ -80752,23 +85781,23 @@ dir = 1 }, /area/medical/surgery) -"dos" = ( +"dtR" = ( /turf/open/floor/plasteel/blue, /area/medical/surgery) -"dot" = ( +"dtS" = ( /obj/effect/landmark/start/medical_doctor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, /turf/open/floor/plasteel/neutral, /area/medical/surgery) -"dou" = ( +"dtT" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/plasteel/blue, /area/medical/surgery) -"dov" = ( +"dtU" = ( /obj/machinery/airalarm{ dir = 8; pixel_x = 24 @@ -80781,7 +85810,7 @@ dir = 4 }, /area/medical/surgery) -"dow" = ( +"dtV" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -80795,7 +85824,7 @@ dir = 8 }, /area/maintenance/starboard/aft) -"dox" = ( +"dtW" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -80805,7 +85834,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"doy" = ( +"dtX" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch/abandoned{ name = "Maintenance Hatch"; @@ -80825,7 +85854,7 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"doz" = ( +"dtY" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -80833,32 +85862,32 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"doA" = ( +"dtZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/hallway/secondary/construction) -"doB" = ( +"dua" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/hallway/secondary/construction) -"doC" = ( +"dub" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/plating, /area/hallway/secondary/construction) -"doD" = ( +"duc" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"doE" = ( +"dud" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch/abandoned{ name = "Maintenance Hatch"; @@ -80872,14 +85901,19 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"doF" = ( +"due" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"doG" = ( +"duf" = ( +/obj/structure/chair/wood/normal, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/crew_quarters/abandoned_gambling_den) +"dug" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-4" @@ -80889,7 +85923,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"doH" = ( +"duh" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -80899,7 +85933,7 @@ /obj/effect/spawner/structure/window/hollow/reinforced/directional, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"doI" = ( +"dui" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "0-8" @@ -80909,12 +85943,12 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"doJ" = ( +"duj" = ( /obj/structure/chair/stool, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/abandoned_gambling_den) -"doK" = ( +"duk" = ( /obj/structure/table/wood, /obj/item/device/assembly/igniter, /obj/item/device/assembly/igniter, @@ -80925,39 +85959,39 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"doL" = ( +"dul" = ( /obj/structure/table, /obj/item/stack/packageWrap, /obj/item/hand_labeler, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/research/abandoned) -"doM" = ( +"dum" = ( /obj/machinery/light/small{ dir = 1 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/science/research/abandoned) -"doN" = ( +"dun" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"doO" = ( +"duo" = ( /obj/structure/table/reinforced, /obj/item/device/mmi, /obj/item/device/assembly/prox_sensor, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/science/research/abandoned) -"doP" = ( +"dup" = ( /obj/structure/frame/machine, /obj/item/stack/cable_coil/white, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/science/research/abandoned) -"doQ" = ( +"duq" = ( /obj/structure/rack, /obj/item/book/manual/robotics_cyborgs, /obj/item/storage/belt/utility, @@ -80966,7 +86000,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"doR" = ( +"dur" = ( /obj/machinery/mecha_part_fabricator, /obj/machinery/light/small{ dir = 1 @@ -80974,7 +86008,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"doS" = ( +"dus" = ( /obj/structure/table/reinforced, /obj/item/stock_parts/console_screen, /obj/item/stock_parts/micro_laser, @@ -80982,26 +86016,22 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"doT" = ( +"dut" = ( /obj/structure/table/reinforced, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/item/device/assembly/flash/handheld, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/research/abandoned) -"doU" = ( +"duu" = ( /obj/structure/reagent_dispensers/fueltank, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/port) -"doV" = ( +"duv" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -81011,7 +86041,7 @@ dir = 4 }, /area/maintenance/port) -"doW" = ( +"duw" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, @@ -81019,7 +86049,7 @@ dir = 5 }, /area/science/explab) -"doX" = ( +"dux" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, @@ -81027,7 +86057,7 @@ dir = 5 }, /area/science/explab) -"doY" = ( +"duy" = ( /mob/living/simple_animal/pet/dog/pug{ name = "Swanson" }, @@ -81035,25 +86065,25 @@ dir = 5 }, /area/science/explab) -"doZ" = ( +"duz" = ( /obj/effect/landmark/revenantspawn, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/science/explab) -"dpa" = ( +"duA" = ( /obj/machinery/r_n_d/experimentor, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/science/explab) -"dpb" = ( +"duB" = ( /turf/open/floor/plasteel/vault{ dir = 8 }, /area/science/explab) -"dpc" = ( +"duC" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, @@ -81061,7 +86091,7 @@ dir = 5 }, /area/science/explab) -"dpd" = ( +"duD" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, @@ -81070,13 +86100,13 @@ dir = 5 }, /area/science/explab) -"dpe" = ( +"duE" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/science/explab) -"dpf" = ( +"duF" = ( /obj/machinery/airalarm{ dir = 4; pixel_x = -22 @@ -81084,10 +86114,10 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/mixing) -"dpg" = ( +"duG" = ( /turf/open/floor/plasteel/neutral, /area/science/mixing) -"dph" = ( +"duH" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_x = 26; @@ -81096,7 +86126,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/mixing) -"dpi" = ( +"duI" = ( /obj/machinery/light{ dir = 8 }, @@ -81106,7 +86136,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/science/misc_lab/range) -"dpj" = ( +"duJ" = ( /obj/machinery/light{ dir = 4 }, @@ -81114,7 +86144,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/science/misc_lab/range) -"dpk" = ( +"duK" = ( /obj/structure/table/reinforced, /obj/item/clipboard, /obj/item/toy/figure/rd, @@ -81129,7 +86159,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dpl" = ( +"duL" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, @@ -81138,8 +86168,10 @@ dir = 8 }, /area/crew_quarters/heads/hor) -"dpm" = ( -/obj/machinery/computer/aifixer, +"duM" = ( +/obj/machinery/computer/aifixer{ + dir = 4 + }, /obj/structure/cable/white{ icon_state = "1-2" }, @@ -81151,7 +86183,7 @@ }, /turf/open/floor/plasteel/white, /area/crew_quarters/heads/hor) -"dpn" = ( +"duN" = ( /obj/structure/chair/office/light{ dir = 1 }, @@ -81162,15 +86194,17 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whitepurple/corner, /area/crew_quarters/heads/hor) -"dpo" = ( -/obj/machinery/computer/mecha, +"duO" = ( +/obj/machinery/computer/mecha{ + dir = 8 + }, /obj/structure/cable/white{ icon_state = "4-8" }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dpp" = ( +"duP" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -81181,7 +86215,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hor) -"dpq" = ( +"duQ" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -81189,7 +86223,7 @@ dir = 8 }, /area/science/research) -"dpr" = ( +"duR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -81199,7 +86233,7 @@ }, /turf/open/floor/plasteel/neutral, /area/science/research) -"dps" = ( +"duS" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -81207,14 +86241,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"dpt" = ( +"duT" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plating, /area/science/robotics/mechbay) -"dpu" = ( +"duU" = ( /obj/machinery/recharge_station, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -81223,7 +86257,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dpv" = ( +"duV" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -81237,18 +86271,20 @@ }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dpw" = ( +"duW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dpx" = ( -/obj/machinery/computer/mech_bay_power_console, +"duX" = ( +/obj/machinery/computer/mech_bay_power_console{ + dir = 1 + }, /turf/open/floor/circuit/green, /area/science/robotics/mechbay) -"dpy" = ( +"duY" = ( /obj/machinery/mech_bay_recharge_port{ icon_state = "recharge_port"; dir = 8 @@ -81258,7 +86294,7 @@ }, /turf/open/floor/plating, /area/science/robotics/mechbay) -"dpz" = ( +"duZ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/firealarm{ dir = 4; @@ -81272,7 +86308,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dpA" = ( +"dva" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/corner{ @@ -81280,12 +86316,15 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dpB" = ( +"dvb" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/purple/corner, /area/hallway/primary/aft) -"dpC" = ( +"dvc" = ( +/turf/closed/wall, +/area/medical/genetics) +"dvd" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/firealarm{ dir = 8; @@ -81294,7 +86333,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/genetics) -"dpD" = ( +"dve" = ( /obj/structure/extinguisher_cabinet{ pixel_y = 32 }, @@ -81302,7 +86341,7 @@ dir = 1 }, /area/medical/genetics) -"dpE" = ( +"dvf" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -81310,7 +86349,7 @@ dir = 1 }, /area/medical/genetics) -"dpF" = ( +"dvg" = ( /obj/machinery/newscaster{ pixel_y = 32 }, @@ -81319,7 +86358,7 @@ dir = 4 }, /area/medical/genetics) -"dpG" = ( +"dvh" = ( /obj/structure/table/glass, /obj/item/storage/box/beakers{ pixel_x = 3; @@ -81330,11 +86369,11 @@ dir = 4 }, /area/medical/genetics) -"dpH" = ( +"dvi" = ( /obj/machinery/status_display, /turf/closed/wall/r_wall, /area/medical/genetics) -"dpI" = ( +"dvj" = ( /obj/structure/table/reinforced, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -81346,7 +86385,7 @@ dir = 8 }, /area/medical/genetics) -"dpJ" = ( +"dvk" = ( /obj/machinery/computer/scan_consolenew, /obj/machinery/light{ dir = 1 @@ -81359,14 +86398,14 @@ }, /turf/open/floor/plasteel, /area/medical/genetics) -"dpK" = ( +"dvl" = ( /obj/machinery/dna_scannernew, /obj/effect/turf_decal/stripes/end{ dir = 4 }, /turf/open/floor/plasteel, /area/medical/genetics) -"dpL" = ( +"dvm" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/firealarm{ pixel_x = -26; @@ -81376,14 +86415,14 @@ dir = 8 }, /area/medical/genetics) -"dpM" = ( +"dvn" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/white, /area/medical/genetics) -"dpN" = ( +"dvo" = ( /obj/machinery/button/door{ id = "geneticslab"; name = "Genetics Lab Shutters"; @@ -81396,7 +86435,7 @@ dir = 4 }, /area/medical/genetics) -"dpO" = ( +"dvp" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -81414,7 +86453,7 @@ /mob/living/carbon/monkey, /turf/open/floor/plasteel, /area/medical/genetics) -"dpP" = ( +"dvq" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -81425,7 +86464,7 @@ }, /turf/open/floor/plating, /area/medical/genetics) -"dpR" = ( +"dvr" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -81436,7 +86475,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/cmo) -"dpS" = ( +"dvs" = ( /obj/structure/filingcabinet/chestdrawer, /obj/machinery/firealarm{ pixel_y = 26 @@ -81445,7 +86484,7 @@ dir = 4 }, /area/crew_quarters/heads/cmo) -"dpT" = ( +"dvt" = ( /obj/structure/table/glass, /obj/item/folder/blue, /obj/item/cartridge/medical{ @@ -81459,19 +86498,19 @@ }, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dpU" = ( +"dvu" = ( /obj/structure/table/glass, /obj/item/folder/white, /obj/item/device/flashlight/pen, /obj/item/clothing/neck/stethoscope, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dpV" = ( +"dvv" = ( /obj/structure/table/glass, /obj/item/storage/firstaid/regular, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dpW" = ( +"dvw" = ( /obj/structure/table/glass, /obj/item/folder/blue, /obj/item/clothing/glasses/hud/health, @@ -81484,7 +86523,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/heads/cmo) -"dpX" = ( +"dvx" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -81496,7 +86535,7 @@ }, /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"dpY" = ( +"dvy" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -81506,7 +86545,7 @@ }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"dpZ" = ( +"dvz" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -81525,7 +86564,7 @@ }, /turf/open/floor/plasteel, /area/medical/surgery) -"dqa" = ( +"dvA" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -81536,7 +86575,7 @@ dir = 8 }, /area/medical/surgery) -"dqb" = ( +"dvB" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -81546,7 +86585,7 @@ }, /turf/open/floor/plasteel/blue, /area/medical/surgery) -"dqc" = ( +"dvC" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -81557,7 +86596,7 @@ dir = 4 }, /area/medical/surgery) -"dqd" = ( +"dvD" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ name = "Surgery Theatre"; @@ -81577,7 +86616,7 @@ }, /turf/open/floor/plasteel, /area/medical/surgery) -"dqe" = ( +"dvE" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -81588,8 +86627,10 @@ dir = 8 }, /area/medical/surgery) -"dqf" = ( -/obj/machinery/computer/operating, +"dvF" = ( +/obj/machinery/computer/operating{ + dir = 4 + }, /obj/structure/cable/white{ icon_state = "4-8" }, @@ -81598,7 +86639,7 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/surgery) -"dqg" = ( +"dvG" = ( /obj/structure/table/optable, /obj/effect/decal/cleanable/blood/old, /obj/structure/cable/white{ @@ -81612,7 +86653,7 @@ }, /turf/open/floor/plasteel/blue, /area/medical/surgery) -"dqh" = ( +"dvH" = ( /obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "4-8" @@ -81623,7 +86664,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/surgery) -"dqi" = ( +"dvI" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -81632,7 +86673,7 @@ }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/surgery) -"dqj" = ( +"dvJ" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Surgery Maintenance"; req_access_txt = "45" @@ -81651,7 +86692,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"dqk" = ( +"dvK" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -81665,7 +86706,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"dql" = ( +"dvL" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 @@ -81674,17 +86715,17 @@ dir = 4 }, /area/maintenance/starboard/aft) -"dqm" = ( +"dvM" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/yellow/corner{ dir = 8 }, /area/hallway/secondary/construction) -"dqn" = ( +"dvN" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/hallway/secondary/construction) -"dqo" = ( +"dvO" = ( /obj/structure/table, /obj/item/device/analyzer{ pixel_x = 7; @@ -81694,7 +86735,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"dqp" = ( +"dvP" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -81702,7 +86743,7 @@ dir = 4 }, /area/maintenance/starboard/aft) -"dqq" = ( +"dvQ" = ( /obj/structure/rack, /obj/effect/decal/cleanable/dirt, /obj/item/weldingtool, @@ -81714,7 +86755,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"dqr" = ( +"dvR" = ( /obj/machinery/light/small{ dir = 1 }, @@ -81726,13 +86767,13 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"dqs" = ( +"dvS" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dqt" = ( +"dvT" = ( /obj/structure/table/wood, /obj/machinery/newscaster{ pixel_x = -32 @@ -81747,7 +86788,7 @@ }, /turf/open/floor/plasteel/black, /area/crew_quarters/abandoned_gambling_den) -"dqu" = ( +"dvU" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 @@ -81756,23 +86797,34 @@ dir = 5 }, /area/crew_quarters/abandoned_gambling_den) -"dqv" = ( +"dvV" = ( /turf/open/floor/wood{ icon_state = "wood-broken7" }, /area/crew_quarters/abandoned_gambling_den) -"dqw" = ( +"dvW" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken2" + }, +/area/crew_quarters/abandoned_gambling_den) +"dvX" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/wood, +/area/crew_quarters/abandoned_gambling_den) +"dvY" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/black, /area/crew_quarters/abandoned_gambling_den) -"dqx" = ( +"dvZ" = ( /obj/structure/table, /obj/machinery/cell_charger, /obj/item/stock_parts/cell/high, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dqy" = ( +"dwa" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -81780,14 +86832,14 @@ }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dqz" = ( +"dwb" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/pen, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dqA" = ( +"dwc" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -81797,19 +86849,19 @@ dir = 4 }, /area/maintenance/port) -"dqB" = ( +"dwd" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/science/explab) -"dqC" = ( +"dwe" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/science/explab) -"dqD" = ( +"dwf" = ( /obj/machinery/camera{ c_tag = "Science - Experimentor"; dir = 1; @@ -81820,7 +86872,7 @@ dir = 5 }, /area/science/explab) -"dqE" = ( +"dwg" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 @@ -81835,7 +86887,7 @@ dir = 8 }, /area/science/mixing) -"dqF" = ( +"dwh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, @@ -81843,11 +86895,11 @@ dir = 1 }, /area/science/mixing) -"dqG" = ( +"dwi" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/neutral, /area/science/mixing) -"dqH" = ( +"dwj" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 6 }, @@ -81855,7 +86907,7 @@ dir = 4 }, /area/science/mixing) -"dqI" = ( +"dwk" = ( /obj/machinery/atmospherics/components/unary/thermomachine/heater{ dir = 8; on = 1 @@ -81865,7 +86917,7 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dqJ" = ( +"dwl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/camera{ c_tag = "Science - Firing Range"; @@ -81878,7 +86930,7 @@ }, /turf/open/floor/plating, /area/science/misc_lab/range) -"dqK" = ( +"dwm" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -81887,14 +86939,14 @@ icon_state = "panelscorched" }, /area/science/misc_lab/range) -"dqL" = ( +"dwn" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plating, /area/science/misc_lab/range) -"dqM" = ( +"dwo" = ( /obj/structure/table/reinforced, /obj/machinery/light, /obj/structure/cable/white{ @@ -81913,7 +86965,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dqN" = ( +"dwp" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -81921,7 +86973,7 @@ dir = 8 }, /area/crew_quarters/heads/hor) -"dqO" = ( +"dwq" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -81931,12 +86983,14 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/whitepurple/side, /area/crew_quarters/heads/hor) -"dqP" = ( +"dwr" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whitepurple/corner, /area/crew_quarters/heads/hor) -"dqQ" = ( -/obj/machinery/computer/robotics, +"dws" = ( +/obj/machinery/computer/robotics{ + dir = 8 + }, /obj/machinery/light, /obj/machinery/status_display{ pixel_x = 32 @@ -81952,14 +87006,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dqR" = ( +"dwt" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/purple, /area/science/research) -"dqS" = ( +"dwu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/machinery/camera{ @@ -81970,7 +87024,7 @@ }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"dqT" = ( +"dwv" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/item/stack/packageWrap, @@ -81984,7 +87038,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dqU" = ( +"dww" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -81993,7 +87047,7 @@ }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dqV" = ( +"dwx" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -82001,7 +87055,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dqW" = ( +"dwy" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -82014,27 +87068,27 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dqX" = ( +"dwz" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dqY" = ( +"dwA" = ( /obj/structure/cable/white{ icon_state = "2-8" }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dqZ" = ( +"dwB" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"dra" = ( +"dwC" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/decal/cleanable/dirt, /obj/machinery/light{ @@ -82043,7 +87097,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/mechbay) -"drb" = ( +"dwD" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -82052,26 +87106,25 @@ dir = 8 }, /area/hallway/primary/aft) -"drc" = ( +"dwE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/aft) -"drd" = ( +"dwF" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 1; - icon_state = "pipe-j1s"; name = "Genetics Junction"; sortType = 23 }, /turf/open/floor/plasteel/purple/corner, /area/hallway/primary/aft) -"dre" = ( +"dwG" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ name = "Genetics Desk"; @@ -82091,7 +87144,7 @@ }, /turf/open/floor/plasteel, /area/medical/genetics) -"drf" = ( +"dwH" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -82101,7 +87154,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/genetics) -"drg" = ( +"dwI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -82112,7 +87165,7 @@ dir = 1 }, /area/medical/genetics) -"drh" = ( +"dwJ" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -82120,15 +87173,14 @@ dir = 1 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable/white{ icon_state = "1-4" }, /turf/open/floor/plasteel/neutral, /area/medical/genetics) -"dri" = ( +"dwK" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -82138,7 +87190,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/medical/genetics) -"drj" = ( +"dwL" = ( /obj/structure/table/glass, /obj/structure/cable/white{ icon_state = "0-8" @@ -82158,13 +87210,13 @@ dir = 4 }, /area/medical/genetics) -"drk" = ( +"dwM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/medical/genetics) -"drl" = ( +"dwN" = ( /obj/structure/table/reinforced, /obj/item/folder/white, /obj/item/storage/pill_bottle/mutadone, @@ -82184,7 +87236,7 @@ dir = 5 }, /area/medical/genetics) -"drm" = ( +"dwO" = ( /obj/structure/chair/office/light{ dir = 8 }, @@ -82196,7 +87248,7 @@ dir = 9 }, /area/medical/genetics) -"drn" = ( +"dwP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -82204,7 +87256,7 @@ dir = 1 }, /area/medical/genetics) -"dro" = ( +"dwQ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -82212,7 +87264,7 @@ dir = 1 }, /area/medical/genetics) -"drp" = ( +"dwR" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -82222,7 +87274,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/medical/genetics) -"drq" = ( +"dwS" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -82230,7 +87282,7 @@ dir = 4 }, /area/medical/genetics) -"drr" = ( +"dwT" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -82245,7 +87297,7 @@ /mob/living/carbon/monkey, /turf/open/floor/plasteel, /area/medical/genetics) -"drs" = ( +"dwU" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -82257,7 +87309,7 @@ }, /turf/open/floor/plating, /area/medical/genetics) -"drt" = ( +"dwV" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -82265,7 +87317,7 @@ dir = 8 }, /area/medical/medbay/central) -"dru" = ( +"dwW" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -82278,7 +87330,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"drv" = ( +"dwX" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -82288,7 +87340,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"drw" = ( +"dwY" = ( /obj/machinery/door/airlock/command{ name = "Chief Medical Officer's Office"; req_access_txt = "40" @@ -82313,7 +87365,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/cmo) -"drx" = ( +"dwZ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -82324,7 +87376,7 @@ dir = 4 }, /area/crew_quarters/heads/cmo) -"dry" = ( +"dxa" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -82336,13 +87388,13 @@ }, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"drz" = ( +"dxb" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"drA" = ( +"dxc" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -82351,7 +87403,7 @@ }, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"drB" = ( +"dxd" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -82363,7 +87415,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/heads/cmo) -"drC" = ( +"dxe" = ( /obj/machinery/door/airlock/command{ name = "Chief Medical Officer's Office"; req_access_txt = "40" @@ -82388,7 +87440,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/cmo) -"drD" = ( +"dxf" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -82399,7 +87451,7 @@ dir = 8 }, /area/medical/medbay/central) -"drE" = ( +"dxg" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -82412,30 +87464,30 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"drF" = ( +"dxh" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"drG" = ( +"dxi" = ( /turf/open/floor/plasteel/whiteblue/corner{ dir = 8 }, /area/medical/surgery) -"drH" = ( +"dxj" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/medical/surgery) -"drI" = ( +"dxk" = ( /obj/machinery/light{ dir = 4 }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/surgery) -"drJ" = ( +"dxl" = ( /obj/machinery/light_switch{ pixel_x = -26 }, @@ -82447,22 +87499,22 @@ dir = 8 }, /area/medical/surgery) -"drK" = ( +"dxm" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/whiteblue/corner{ dir = 8 }, /area/medical/surgery) -"drL" = ( +"dxn" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/whiteblue/side, /area/medical/surgery) -"drM" = ( +"dxo" = ( /turf/open/floor/plasteel/whiteblue/corner, /area/medical/surgery) -"drN" = ( +"dxp" = ( /obj/machinery/light{ dir = 4 }, @@ -82472,7 +87524,7 @@ }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/surgery) -"drO" = ( +"dxq" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -82483,7 +87535,7 @@ dir = 8 }, /area/maintenance/starboard/aft) -"drP" = ( +"dxr" = ( /obj/structure/rack, /obj/machinery/light/small{ dir = 8 @@ -82496,27 +87548,27 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"drQ" = ( +"dxs" = ( /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plating, /area/hallway/secondary/construction) -"drR" = ( +"dxt" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/hallway/secondary/construction) -"drS" = ( +"dxu" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 }, /turf/open/floor/plating, /area/hallway/secondary/construction) -"drT" = ( +"dxv" = ( /obj/structure/chair/office/light{ dir = 4 }, /turf/open/floor/plating, /area/hallway/secondary/construction) -"drU" = ( +"dxw" = ( /obj/structure/table, /obj/machinery/light/small{ dir = 4 @@ -82528,7 +87580,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"drV" = ( +"dxx" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -82538,14 +87590,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"drW" = ( +"dxy" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"drX" = ( +"dxz" = ( /obj/effect/landmark/xeno_spawn, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -82553,7 +87605,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"drY" = ( +"dxA" = ( /obj/structure/closet/firecloset, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -82561,21 +87613,21 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"drZ" = ( +"dxB" = ( /obj/structure/chair/wood/normal{ dir = 1 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"dsa" = ( +"dxC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/abandoned_gambling_den) -"dsb" = ( +"dxD" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -82583,29 +87635,29 @@ dir = 5 }, /area/crew_quarters/abandoned_gambling_den) -"dsc" = ( +"dxE" = ( /obj/structure/chair/stool/bar, /turf/open/floor/wood, /area/crew_quarters/abandoned_gambling_den) -"dsd" = ( +"dxF" = ( /obj/structure/chair/stool/bar, /turf/open/floor/wood{ icon_state = "wood-broken" }, /area/crew_quarters/abandoned_gambling_den) -"dse" = ( +"dxG" = ( /mob/living/simple_animal/cockroach, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/abandoned_gambling_den) -"dsf" = ( +"dxH" = ( /obj/machinery/recharge_station, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dsg" = ( +"dxI" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -82613,28 +87665,30 @@ }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dsh" = ( +"dxJ" = ( /turf/open/floor/circuit/green, /area/science/research/abandoned) -"dsi" = ( -/obj/machinery/computer/mech_bay_power_console, +"dxK" = ( +/obj/machinery/computer/mech_bay_power_console{ + dir = 4 + }, /turf/open/floor/circuit/green, /area/science/research/abandoned) -"dsj" = ( +"dxL" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dsk" = ( +"dxM" = ( /turf/open/floor/plasteel/neutral, /area/science/research/abandoned) -"dsl" = ( +"dxN" = ( /obj/effect/decal/cleanable/oil, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dsm" = ( +"dxO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light_switch{ pixel_x = 26 @@ -82642,7 +87696,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dsn" = ( +"dxP" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/machinery/light{ dir = 8 @@ -82657,7 +87711,7 @@ dir = 8 }, /area/science/mixing) -"dso" = ( +"dxQ" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -82665,12 +87719,12 @@ dir = 1 }, /area/science/mixing) -"dsp" = ( +"dxR" = ( /obj/effect/landmark/start/scientist, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/science/mixing) -"dsq" = ( +"dxS" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 8 }, @@ -82678,7 +87732,7 @@ dir = 4 }, /area/science/mixing) -"dsr" = ( +"dxT" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 }, @@ -82694,22 +87748,22 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dss" = ( +"dxU" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, /turf/open/floor/plating, /area/science/misc_lab/range) -"dst" = ( +"dxV" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plating, /area/science/misc_lab/range) -"dsu" = ( +"dxW" = ( /turf/closed/wall, /area/crew_quarters/heads/hor) -"dsv" = ( +"dxX" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "1-4" @@ -82717,7 +87771,7 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/crew_quarters/heads/hor) -"dsw" = ( +"dxY" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -82742,7 +87796,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dsx" = ( +"dxZ" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -82750,7 +87804,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/crew_quarters/heads/hor) -"dsy" = ( +"dya" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/white{ icon_state = "1-2" @@ -82764,7 +87818,7 @@ }, /turf/open/floor/plasteel, /area/science/research) -"dsz" = ( +"dyb" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/machinery/door/firedoor, @@ -82780,10 +87834,10 @@ }, /turf/open/floor/plasteel, /area/science/research) -"dsA" = ( +"dyc" = ( /turf/closed/wall, /area/science/robotics/lab) -"dsB" = ( +"dyd" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ id = "roboticsprivacy"; @@ -82791,11 +87845,11 @@ }, /turf/open/floor/plating, /area/science/robotics/lab) -"dsC" = ( +"dye" = ( /obj/structure/sign/science, /turf/closed/wall, /area/science/robotics/lab) -"dsD" = ( +"dyf" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -82812,10 +87866,10 @@ }, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dsE" = ( +"dyg" = ( /turf/closed/wall/r_wall, /area/science/robotics/lab) -"dsF" = ( +"dyh" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/machinery/door/firedoor, @@ -82827,7 +87881,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dsG" = ( +"dyi" = ( /obj/structure/table/glass, /obj/machinery/airalarm{ dir = 4; @@ -82847,7 +87901,7 @@ dir = 8 }, /area/medical/genetics) -"dsH" = ( +"dyj" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -82856,12 +87910,11 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/neutral, /area/medical/genetics) -"dsI" = ( +"dyk" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -82873,7 +87926,7 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/genetics) -"dsJ" = ( +"dyl" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -82887,7 +87940,7 @@ dir = 4 }, /area/medical/genetics) -"dsK" = ( +"dym" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ name = "Genetics Lab"; @@ -82913,7 +87966,7 @@ }, /turf/open/floor/plasteel, /area/medical/genetics) -"dsL" = ( +"dyn" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -82927,7 +87980,7 @@ dir = 5 }, /area/medical/genetics) -"dsM" = ( +"dyo" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -82941,7 +87994,7 @@ dir = 8 }, /area/medical/genetics) -"dsN" = ( +"dyp" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -82953,7 +88006,7 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/genetics) -"dsO" = ( +"dyq" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -82965,7 +88018,7 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/genetics) -"dsP" = ( +"dyr" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -82979,19 +88032,18 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/genetics) -"dsQ" = ( +"dys" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/whitepurple/side{ dir = 4 }, /area/medical/genetics) -"dsR" = ( +"dyt" = ( /obj/structure/window/reinforced{ dir = 4 }, @@ -83004,7 +88056,7 @@ }, /turf/open/floor/plasteel, /area/medical/genetics) -"dsS" = ( +"dyu" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -83019,7 +88071,7 @@ }, /turf/open/floor/plating, /area/medical/genetics) -"dsT" = ( +"dyv" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -83030,7 +88082,7 @@ dir = 8 }, /area/medical/medbay/central) -"dsU" = ( +"dyw" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -83043,7 +88095,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"dsV" = ( +"dyx" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -83052,40 +88104,40 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/cmo) -"dsW" = ( +"dyy" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/neutral/side{ dir = 4 }, /area/crew_quarters/heads/cmo) -"dsX" = ( +"dyz" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dsY" = ( +"dyA" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dsZ" = ( +"dyB" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dta" = ( +"dyC" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/neutral/side{ dir = 8; heat_capacity = 1e+006 }, /area/crew_quarters/heads/cmo) -"dtb" = ( +"dyD" = ( /obj/structure/table, /obj/machinery/firealarm{ dir = 8; @@ -83104,22 +88156,33 @@ dir = 8 }, /area/medical/surgery) -"dtc" = ( -/obj/machinery/computer/med_data, +"dyE" = ( +/obj/machinery/computer/med_data{ + dir = 1 + }, /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_y = -26 }, /turf/open/floor/plasteel/whiteblue/side, /area/medical/surgery) -"dtd" = ( -/obj/machinery/computer/crew, +"dyF" = ( +/obj/machinery/computer/crew{ + dir = 1 + }, /obj/machinery/status_display{ pixel_y = -32 }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/surgery) -"dtf" = ( +"dyG" = ( +/obj/structure/closet/secure_closet/medical2, +/obj/structure/sign/poster/official/cleanliness{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/vault, +/area/medical/surgery) +"dyH" = ( /obj/machinery/ai_status_display{ pixel_y = -32 }, @@ -83128,7 +88191,7 @@ }, /turf/open/floor/plasteel/vault, /area/medical/surgery) -"dtg" = ( +"dyI" = ( /obj/structure/cable/white, /obj/machinery/power/apc{ dir = 2; @@ -83143,13 +88206,13 @@ }, /turf/open/floor/plasteel/vault, /area/medical/surgery) -"dth" = ( +"dyJ" = ( /obj/machinery/status_display{ pixel_y = -32 }, /turf/open/floor/plasteel/vault, /area/medical/surgery) -"dti" = ( +"dyK" = ( /obj/structure/closet/crate/freezer/blood, /obj/machinery/vending/wallmed{ name = "Emergency NanoMed"; @@ -83159,7 +88222,32 @@ }, /turf/open/floor/plasteel/vault, /area/medical/surgery) -"dtj" = ( +"dyL" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable/white{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 8 + }, +/area/maintenance/starboard/aft) +"dyM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + areastring = "/area/maintenance/starboard/aft"; + dir = 4; + name = "Starboard Quarter Maintenance APC"; + pixel_x = 26 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"dyN" = ( /obj/structure/table, /obj/item/stock_parts/cell/high, /obj/item/stock_parts/cell/high, @@ -83167,14 +88255,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"dtk" = ( +"dyO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"dtl" = ( +"dyP" = ( /obj/machinery/power/apc{ dir = 2; name = "Auxiliary Construction Zone APC"; @@ -83187,7 +88275,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"dtm" = ( +"dyQ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -83196,14 +88284,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"dtn" = ( +"dyR" = ( /obj/structure/table, /obj/item/device/flashlight/lamp, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"dto" = ( +"dyS" = ( /obj/structure/table, /obj/item/paper_bin, /obj/item/pen, @@ -83211,14 +88299,21 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"dtp" = ( +"dyT" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dtq" = ( +"dyU" = ( +/turf/closed/wall/r_wall, +/area/maintenance/solars/starboard/aft) +"dyV" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"dyW" = ( /obj/structure/table/wood, /obj/machinery/newscaster{ pixel_y = -32 @@ -83228,19 +88323,25 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plasteel/black, /area/crew_quarters/abandoned_gambling_den) -"dtr" = ( +"dyX" = ( +/obj/structure/chair/wood/normal{ + dir = 8 + }, +/turf/open/floor/plating, +/area/crew_quarters/abandoned_gambling_den) +"dyY" = ( /obj/structure/table/wood/poker, /obj/item/device/flashlight/lamp, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"dts" = ( +"dyZ" = ( /obj/structure/table/wood/poker, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/wood{ icon_state = "wood-broken5" }, /area/crew_quarters/abandoned_gambling_den) -"dtt" = ( +"dza" = ( /obj/structure/table/wood/poker, /obj/item/storage/box/matches{ pixel_x = -3; @@ -83248,13 +88349,13 @@ }, /turf/open/floor/wood, /area/crew_quarters/abandoned_gambling_den) -"dtu" = ( +"dzb" = ( /obj/structure/table/wood/poker, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/wood, /area/crew_quarters/abandoned_gambling_den) -"dtv" = ( +"dzc" = ( /obj/structure/table/wood/poker, /obj/item/storage/fancy/cigarettes/dromedaryco{ pixel_x = 3; @@ -83264,14 +88365,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/black, /area/crew_quarters/abandoned_gambling_den) -"dtw" = ( +"dzd" = ( /obj/machinery/airalarm{ dir = 1; pixel_y = -22 }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"dtx" = ( +"dze" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/status_display{ pixel_x = -32 @@ -83279,19 +88380,19 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dty" = ( +"dzf" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dtz" = ( +"dzg" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/mech_bay_recharge_floor, /area/science/research/abandoned) -"dtA" = ( +"dzh" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/science/research/abandoned) -"dtB" = ( +"dzi" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 @@ -83299,13 +88400,13 @@ /obj/effect/landmark/xeno_spawn, /turf/open/floor/plasteel/neutral, /area/science/research/abandoned) -"dtC" = ( +"dzj" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/science/research/abandoned) -"dtD" = ( +"dzk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -83314,14 +88415,14 @@ }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dtE" = ( +"dzl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dtF" = ( +"dzm" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -83338,7 +88439,7 @@ }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dtG" = ( +"dzn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-4" @@ -83348,7 +88449,7 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"dtH" = ( +"dzo" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -83359,7 +88460,7 @@ dir = 1 }, /area/maintenance/port) -"dtI" = ( +"dzp" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -83371,7 +88472,19 @@ dir = 1 }, /area/maintenance/port) -"dtJ" = ( +"dzq" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral/side{ + dir = 1 + }, +/area/maintenance/port) +"dzr" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -83382,14 +88495,14 @@ dir = 1 }, /area/maintenance/port) -"dtK" = ( +"dzs" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, /turf/open/floor/plating, /area/maintenance/port) -"dtL" = ( +"dzt" = ( /obj/machinery/portable_atmospherics/pump, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 @@ -83398,7 +88511,7 @@ dir = 8 }, /area/science/mixing) -"dtM" = ( +"dzu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -83407,13 +88520,13 @@ dir = 1 }, /area/science/mixing) -"dtN" = ( +"dzv" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/science/mixing) -"dtO" = ( +"dzw" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 8 }, @@ -83422,7 +88535,7 @@ dir = 4 }, /area/science/mixing) -"dtP" = ( +"dzx" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 }, @@ -83434,20 +88547,20 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dtQ" = ( +"dzy" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plating, /area/science/misc_lab/range) -"dtR" = ( +"dzz" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 }, /turf/open/floor/plating, /area/science/misc_lab/range) -"dtS" = ( +"dzA" = ( /obj/structure/closet/secure_closet/RD, /obj/machinery/computer/security/telescreen/entertainment{ pixel_x = -32 @@ -83457,12 +88570,12 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dtT" = ( +"dzB" = ( /turf/open/floor/plasteel/whitepurple/corner{ dir = 4 }, /area/crew_quarters/heads/hor) -"dtU" = ( +"dzC" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -83471,7 +88584,7 @@ dir = 4 }, /area/crew_quarters/heads/hor) -"dtV" = ( +"dzD" = ( /obj/machinery/light_switch{ pixel_x = 26; pixel_y = 26 @@ -83481,7 +88594,7 @@ dir = 4 }, /area/crew_quarters/heads/hor) -"dtW" = ( +"dzE" = ( /obj/structure/dresser, /obj/item/storage/secure/safe{ pixel_x = 32 @@ -83490,19 +88603,11 @@ dir = 4 }, /area/crew_quarters/heads/hor) -"dtX" = ( -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +"dzF" = ( +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/structure/table/reinforced, /obj/machinery/requests_console{ department = "Robotics Lab"; @@ -83517,7 +88622,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dtY" = ( +"dzG" = ( /obj/item/paper_bin, /obj/item/device/assembly/prox_sensor{ pixel_x = 5; @@ -83535,12 +88640,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dtZ" = ( +"dzH" = ( /obj/machinery/mecha_part_fabricator, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dua" = ( +"dzI" = ( /obj/structure/rack, /obj/item/book/manual/robotics_cyborgs, /obj/item/storage/belt/utility/full, @@ -83552,14 +88657,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dub" = ( +"dzJ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/robotics/lab) -"duc" = ( +"dzK" = ( /obj/structure/table/reinforced, /obj/item/clipboard, /obj/item/toy/figure/roboticist, @@ -83577,7 +88682,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dud" = ( +"dzL" = ( /obj/structure/sign/science{ pixel_x = -32; pixel_y = 32 @@ -83588,7 +88693,7 @@ dir = 8 }, /area/hallway/primary/aft) -"due" = ( +"dzM" = ( /obj/structure/sign/science{ pixel_x = 32; pixel_y = 32 @@ -83597,7 +88702,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/purple/corner, /area/hallway/primary/aft) -"duf" = ( +"dzN" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/machinery/door/poddoor/shutters/preopen{ @@ -83617,7 +88722,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/medical/genetics) -"dug" = ( +"dzO" = ( /obj/structure/chair/office/light{ dir = 8 }, @@ -83628,7 +88733,7 @@ dir = 8 }, /area/medical/genetics) -"duh" = ( +"dzP" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -83637,17 +88742,17 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/genetics) -"dui" = ( +"dzQ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/medical/genetics) -"duj" = ( +"dzR" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/whitepurple/corner, /area/medical/genetics) -"duk" = ( +"dzS" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -83656,7 +88761,7 @@ }, /turf/open/floor/plating, /area/medical/genetics) -"dul" = ( +"dzT" = ( /obj/structure/table/reinforced, /obj/item/storage/box/monkeycubes, /obj/item/storage/box/monkeycubes, @@ -83665,35 +88770,35 @@ dir = 8 }, /area/medical/genetics) -"dum" = ( +"dzU" = ( /obj/structure/chair/office/light, /obj/effect/landmark/start/geneticist, /turf/open/floor/plasteel/whitepurple/side{ dir = 10 }, /area/medical/genetics) -"dun" = ( +"dzV" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plasteel/whitepurple/side, /area/medical/genetics) -"duo" = ( +"dzW" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/whitepurple/corner{ dir = 8 }, /area/medical/genetics) -"dup" = ( +"dzX" = ( /turf/open/floor/plasteel/neutral, /area/medical/genetics) -"duq" = ( +"dzY" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/whitepurple/side{ dir = 4 }, /area/medical/genetics) -"dur" = ( +"dzZ" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -83706,7 +88811,7 @@ /mob/living/carbon/monkey, /turf/open/floor/plasteel, /area/medical/genetics) -"dus" = ( +"dAa" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/camera{ c_tag = "Medbay - Aft Port"; @@ -83715,7 +88820,7 @@ }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"dut" = ( +"dAb" = ( /obj/structure/bed/dogbed/runtime, /obj/machinery/airalarm{ dir = 4; @@ -83729,7 +88834,7 @@ dir = 4 }, /area/crew_quarters/heads/cmo) -"duu" = ( +"dAc" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -83737,11 +88842,11 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"duv" = ( +"dAd" = ( /obj/structure/chair/office/light, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"duw" = ( +"dAe" = ( /obj/structure/chair/office/light, /obj/structure/cable/white{ icon_state = "2-4" @@ -83749,7 +88854,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dux" = ( +"dAf" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/structure/cable/white{ icon_state = "0-8" @@ -83773,7 +88878,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/heads/cmo) -"duy" = ( +"dAg" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_x = 26 @@ -83781,14 +88886,28 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"duz" = ( +"dAh" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"duA" = ( +"dAi" = ( +/obj/machinery/door/airlock/maintenance_hatch/abandoned{ + name = "Maintenance Hatch"; + req_access_txt = "12" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/construction) +"dAj" = ( /obj/machinery/door/airlock/maintenance_hatch/abandoned{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -83805,7 +88924,15 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/construction) -"duB" = ( +"dAk" = ( +/obj/structure/sign/directions/engineering{ + desc = "A sign that shows there are doors here. There are doors everywhere!"; + icon_state = "doors"; + name = "WARNING: EXTERNAL AIRLOCK" + }, +/turf/closed/wall/r_wall, +/area/maintenance/solars/starboard/aft) +"dAl" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -83818,7 +88945,7 @@ }, /turf/open/floor/plating, /area/maintenance/solars/starboard/aft) -"duC" = ( +"dAm" = ( /obj/machinery/power/smes, /obj/structure/cable/white{ icon_state = "0-8" @@ -83831,7 +88958,7 @@ }, /turf/open/floor/plating, /area/maintenance/solars/starboard/aft) -"duD" = ( +"dAn" = ( /obj/machinery/camera{ c_tag = "Solar - Aft Starboard"; name = "solar camera" @@ -83841,18 +88968,24 @@ }, /turf/open/floor/plating, /area/maintenance/solars/starboard/aft) -"duE" = ( +"dAo" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/crew_quarters/abandoned_gambling_den) +"dAp" = ( /obj/structure/frame/machine, /obj/item/circuitboard/machine/cyborgrecharger, /turf/open/floor/plating, /area/science/research/abandoned) -"duF" = ( +"dAq" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/research/abandoned) -"duG" = ( +"dAr" = ( /obj/machinery/mech_bay_recharge_port{ icon_state = "recharge_port"; dir = 1 @@ -83863,57 +88996,23 @@ }, /turf/open/floor/plating, /area/science/research/abandoned) -"duH" = ( +"dAs" = ( /obj/item/robot_suit, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"duI" = ( +"dAt" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/science/research/abandoned) -"duJ" = ( +"dAu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, /turf/open/floor/plating, /area/maintenance/port) -"duK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/side, -/area/maintenance/port) -"duL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/side, -/area/maintenance/port) -"duM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/side, -/area/maintenance/port) -"duN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/port) -"duO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/port) -"duP" = ( +"dAv" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -83923,7 +89022,7 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/port) -"duQ" = ( +"dAw" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -83937,7 +89036,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/mixing) -"duR" = ( +"dAx" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -83946,7 +89045,7 @@ dir = 8 }, /area/science/mixing) -"duS" = ( +"dAy" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -83954,7 +89053,7 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral, /area/science/mixing) -"duT" = ( +"dAz" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 5 }, @@ -83962,7 +89061,7 @@ dir = 4 }, /area/science/mixing) -"duU" = ( +"dAA" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 }, @@ -83972,13 +89071,13 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"duV" = ( +"dAB" = ( /turf/open/floor/plating, /turf/open/floor/plating{ icon_state = "platingdmg2" }, /area/science/misc_lab/range) -"duW" = ( +"dAC" = ( /obj/item/target/syndicate, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -83987,10 +89086,10 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/misc_lab/range) -"duX" = ( +"dAD" = ( /turf/open/floor/plating, /area/science/misc_lab/range) -"duY" = ( +"dAE" = ( /obj/machinery/light{ dir = 8 }, @@ -84005,13 +89104,13 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"duZ" = ( +"dAF" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/heads/hor) -"dva" = ( +"dAG" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -84021,13 +89120,13 @@ }, /turf/open/floor/plasteel/purple, /area/crew_quarters/heads/hor) -"dvb" = ( +"dAH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/heads/hor) -"dvc" = ( +"dAI" = ( /obj/machinery/light{ dir = 4 }, @@ -84040,7 +89139,7 @@ dir = 4 }, /area/crew_quarters/heads/hor) -"dvd" = ( +"dAJ" = ( /obj/item/stack/sheet/plasteel{ amount = 15 }, @@ -84057,7 +89156,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dve" = ( +"dAK" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -84066,7 +89165,7 @@ }, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dvf" = ( +"dAL" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -84076,7 +89175,7 @@ }, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dvg" = ( +"dAM" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -84085,7 +89184,7 @@ }, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dvh" = ( +"dAN" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -84094,7 +89193,7 @@ }, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dvi" = ( +"dAO" = ( /obj/structure/chair/office/light{ icon_state = "officechair_white"; dir = 4 @@ -84105,7 +89204,7 @@ }, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dvj" = ( +"dAP" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/item/folder, @@ -84122,7 +89221,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dvk" = ( +"dAQ" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -84133,7 +89232,7 @@ }, /turf/open/floor/plating, /area/medical/genetics) -"dvl" = ( +"dAR" = ( /obj/structure/filingcabinet/chestdrawer, /obj/structure/cable/white{ icon_state = "4-8" @@ -84153,7 +89252,7 @@ dir = 8 }, /area/medical/genetics) -"dvm" = ( +"dAS" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -84165,22 +89264,22 @@ dir = 8 }, /area/medical/genetics) -"dvn" = ( +"dAT" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_y = -26 }, /turf/open/floor/plasteel/whitepurple/corner, /area/medical/genetics) -"dvo" = ( +"dAU" = ( /obj/structure/closet/wardrobe/genetics_white, /turf/open/floor/plasteel/whitepurple/corner, /area/medical/genetics) -"dvp" = ( +"dAV" = ( /obj/machinery/ai_status_display, /turf/closed/wall/r_wall, /area/medical/genetics) -"dvq" = ( +"dAW" = ( /obj/structure/table/reinforced, /obj/machinery/requests_console{ department = "Medbay Storage"; @@ -84197,8 +89296,10 @@ dir = 8 }, /area/medical/genetics) -"dvr" = ( -/obj/machinery/computer/scan_consolenew, +"dAX" = ( +/obj/machinery/computer/scan_consolenew{ + dir = 1 + }, /obj/machinery/light, /obj/structure/sign/nosmoking_2{ pixel_y = -32 @@ -84208,7 +89309,7 @@ }, /turf/open/floor/plasteel, /area/medical/genetics) -"dvs" = ( +"dAY" = ( /obj/machinery/dna_scannernew, /obj/structure/extinguisher_cabinet{ pixel_y = -32 @@ -84218,7 +89319,7 @@ }, /turf/open/floor/plasteel, /area/medical/genetics) -"dvt" = ( +"dAZ" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/airalarm{ dir = 1; @@ -84228,27 +89329,29 @@ dir = 8 }, /area/medical/genetics) -"dvu" = ( -/obj/machinery/computer/med_data/laptop, +"dBa" = ( +/obj/machinery/computer/med_data/laptop{ + dir = 1; + pixel_y = 4 + }, /obj/structure/table/glass, /obj/structure/mirror{ pixel_y = -28 }, /turf/open/floor/plasteel/white, /area/medical/genetics) -"dvv" = ( +"dBb" = ( /obj/machinery/newscaster{ pixel_y = -32 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/whitepurple/side{ dir = 4 }, /area/medical/genetics) -"dvw" = ( +"dBc" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ dir = 8 @@ -84256,7 +89359,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/genetics) -"dvx" = ( +"dBd" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -84268,7 +89371,16 @@ }, /turf/open/floor/plating, /area/medical/genetics) -"dvz" = ( +"dBe" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/sign/poster/official/do_not_question{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/whitepurple/corner{ + dir = 8 + }, +/area/medical/medbay/central) +"dBf" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -84276,12 +89388,11 @@ dir = 6 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/whiteblue/side, /area/medical/medbay/central) -"dvA" = ( +"dBg" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/structure/disposalpipe/segment{ @@ -84289,7 +89400,7 @@ }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"dvB" = ( +"dBh" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -84306,7 +89417,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/cmo) -"dvC" = ( +"dBi" = ( /obj/machinery/disposal/bin, /obj/structure/cable/white{ icon_state = "4-8" @@ -84317,7 +89428,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/crew_quarters/heads/cmo) -"dvD" = ( +"dBj" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -84333,7 +89444,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dvE" = ( +"dBk" = ( /obj/structure/table/glass, /obj/structure/cable/white{ icon_state = "4-8" @@ -84344,7 +89455,7 @@ }, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dvF" = ( +"dBl" = ( /obj/structure/table/glass, /obj/structure/cable/white{ icon_state = "4-8" @@ -84363,7 +89474,7 @@ }, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dvG" = ( +"dBm" = ( /obj/machinery/computer/med_data/laptop, /obj/structure/table/glass, /obj/structure/cable/white{ @@ -84374,7 +89485,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/heads/cmo) -"dvH" = ( +"dBn" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -84385,27 +89496,27 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/cmo) -"dvI" = ( +"dBo" = ( /obj/structure/closet/secure_closet/personal/patient, /turf/open/floor/plasteel/vault, /area/medical/medbay/central) -"dvJ" = ( +"dBp" = ( /obj/machinery/iv_drip, /turf/open/floor/plasteel/vault, /area/medical/medbay/central) -"dvK" = ( +"dBq" = ( /obj/structure/bed, /obj/item/bedsheet/medical, /turf/open/floor/plasteel/vault, /area/medical/medbay/central) -"dvL" = ( +"dBr" = ( /obj/item/folder/white, /obj/item/device/flashlight/pen, /obj/item/clothing/neck/stethoscope, /obj/structure/table, /turf/open/floor/plasteel/vault, /area/medical/medbay/central) -"dvM" = ( +"dBs" = ( /obj/machinery/computer/med_data/laptop, /obj/structure/table, /obj/machinery/newscaster{ @@ -84413,14 +89524,14 @@ }, /turf/open/floor/plasteel/vault, /area/medical/medbay/central) -"dvN" = ( +"dBt" = ( /obj/effect/decal/cleanable/cobweb, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dvO" = ( +"dBu" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -84433,7 +89544,7 @@ heat_capacity = 1e+006 }, /area/maintenance/starboard/aft) -"dvP" = ( +"dBv" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -84446,7 +89557,7 @@ heat_capacity = 1e+006 }, /area/maintenance/starboard/aft) -"dvQ" = ( +"dBw" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -84456,7 +89567,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dvR" = ( +"dBx" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -84466,7 +89577,7 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dvS" = ( +"dBy" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -84476,7 +89587,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dvT" = ( +"dBz" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -84485,7 +89596,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dvU" = ( +"dBA" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -84499,7 +89610,7 @@ heat_capacity = 1e+006 }, /area/maintenance/starboard/aft) -"dvV" = ( +"dBB" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -84511,7 +89622,7 @@ heat_capacity = 1e+006 }, /area/maintenance/starboard/aft) -"dvW" = ( +"dBC" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -84525,7 +89636,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dvX" = ( +"dBD" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -84541,7 +89652,7 @@ heat_capacity = 1e+006 }, /area/maintenance/starboard/aft) -"dvY" = ( +"dBE" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -84551,7 +89662,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dvZ" = ( +"dBF" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -84562,7 +89673,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"dwa" = ( +"dBG" = ( /obj/machinery/door/airlock/engineering{ name = "Starboard Quarter Solar Access"; req_access_txt = "10" @@ -84581,18 +89692,107 @@ }, /turf/open/floor/plasteel, /area/maintenance/solars/starboard/aft) -"dwb" = ( +"dBH" = ( +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"dBI" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"dBJ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"dBK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/external{ + cyclelinkeddir = 4; + name = "External Solar Access"; + req_access_txt = "10; 13" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/maintenance/solars/starboard/aft) +"dBL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/maintenance/solars/starboard/aft) +"dBM" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/external{ + cyclelinkeddir = 8; + name = "External Solar Access"; + req_access_txt = "10; 13" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/maintenance/solars/starboard/aft) +"dBN" = ( /obj/structure/cable{ icon_state = "0-8" }, /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/starboard/aft) -"dwc" = ( +"dBO" = ( /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/starboard/aft) -"dwe" = ( +"dBP" = ( +/obj/machinery/light/small, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/chem_dispenser/drinks/beer, +/obj/structure/table/wood/poker, +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 + }, +/turf/open/floor/plating, +/area/crew_quarters/abandoned_gambling_den) +"dBQ" = ( /obj/structure/table/wood/poker, /obj/item/reagent_containers/food/drinks/bottle/rum{ pixel_x = 6; @@ -84604,50 +89804,61 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/crew_quarters/abandoned_gambling_den) -"dwg" = ( +"dBR" = ( +/obj/machinery/vending/boozeomat{ + req_access_txt = "0" + }, +/obj/machinery/light/small, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 + }, +/turf/open/floor/plating, +/area/crew_quarters/abandoned_gambling_den) +"dBS" = ( /obj/structure/table/wood/poker, /obj/item/reagent_containers/food/drinks/shaker, /obj/item/reagent_containers/glass/beaker/cryoxadone, /obj/item/reagent_containers/dropper, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"dwh" = ( +"dBT" = ( /obj/structure/table, /obj/item/crowbar/red, /obj/item/wrench, /obj/item/clothing/mask/gas, /turf/open/floor/plating, /area/science/research/abandoned) -"dwi" = ( +"dBU" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dwj" = ( +"dBV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dwk" = ( +"dBW" = ( /obj/structure/chair/office/light, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dwl" = ( +"dBX" = ( /obj/structure/rack, /obj/item/storage/toolbox/mechanical, /obj/item/clothing/head/welding, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/science/research/abandoned) -"dwm" = ( +"dBY" = ( /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/port) -"dwn" = ( +"dBZ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -84655,7 +89866,7 @@ dir = 4 }, /area/maintenance/port) -"dwo" = ( +"dCa" = ( /obj/structure/table/reinforced, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -84675,13 +89886,13 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dwp" = ( +"dCb" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whitepurple/side{ dir = 8 }, /area/science/mixing) -"dwq" = ( +"dCc" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -84690,33 +89901,33 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/mixing) -"dwr" = ( +"dCd" = ( /turf/open/floor/plasteel/whitepurple/side{ dir = 4 }, /area/science/mixing) -"dws" = ( +"dCe" = ( /obj/machinery/newscaster{ pixel_x = 32 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/mixing) -"dwt" = ( +"dCf" = ( /obj/machinery/light/small, /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plating, /area/science/misc_lab/range) -"dwu" = ( +"dCg" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/science/misc_lab/range) -"dwv" = ( +"dCh" = ( /obj/machinery/light/small, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -84724,7 +89935,7 @@ }, /turf/open/floor/plating, /area/science/misc_lab/range) -"dww" = ( +"dCi" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/suit_storage_unit/rd, /obj/effect/turf_decal/stripes/line{ @@ -84732,7 +89943,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) -"dwx" = ( +"dCj" = ( /obj/machinery/button/door{ id = "idquarters"; name = "Privacy Control"; @@ -84742,7 +89953,7 @@ }, /turf/open/floor/plasteel/whitepurple/corner, /area/crew_quarters/heads/hor) -"dwy" = ( +"dCk" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -84752,16 +89963,18 @@ name = "science camera"; network = list("SS13","RD") }, -/obj/machinery/modular_computer/console/preset/research, +/obj/machinery/modular_computer/console/preset/research{ + dir = 1 + }, /turf/open/floor/plasteel/whitepurple/corner, /area/crew_quarters/heads/hor) -"dwz" = ( +"dCl" = ( /obj/structure/cable/white{ icon_state = "2-8" }, /turf/open/floor/plasteel/whitepurple/corner, /area/crew_quarters/heads/hor) -"dwA" = ( +"dCm" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /obj/machinery/newscaster{ @@ -84773,21 +89986,21 @@ }, /turf/open/floor/plasteel/whitepurple/corner, /area/crew_quarters/heads/hor) -"dwB" = ( +"dCn" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"dwC" = ( +"dCo" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/science/robotics/lab) -"dwD" = ( +"dCp" = ( /obj/item/stack/cable_coil/white, /obj/item/bodypart/r_arm/robot{ pixel_x = 3 @@ -84812,7 +90025,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dwE" = ( +"dCq" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -84825,36 +90038,57 @@ }, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dwF" = ( +"dCr" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/science/robotics/lab) -"dwG" = ( +"dCs" = ( /obj/effect/decal/cleanable/oil, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dwH" = ( +"dCt" = ( +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral, /area/science/robotics/lab) -"dwI" = ( +"dCu" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dwJ" = ( +"dCv" = ( /obj/structure/filingcabinet/chestdrawer, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dwK" = ( +"dCw" = ( +/obj/structure/cable/white{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/neutral, +/area/hallway/primary/aft) +"dCx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment, +/obj/machinery/power/apc{ + dir = 4; + name = "Aft Primary Hallway APC"; + areastring = "/area/hallway/primary/aft"; + pixel_x = 26 + }, +/obj/structure/cable/white{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/neutral/corner, +/area/hallway/primary/aft) +"dCy" = ( /turf/closed/wall, /area/medical/morgue) -"dwL" = ( +"dCz" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -84872,18 +90106,21 @@ }, /turf/open/floor/plasteel, /area/medical/morgue) -"dwM" = ( +"dCA" = ( /obj/structure/sign/nosmoking_2, /turf/closed/wall, /area/medical/morgue) -"dwN" = ( +"dCB" = ( /turf/closed/wall/r_wall, /area/medical/morgue) -"dwO" = ( +"dCC" = ( +/turf/closed/wall/r_wall, +/area/maintenance/department/medical/morgue) +"dCD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/maintenance/department/medical/morgue) -"dwP" = ( +"dCE" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -84901,7 +90138,10 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/medical/morgue) -"dwQ" = ( +"dCF" = ( +/turf/closed/wall, +/area/maintenance/department/medical/morgue) +"dCG" = ( /obj/structure/table/glass, /obj/item/clipboard, /obj/item/toy/figure/cmo, @@ -84912,7 +90152,7 @@ dir = 4 }, /area/crew_quarters/heads/cmo) -"dwR" = ( +"dCH" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -84921,13 +90161,13 @@ }, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dwS" = ( +"dCI" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dwT" = ( +"dCJ" = ( /obj/structure/chair/office/light{ dir = 1 }, @@ -84935,8 +90175,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dwU" = ( -/obj/machinery/computer/card/minor/cmo, +"dCK" = ( +/obj/machinery/computer/card/minor/cmo{ + dir = 8 + }, /obj/machinery/ai_status_display{ pixel_x = 32 }, @@ -84945,7 +90187,7 @@ heat_capacity = 1e+006 }, /area/crew_quarters/heads/cmo) -"dwV" = ( +"dCL" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, @@ -84958,7 +90200,7 @@ dir = 8 }, /area/medical/medbay/central) -"dwW" = ( +"dCM" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ name = "Patient Room" @@ -84974,14 +90216,14 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"dwX" = ( +"dCN" = ( /obj/effect/landmark/start/medical_doctor, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"dwY" = ( +"dCO" = ( /obj/structure/chair/office/light{ dir = 1 }, @@ -84990,7 +90232,7 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/medbay/central) -"dwZ" = ( +"dCP" = ( /obj/structure/sink{ dir = 4; pixel_x = 11 @@ -85006,7 +90248,7 @@ }, /turf/open/floor/plasteel/cmo, /area/medical/medbay/central) -"dxa" = ( +"dCQ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -85015,7 +90257,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dxb" = ( +"dCR" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate{ icon_state = "crateopen"; @@ -85028,14 +90270,14 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard/aft) -"dxc" = ( +"dCS" = ( /obj/structure/girder, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dxd" = ( +"dCT" = ( /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance{ lootcount = 2; @@ -85046,18 +90288,26 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard/aft) -"dxe" = ( +"dCU" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dxf" = ( +"dCV" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard/aft) -"dxg" = ( +"dCW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral/side, +/area/maintenance/starboard/aft) +"dCX" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -85067,13 +90317,13 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard/aft) -"dxh" = ( +"dCY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard/aft) -"dxi" = ( +"dCZ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -85085,13 +90335,17 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"dxj" = ( +"dDa" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dxk" = ( +"dDb" = ( +/obj/structure/sign/electricshock, +/turf/closed/wall/r_wall, +/area/maintenance/solars/starboard/aft) +"dDc" = ( /obj/structure/cable/white, /obj/machinery/power/apc/highcap/ten_k{ dir = 2; @@ -85104,8 +90358,16 @@ }, /turf/open/floor/plating, /area/maintenance/solars/starboard/aft) -"dxl" = ( +"dDd" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"dDe" = ( /obj/machinery/power/solar_control{ + dir = 8; id = "aftstarboard"; name = "Starboard Quarter Solar Control"; track = 0 @@ -85120,14 +90382,14 @@ }, /turf/open/floor/plating, /area/maintenance/solars/starboard/aft) -"dxm" = ( +"dDf" = ( /obj/structure/cable{ icon_state = "0-2" }, /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/starboard/aft) -"dxn" = ( +"dDg" = ( /obj/structure/table, /obj/item/stack/rods{ amount = 23 @@ -85137,14 +90399,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/science/research/abandoned) -"dxp" = ( +"dDh" = ( /obj/machinery/light/small, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dxr" = ( +"dDi" = ( /obj/structure/table, /obj/item/clipboard, /obj/item/folder/white, @@ -85152,8 +90414,10 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/research/abandoned) -"dxs" = ( -/obj/structure/frame/computer, +"dDj" = ( +/obj/structure/frame/computer{ + dir = 1 + }, /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm{ dir = 1; @@ -85161,28 +90425,28 @@ }, /turf/open/floor/plating, /area/science/research/abandoned) -"dxt" = ( +"dDk" = ( /obj/structure/frame/machine, /obj/machinery/light/small, /obj/item/stock_parts/console_screen, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/science/research/abandoned) -"dxv" = ( +"dDl" = ( /obj/structure/table, /obj/item/clothing/gloves/color/black, /obj/item/storage/toolbox/electrical, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/science/research/abandoned) -"dxw" = ( +"dDm" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/maintenance/port) -"dxx" = ( +"dDn" = ( /obj/item/device/assembly/prox_sensor{ pixel_x = -4; pixel_y = 1 @@ -85207,7 +90471,7 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dxy" = ( +"dDo" = ( /obj/item/device/assembly/timer{ pixel_x = 5; pixel_y = 4 @@ -85228,20 +90492,20 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dxz" = ( +"dDp" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/science/mixing) -"dxA" = ( +"dDq" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 6 }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/mixing) -"dxB" = ( +"dDr" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ icon_state = "freezer"; dir = 8 @@ -85251,11 +90515,11 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dxC" = ( +"dDs" = ( /obj/structure/sign/fire, /turf/closed/wall/r_wall, /area/science/misc_lab/range) -"dxD" = ( +"dDt" = ( /obj/machinery/door/firedoor/heavy, /obj/structure/cable/white{ icon_state = "1-2" @@ -85277,10 +90541,10 @@ }, /turf/open/floor/plasteel, /area/science/misc_lab/range) -"dxE" = ( +"dDu" = ( /turf/closed/wall/r_wall, /area/science/misc_lab/range) -"dxF" = ( +"dDv" = ( /obj/machinery/door/firedoor/heavy, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -85290,7 +90554,7 @@ /obj/structure/cable/white, /turf/open/floor/plating, /area/crew_quarters/heads/hor) -"dxG" = ( +"dDw" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -85305,18 +90569,17 @@ dir = 8 }, /area/science/research) -"dxH" = ( +"dDx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"dxI" = ( +"dDy" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_research{ name = "Robotics Lab"; @@ -85336,18 +90599,17 @@ }, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dxJ" = ( +"dDz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dxK" = ( +"dDA" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -85361,33 +90623,33 @@ }, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dxL" = ( +"dDB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/science/robotics/lab) -"dxM" = ( +"dDC" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/science/robotics/lab) -"dxN" = ( +"dDD" = ( /obj/effect/landmark/start/roboticist, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/science/robotics/lab) -"dxO" = ( +"dDE" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/plasteel/neutral, /area/science/robotics/lab) -"dxP" = ( +"dDF" = ( /obj/structure/noticeboard{ dir = 8; pixel_x = 32 @@ -85404,7 +90666,13 @@ /obj/machinery/aug_manipulator, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dxQ" = ( +"dDG" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/neutral, +/area/hallway/primary/aft) +"dDH" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/structure/extinguisher_cabinet{ @@ -85412,7 +90680,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/aft) -"dxR" = ( +"dDI" = ( /obj/structure/table, /obj/effect/decal/cleanable/cobweb, /obj/item/storage/box/bodybags{ @@ -85422,13 +90690,13 @@ /obj/item/storage/box/bodybags, /turf/open/floor/plating, /area/medical/morgue) -"dxS" = ( +"dDJ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/medical/morgue) -"dxT" = ( +"dDK" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -85441,7 +90709,7 @@ dir = 5 }, /area/medical/morgue) -"dxU" = ( +"dDL" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ dir = 1 @@ -85451,19 +90719,19 @@ dir = 5 }, /area/medical/morgue) -"dxV" = ( +"dDM" = ( /obj/structure/bodycontainer/morgue, /obj/effect/landmark/revenantspawn, /turf/open/floor/plating, /area/medical/morgue) -"dxW" = ( +"dDN" = ( /obj/structure/bodycontainer/morgue, /obj/effect/landmark/revenantspawn, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/medical/morgue) -"dxX" = ( +"dDO" = ( /obj/structure/bodycontainer/morgue, /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/revenantspawn, @@ -85471,14 +90739,14 @@ dir = 8 }, /area/medical/morgue) -"dxY" = ( +"dDP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ dir = 1 }, /turf/open/floor/plating, /area/medical/morgue) -"dxZ" = ( +"dDQ" = ( /obj/structure/filingcabinet/chestdrawer, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -85486,7 +90754,7 @@ icon_state = "platingdmg2" }, /area/medical/morgue) -"dya" = ( +"dDR" = ( /obj/structure/bed/roller, /obj/machinery/iv_drip, /obj/effect/decal/cleanable/dirt, @@ -85495,7 +90763,7 @@ dir = 5 }, /area/maintenance/department/medical/morgue) -"dyb" = ( +"dDS" = ( /obj/structure/bed/roller, /obj/machinery/iv_drip, /obj/effect/decal/cleanable/dirt, @@ -85503,19 +90771,25 @@ dir = 5 }, /area/maintenance/department/medical/morgue) -"dyc" = ( +"dDT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/department/medical/morgue) -"dyd" = ( +"dDU" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/department/medical/morgue) -"dye" = ( +"dDV" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/maintenance/department/medical/morgue) +"dDW" = ( /obj/structure/table/glass, /obj/item/folder/white, /obj/item/storage/secure/briefcase, @@ -85530,7 +90804,7 @@ dir = 4 }, /area/crew_quarters/heads/cmo) -"dyf" = ( +"dDX" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -85541,15 +90815,17 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dyg" = ( +"dDY" = ( /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dyh" = ( +"dDZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dyi" = ( -/obj/machinery/computer/crew, +"dEa" = ( +/obj/machinery/computer/crew{ + dir = 8 + }, /obj/machinery/button/door{ id = "cmoshutter"; name = "CMO Office Shutters"; @@ -85577,21 +90853,21 @@ heat_capacity = 1e+006 }, /area/crew_quarters/heads/cmo) -"dyj" = ( +"dEb" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plating, /area/medical/medbay/central) -"dyk" = ( +"dEc" = ( /obj/structure/dresser, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/cmo, /area/medical/medbay/central) -"dyl" = ( +"dEd" = ( /obj/structure/mirror{ pixel_y = -28 }, @@ -85600,7 +90876,7 @@ }, /turf/open/floor/plasteel/cmo, /area/medical/medbay/central) -"dym" = ( +"dEe" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -85609,36 +90885,36 @@ /obj/machinery/light, /turf/open/floor/plasteel/cmo, /area/medical/medbay/central) -"dyn" = ( +"dEf" = ( /obj/structure/closet/wardrobe/pjs, /turf/open/floor/plasteel/cmo, /area/medical/medbay/central) -"dyo" = ( +"dEg" = ( /obj/structure/filingcabinet/chestdrawer, /obj/machinery/status_display{ pixel_x = 32 }, /turf/open/floor/plasteel/cmo, /area/medical/medbay/central) -"dyp" = ( +"dEh" = ( /obj/effect/landmark/blobstart, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/starboard/aft) -"dyq" = ( +"dEi" = ( /turf/closed/wall, /area/crew_quarters/theatre/abandoned) -"dyr" = ( +"dEj" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/barricade/wooden, /turf/open/floor/plating, /area/crew_quarters/theatre/abandoned) -"dys" = ( +"dEk" = ( /turf/closed/wall, /area/security/detectives_office/private_investigators_office) -"dyt" = ( +"dEl" = ( /obj/machinery/door/airlock/maintenance_hatch/abandoned{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -85657,32 +90933,32 @@ }, /turf/open/floor/plasteel, /area/security/detectives_office/private_investigators_office) -"dyu" = ( +"dEm" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/starboard/aft) -"dyv" = ( +"dEn" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/science/mixing) -"dyw" = ( +"dEo" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side{ dir = 10; heat_capacity = 1e+006 }, /area/maintenance/port) -"dyx" = ( +"dEp" = ( /obj/structure/closet, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 6 }, /area/maintenance/port) -"dyy" = ( +"dEq" = ( /obj/item/device/transfer_valve{ pixel_x = -5 }, @@ -85708,7 +90984,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/mixing) -"dyz" = ( +"dEr" = ( /obj/structure/chair/office/light{ dir = 8 }, @@ -85720,7 +90996,7 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dyA" = ( +"dEs" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -85731,13 +91007,25 @@ }, /turf/open/floor/plasteel/neutral, /area/science/mixing) -"dyB" = ( +"dEt" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 8 }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/mixing) -"dyD" = ( +"dEu" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/sign/poster/official/science{ + pixel_x = 32 + }, +/turf/open/floor/plasteel, +/area/science/mixing) +"dEv" = ( /obj/structure/filingcabinet/chestdrawer, /obj/machinery/light{ dir = 1 @@ -85746,7 +91034,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/storage) -"dyE" = ( +"dEw" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -85754,7 +91042,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/storage) -"dyF" = ( +"dEx" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm{ pixel_y = 22 @@ -85763,7 +91051,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/storage) -"dyG" = ( +"dEy" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_y = 26 @@ -85772,7 +91060,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/storage) -"dyH" = ( +"dEz" = ( /obj/structure/table, /obj/machinery/light{ dir = 1 @@ -85787,10 +91075,10 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/storage) -"dyI" = ( +"dEA" = ( /turf/closed/wall/r_wall, /area/science/server) -"dyJ" = ( +"dEB" = ( /obj/machinery/airalarm{ dir = 4; pixel_x = -23 @@ -85805,7 +91093,7 @@ dir = 8 }, /area/science/server) -"dyK" = ( +"dEC" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, @@ -85813,7 +91101,7 @@ dir = 5 }, /area/science/server) -"dyL" = ( +"dED" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -85826,18 +91114,26 @@ dir = 8 }, /area/science/server) -"dyM" = ( +"dEE" = ( /obj/structure/sign/securearea, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/science/server) -"dyN" = ( +"dEF" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/purple, +/area/science/research) +"dEG" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/science/robotics/lab) -"dyO" = ( +"dEH" = ( /obj/structure/rack, /obj/item/storage/firstaid, /obj/item/storage/firstaid, @@ -85846,7 +91142,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dyP" = ( +"dEI" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -85856,37 +91152,42 @@ }, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dyQ" = ( +"dEJ" = ( +/turf/open/floor/plasteel/neutral, +/area/science/robotics/lab) +"dEK" = ( /obj/item/robot_suit, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dyR" = ( +"dEL" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/science/robotics/lab) -"dyS" = ( +"dEM" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dyT" = ( +"dEN" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dyU" = ( -/obj/machinery/computer/rdconsole/robotics, +"dEO" = ( +/obj/machinery/computer/rdconsole/robotics{ + dir = 8 + }, /obj/structure/sign/bluecross_2{ pixel_x = 32 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dyV" = ( +"dEP" = ( /obj/effect/landmark/lightsout, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 @@ -85896,7 +91197,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/aft) -"dyW" = ( +"dEQ" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -85908,17 +91209,17 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/aft) -"dyX" = ( +"dER" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/item/clothing/gloves/color/latex, /turf/open/floor/plating, /area/medical/morgue) -"dyY" = ( +"dES" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/medical/morgue) -"dyZ" = ( +"dET" = ( /obj/effect/decal/cleanable/blood/old, /obj/structure/cable/white{ icon_state = "1-2" @@ -85926,38 +91227,42 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/medical/morgue) -"dza" = ( +"dEU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral, /area/medical/morgue) -"dzb" = ( +"dEV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/medical/morgue) -"dzc" = ( +"dEW" = ( /turf/open/floor/plasteel/neutral, /area/medical/morgue) -"dzd" = ( +"dEX" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/effect/landmark/xeno_spawn, /turf/open/floor/plasteel/neutral, /area/medical/morgue) -"dze" = ( +"dEY" = ( /turf/open/floor/plating, /area/medical/morgue) -"dzf" = ( +"dEZ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) +"dFa" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/maintenance/department/medical/morgue) -"dzg" = ( +"dFb" = ( /obj/effect/decal/cleanable/blood/old, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/department/medical/morgue) -"dzh" = ( +"dFc" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -85965,17 +91270,17 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/department/medical/morgue) -"dzi" = ( +"dFd" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/item/storage/backpack/duffelbag/med, /obj/item/device/flashlight/pen, /turf/open/floor/plating, /area/maintenance/department/medical/morgue) -"dzj" = ( +"dFe" = ( /turf/closed/wall, /area/crew_quarters/heads/cmo) -"dzk" = ( +"dFf" = ( /obj/structure/cable/white, /obj/structure/cable/white{ icon_state = "1-4" @@ -85984,7 +91289,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/crew_quarters/heads/cmo) -"dzl" = ( +"dFg" = ( /obj/machinery/door/airlock/command{ name = "Chief Medical Officer's Quarters"; req_access_txt = "40" @@ -85994,7 +91299,7 @@ }, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dzm" = ( +"dFh" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -86002,7 +91307,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/crew_quarters/heads/cmo) -"dzn" = ( +"dFi" = ( /obj/machinery/airalarm{ dir = 4; pixel_x = -23 @@ -86015,14 +91320,14 @@ dir = 8 }, /area/medical/medbay/central) -"dzo" = ( +"dFj" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 26 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/central) -"dzp" = ( +"dFk" = ( /obj/structure/table/wood, /obj/item/clothing/under/maid, /obj/item/clothing/head/kitty, @@ -86030,7 +91335,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/theatre/abandoned) -"dzq" = ( +"dFl" = ( /obj/machinery/vending/autodrobe{ req_access_txt = "0" }, @@ -86039,7 +91344,7 @@ }, /turf/open/floor/plating, /area/crew_quarters/theatre/abandoned) -"dzr" = ( +"dFm" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -86051,19 +91356,19 @@ }, /turf/open/floor/plating, /area/crew_quarters/theatre/abandoned) -"dzs" = ( +"dFn" = ( /obj/machinery/newscaster{ pixel_y = 32 }, /turf/open/floor/wood, /area/crew_quarters/theatre/abandoned) -"dzt" = ( +"dFo" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/crew_quarters/theatre/abandoned) -"dzu" = ( +"dFp" = ( /obj/machinery/door/window{ dir = 8; name = "Theatre Stage"; @@ -86072,13 +91377,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/crew_quarters/theatre/abandoned) -"dzv" = ( +"dFq" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/wood{ icon_state = "wood-broken5" }, /area/crew_quarters/theatre/abandoned) -"dzw" = ( +"dFr" = ( /obj/structure/dresser, /obj/machinery/light/small{ dir = 1 @@ -86087,7 +91392,7 @@ dir = 5 }, /area/crew_quarters/theatre/abandoned) -"dzx" = ( +"dFs" = ( /obj/structure/table/wood, /obj/item/device/instrument/guitar, /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -86095,7 +91400,7 @@ dir = 5 }, /area/crew_quarters/theatre/abandoned) -"dzy" = ( +"dFt" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -86107,21 +91412,29 @@ /obj/item/newspaper, /turf/open/floor/plating, /area/security/detectives_office/private_investigators_office) -"dzz" = ( +"dFu" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/security/detectives_office/private_investigators_office) -"dzA" = ( +"dFv" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light_switch{ pixel_y = 26 }, /turf/open/floor/plating, /area/security/detectives_office/private_investigators_office) -"dzC" = ( +"dFw" = ( +/obj/structure/sign/poster/official/report_crimes{ + pixel_y = 32 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken5" + }, +/area/security/detectives_office/private_investigators_office) +"dFx" = ( /obj/structure/table/wood, /obj/item/crowbar/red, /obj/item/book/manual/wiki/security_space_law{ @@ -86134,7 +91447,7 @@ dir = 5 }, /area/security/detectives_office/private_investigators_office) -"dzD" = ( +"dFy" = ( /obj/structure/cable{ icon_state = "0-2" }, @@ -86144,7 +91457,7 @@ }, /turf/open/floor/plasteel/airless/solarpanel, /area/solar/starboard/aft) -"dzE" = ( +"dFz" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -86158,13 +91471,13 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dzF" = ( +"dFA" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 }, /turf/open/floor/plasteel, /area/science/mixing) -"dzG" = ( +"dFB" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/machinery/status_display{ @@ -86182,14 +91495,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/mixing) -"dzH" = ( +"dFC" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plasteel, /area/science/mixing) -"dzI" = ( +"dFD" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/machinery/light{ dir = 1 @@ -86197,7 +91510,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/mixing) -"dzJ" = ( +"dFE" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/machinery/newscaster{ pixel_y = 32 @@ -86211,10 +91524,10 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dzK" = ( +"dFF" = ( /turf/closed/wall, /area/science/mixing) -"dzL" = ( +"dFG" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -86233,11 +91546,11 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"dzM" = ( +"dFH" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/science/mixing) -"dzN" = ( +"dFI" = ( /obj/item/device/assembly/signaler{ pixel_y = 8 }, @@ -86260,7 +91573,7 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, /area/science/mixing) -"dzO" = ( +"dFJ" = ( /obj/structure/table/reinforced, /obj/item/wrench, /obj/item/screwdriver{ @@ -86273,14 +91586,14 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dzP" = ( +"dFK" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 8 }, /obj/machinery/meter, /turf/open/floor/plasteel/whitepurple/corner, /area/science/mixing) -"dzQ" = ( +"dFL" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 }, @@ -86298,7 +91611,7 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dzR" = ( +"dFM" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -26 }, @@ -86310,7 +91623,7 @@ }, /turf/open/floor/plasteel, /area/science/storage) -"dzS" = ( +"dFN" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -86323,30 +91636,32 @@ }, /turf/open/floor/plasteel, /area/science/storage) -"dzT" = ( +"dFO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/science/storage) -"dzU" = ( +"dFP" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/science/storage) -"dzV" = ( +"dFQ" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 }, /turf/open/floor/plasteel, /area/science/storage) -"dzW" = ( +"dFR" = ( /obj/structure/cable/white{ icon_state = "0-4" }, -/obj/machinery/computer/rdservercontrol, +/obj/machinery/computer/rdservercontrol{ + dir = 4 + }, /obj/machinery/power/apc{ dir = 8; name = "Research Division Server Room APC"; @@ -86361,7 +91676,7 @@ dir = 8 }, /area/science/server) -"dzX" = ( +"dFS" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, @@ -86375,7 +91690,7 @@ dir = 5 }, /area/science/server) -"dzY" = ( +"dFT" = ( /obj/machinery/atmospherics/pipe/simple/general/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -86387,7 +91702,7 @@ dir = 5 }, /area/science/server) -"dzZ" = ( +"dFU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -86403,7 +91718,7 @@ dir = 8 }, /area/science/server) -"dAa" = ( +"dFV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -86415,7 +91730,7 @@ dir = 8 }, /area/science/research) -"dAb" = ( +"dFW" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -86428,13 +91743,13 @@ }, /turf/open/floor/plasteel/neutral, /area/science/research) -"dAc" = ( +"dFX" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"dAd" = ( +"dFY" = ( /obj/machinery/disposal/bin, /obj/structure/cable/white{ icon_state = "0-4" @@ -86451,7 +91766,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dAe" = ( +"dFZ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -86465,27 +91780,27 @@ }, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dAf" = ( +"dGa" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dAg" = ( +"dGb" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dAh" = ( +"dGc" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dAi" = ( +"dGd" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dAj" = ( +"dGe" = ( /obj/machinery/r_n_d/circuit_imprinter, /obj/item/reagent_containers/glass/beaker/sulphuric, /obj/machinery/airalarm{ @@ -86495,17 +91810,16 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dAk" = ( +"dGf" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /obj/structure/disposalpipe/junction{ - dir = 1; - icon_state = "pipe-j1" + dir = 1 }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/aft) -"dAl" = ( +"dGg" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/centcom{ name = "Morgue"; @@ -86525,20 +91839,19 @@ }, /turf/open/floor/plasteel, /area/medical/morgue) -"dAm" = ( +"dGh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/medical/morgue) -"dAn" = ( +"dGi" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 @@ -86547,7 +91860,7 @@ icon_state = "platingdmg2" }, /area/medical/morgue) -"dAo" = ( +"dGj" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -86560,7 +91873,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/medical/morgue) -"dAp" = ( +"dGk" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -86571,7 +91884,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/medical/morgue) -"dAq" = ( +"dGl" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -86580,7 +91893,7 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/morgue) -"dAr" = ( +"dGm" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -86591,7 +91904,7 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/morgue) -"dAs" = ( +"dGn" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, /obj/structure/cable/white{ @@ -86603,14 +91916,14 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/morgue) -"dAt" = ( +"dGo" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/neutral, /area/medical/morgue) -"dAu" = ( +"dGp" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -86630,7 +91943,7 @@ dir = 5 }, /area/medical/morgue) -"dAv" = ( +"dGq" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -86650,7 +91963,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/medical/morgue) -"dAw" = ( +"dGr" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -86661,7 +91974,7 @@ dir = 5 }, /area/maintenance/department/medical/morgue) -"dAx" = ( +"dGs" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -86671,7 +91984,7 @@ }, /turf/open/floor/plating, /area/maintenance/department/medical/morgue) -"dAy" = ( +"dGt" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -86682,7 +91995,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/department/medical/morgue) -"dAz" = ( +"dGu" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -86697,14 +92010,14 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/department/medical/morgue) -"dAA" = ( +"dGv" = ( /obj/structure/table, /obj/item/clothing/gloves/color/latex/nitrile, /obj/item/clothing/suit/apron/surgical, /obj/item/clothing/mask/breath/medical, /turf/open/floor/plating, /area/maintenance/department/medical/morgue) -"dAB" = ( +"dGw" = ( /obj/structure/closet/secure_closet/CMO, /obj/item/clothing/under/rank/nursesuit, /obj/item/clothing/head/nursehat, @@ -86713,11 +92026,11 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/cmo) -"dAC" = ( +"dGx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dAD" = ( +"dGy" = ( /obj/machinery/light_switch{ pixel_x = 26; pixel_y = 26 @@ -86725,14 +92038,14 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dAE" = ( +"dGz" = ( /obj/structure/dresser, /obj/structure/mirror{ pixel_x = 26 }, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dAF" = ( +"dGA" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -86741,7 +92054,7 @@ }, /turf/open/floor/plasteel/blue, /area/medical/medbay/central) -"dAG" = ( +"dGB" = ( /obj/structure/rack, /obj/effect/spawner/lootdrop/costume, /obj/effect/spawner/lootdrop/costume, @@ -86751,7 +92064,7 @@ dir = 8 }, /area/maintenance/starboard/aft) -"dAH" = ( +"dGC" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -86760,23 +92073,23 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dAI" = ( +"dGD" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/theatre/abandoned) -"dAJ" = ( +"dGE" = ( /turf/open/floor/wood, /area/crew_quarters/theatre/abandoned) -"dAK" = ( +"dGF" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plating, /area/crew_quarters/theatre/abandoned) -"dAL" = ( +"dGG" = ( /turf/open/floor/plating, /area/crew_quarters/theatre/abandoned) -"dAM" = ( +"dGH" = ( /obj/structure/table/wood, /obj/item/newspaper, /obj/item/clothing/head/bowler, @@ -86784,16 +92097,16 @@ dir = 5 }, /area/crew_quarters/theatre/abandoned) -"dAN" = ( +"dGI" = ( /obj/structure/window/reinforced{ dir = 8 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/theatre/abandoned) -"dAO" = ( +"dGJ" = ( /turf/open/floor/plasteel/grimy, /area/crew_quarters/theatre/abandoned) -"dAP" = ( +"dGK" = ( /obj/structure/table/wood, /obj/item/clothing/suit/justice, /obj/item/clothing/head/helmet/justice/escape{ @@ -86804,7 +92117,7 @@ dir = 5 }, /area/crew_quarters/theatre/abandoned) -"dAQ" = ( +"dGL" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ dir = 8 @@ -86815,7 +92128,7 @@ /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plating, /area/security/detectives_office/private_investigators_office) -"dAR" = ( +"dGM" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -86824,13 +92137,13 @@ icon_state = "wood-broken" }, /area/security/detectives_office/private_investigators_office) -"dAS" = ( +"dGN" = ( /turf/open/floor/wood, /area/security/detectives_office/private_investigators_office) -"dAT" = ( +"dGO" = ( /turf/open/floor/plating, /area/security/detectives_office/private_investigators_office) -"dAU" = ( +"dGP" = ( /obj/structure/closet/secure_closet/personal/cabinet, /obj/item/clothing/suit/jacket{ desc = "All the class of a trenchcoat without the security fibers."; @@ -86848,11 +92161,21 @@ }, /turf/open/floor/plating, /area/security/detectives_office/private_investigators_office) -"dAV" = ( +"dGQ" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/detectives_office/private_investigators_office) -"dAW" = ( +"dGR" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solar/starboard/aft) +"dGS" = ( /obj/structure/cable{ icon_state = "2-4" }, @@ -86865,14 +92188,14 @@ /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/starboard/aft) -"dAX" = ( +"dGT" = ( /obj/structure/cable{ icon_state = "0-4" }, /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/starboard/aft) -"dAY" = ( +"dGU" = ( /obj/structure/cable{ icon_state = "1-8" }, @@ -86885,14 +92208,24 @@ /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/starboard/aft) -"dAZ" = ( +"dGV" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solar/starboard/aft) +"dGW" = ( /turf/closed/wall/r_wall, /area/science/test_area) -"dBa" = ( +"dGX" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/science/test_area) -"dBb" = ( +"dGY" = ( /obj/structure/table/reinforced, /obj/machinery/computer/security/telescreen{ desc = "Used for watching the testing site."; @@ -86906,14 +92239,14 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dBc" = ( +"dGZ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/science/mixing) -"dBd" = ( +"dHa" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/effect/landmark/xeno_spawn, /turf/open/floor/plasteel/neutral/side{ @@ -86921,7 +92254,7 @@ heat_capacity = 1e+006 }, /area/science/mixing) -"dBe" = ( +"dHb" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 5 }, @@ -86930,7 +92263,7 @@ dir = 1 }, /area/science/mixing) -"dBf" = ( +"dHc" = ( /obj/machinery/atmospherics/components/trinary/filter{ dir = 8 }, @@ -86938,7 +92271,7 @@ dir = 1 }, /area/science/mixing) -"dBg" = ( +"dHd" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 9 }, @@ -86946,21 +92279,21 @@ dir = 1 }, /area/science/mixing) -"dBh" = ( +"dHe" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plasteel, /area/science/mixing) -"dBi" = ( +"dHf" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/side, /area/science/mixing) -"dBj" = ( +"dHg" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line{ @@ -86968,7 +92301,7 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dBk" = ( +"dHh" = ( /obj/structure/table/reinforced, /obj/item/storage/firstaid/toxin, /obj/effect/turf_decal/stripes/line{ @@ -86976,19 +92309,27 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dBl" = ( +"dHi" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whitepurple/corner{ dir = 8 }, /area/science/mixing) -"dBm" = ( +"dHj" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/science/mixing) +"dHk" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 5 }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/mixing) -"dBn" = ( +"dHl" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -86998,7 +92339,7 @@ }, /turf/open/floor/plasteel, /area/science/storage) -"dBo" = ( +"dHm" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -87008,21 +92349,21 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/storage) -"dBp" = ( +"dHn" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/storage) -"dBq" = ( +"dHo" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/storage) -"dBr" = ( +"dHp" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 }, @@ -87031,14 +92372,14 @@ }, /turf/open/floor/plasteel, /area/science/storage) -"dBs" = ( +"dHq" = ( /obj/structure/cable/white{ icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/science/server) -"dBt" = ( +"dHr" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/general/hidden{ dir = 6 @@ -87057,7 +92398,7 @@ dir = 8 }, /area/science/server) -"dBu" = ( +"dHs" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -87067,7 +92408,7 @@ }, /turf/open/floor/plating, /area/science/server) -"dBv" = ( +"dHt" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, @@ -87077,7 +92418,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/purple, /area/science/research) -"dBw" = ( +"dHu" = ( /obj/structure/rack, /obj/item/storage/toolbox/mechanical{ pixel_x = -3; @@ -87098,7 +92439,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dBx" = ( +"dHv" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -87106,7 +92447,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dBy" = ( +"dHw" = ( /obj/structure/table, /obj/structure/window/reinforced{ dir = 4 @@ -87120,12 +92461,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dBz" = ( +"dHx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dBA" = ( +"dHy" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced{ dir = 8 @@ -87136,19 +92477,19 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dBB" = ( +"dHz" = ( /obj/machinery/holopad, /turf/open/floor/plasteel/whitepurple/corner{ dir = 1 }, /area/science/robotics/lab) -"dBC" = ( +"dHA" = ( /obj/effect/landmark/start/roboticist, /turf/open/floor/plasteel/whitepurple/corner{ dir = 4 }, /area/science/robotics/lab) -"dBD" = ( +"dHB" = ( /obj/structure/table/reinforced, /obj/item/retractor, /obj/item/hemostat, @@ -87161,7 +92502,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dBE" = ( +"dHC" = ( /obj/machinery/firealarm{ dir = 8; pixel_x = -24 @@ -87171,13 +92512,13 @@ dir = 8 }, /area/medical/morgue) -"dBF" = ( +"dHD" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/medical/morgue) -"dBG" = ( +"dHE" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -87188,12 +92529,12 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/morgue) -"dBH" = ( +"dHF" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/medical/morgue) -"dBI" = ( +"dHG" = ( /obj/structure/bodycontainer/morgue, /obj/effect/landmark/revenantspawn, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -87203,27 +92544,27 @@ dir = 8 }, /area/medical/morgue) -"dBJ" = ( +"dHH" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/medical/morgue) -"dBK" = ( +"dHI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/medical/morgue) -"dBL" = ( +"dHJ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/medical/morgue) -"dBM" = ( +"dHK" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/item/paper_bin, @@ -87234,13 +92575,13 @@ dir = 8 }, /area/medical/morgue) -"dBN" = ( +"dHL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/medical/morgue) -"dBO" = ( +"dHM" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -87249,7 +92590,7 @@ dir = 5 }, /area/maintenance/department/medical/morgue) -"dBP" = ( +"dHN" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 @@ -87259,13 +92600,13 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/department/medical/morgue) -"dBQ" = ( +"dHO" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/department/medical/morgue) -"dBR" = ( +"dHP" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -87273,7 +92614,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/maintenance/department/medical/morgue) -"dBS" = ( +"dHQ" = ( /obj/structure/rack, /obj/effect/decal/cleanable/dirt, /obj/item/crowbar, @@ -87282,7 +92623,7 @@ dir = 5 }, /area/maintenance/department/medical/morgue) -"dBT" = ( +"dHR" = ( /obj/machinery/light{ dir = 8 }, @@ -87297,23 +92638,23 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/heads/cmo) -"dBU" = ( +"dHS" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/heads/cmo) -"dBV" = ( +"dHT" = ( /obj/effect/landmark/start/chief_medical_officer, /turf/open/floor/plasteel/blue, /area/crew_quarters/heads/cmo) -"dBW" = ( +"dHU" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/crew_quarters/heads/cmo) -"dBX" = ( +"dHV" = ( /obj/structure/bed, /obj/item/bedsheet/cmo, /obj/machinery/light{ @@ -87324,7 +92665,7 @@ }, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dBY" = ( +"dHW" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, /obj/effect/spawner/lootdrop/costume, @@ -87335,24 +92676,24 @@ dir = 8 }, /area/maintenance/starboard/aft) -"dBZ" = ( +"dHX" = ( /obj/machinery/light_switch{ pixel_x = -26 }, /turf/open/floor/wood, /area/crew_quarters/theatre/abandoned) -"dCa" = ( +"dHY" = ( /turf/open/floor/wood{ icon_state = "wood-broken" }, /area/crew_quarters/theatre/abandoned) -"dCb" = ( +"dHZ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/wood, /area/crew_quarters/theatre/abandoned) -"dCc" = ( +"dIa" = ( /obj/structure/chair/wood/normal{ dir = 4 }, @@ -87361,13 +92702,13 @@ dir = 5 }, /area/crew_quarters/theatre/abandoned) -"dCd" = ( +"dIb" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood{ icon_state = "wood-broken6" }, /area/crew_quarters/theatre/abandoned) -"dCe" = ( +"dIc" = ( /obj/structure/table/wood, /obj/item/storage/fancy/candle_box{ pixel_x = 3; @@ -87377,7 +92718,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/theatre/abandoned) -"dCf" = ( +"dId" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -87390,7 +92731,7 @@ }, /turf/open/floor/plating, /area/security/detectives_office/private_investigators_office) -"dCg" = ( +"dIe" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -87400,17 +92741,17 @@ }, /turf/open/floor/wood, /area/security/detectives_office/private_investigators_office) -"dCh" = ( +"dIf" = ( /turf/open/floor/wood{ icon_state = "wood-broken2" }, /area/security/detectives_office/private_investigators_office) -"dCi" = ( +"dIg" = ( /obj/structure/filingcabinet/security, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/security/detectives_office/private_investigators_office) -"dCj" = ( +"dIh" = ( /obj/structure/cable, /obj/machinery/power/solar{ id = "aftstarboard"; @@ -87418,7 +92759,7 @@ }, /turf/open/floor/plasteel/airless/solarpanel, /area/solar/starboard/aft) -"dCk" = ( +"dIi" = ( /obj/structure/window/reinforced, /obj/item/target, /obj/effect/decal/cleanable/dirt, @@ -87427,7 +92768,7 @@ }, /turf/open/floor/plating/airless, /area/science/test_area) -"dCl" = ( +"dIj" = ( /obj/machinery/button/massdriver{ dir = 2; id = "toxinsdriver"; @@ -87442,13 +92783,13 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dCm" = ( +"dIk" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/science/mixing) -"dCn" = ( +"dIl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, @@ -87457,7 +92798,7 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dCo" = ( +"dIm" = ( /obj/effect/landmark/start/scientist, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -87467,7 +92808,7 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dCp" = ( +"dIn" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -87476,7 +92817,7 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dCq" = ( +"dIo" = ( /obj/machinery/light_switch{ pixel_x = 26; pixel_y = 26 @@ -87489,7 +92830,7 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dCr" = ( +"dIp" = ( /obj/machinery/door/firedoor, /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/research{ @@ -87507,7 +92848,7 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dCs" = ( +"dIq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -87515,7 +92856,7 @@ dir = 4 }, /area/science/mixing) -"dCt" = ( +"dIr" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -87528,7 +92869,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/mixing) -"dCu" = ( +"dIs" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -87541,7 +92882,7 @@ heat_capacity = 1e+006 }, /area/science/mixing) -"dCv" = ( +"dIt" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -87566,7 +92907,7 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dCw" = ( +"dIu" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -87581,7 +92922,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/mixing) -"dCx" = ( +"dIv" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -87593,7 +92934,7 @@ dir = 8 }, /area/science/mixing) -"dCy" = ( +"dIw" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -87606,7 +92947,7 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/whitepurple/side, /area/science/mixing) -"dCz" = ( +"dIx" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -87615,7 +92956,7 @@ }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/mixing) -"dCA" = ( +"dIy" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -87626,7 +92967,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/mixing) -"dCB" = ( +"dIz" = ( /obj/machinery/door/firedoor/heavy, /obj/machinery/door/airlock/research{ name = "Toxins Secure Storage"; @@ -87650,7 +92991,7 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dCC" = ( +"dIA" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -87663,7 +93004,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/storage) -"dCD" = ( +"dIB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/white{ @@ -87672,7 +93013,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/storage) -"dCE" = ( +"dIC" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/white{ @@ -87683,7 +93024,7 @@ }, /turf/open/floor/plasteel, /area/science/storage) -"dCF" = ( +"dID" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -87691,14 +93032,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/storage) -"dCG" = ( +"dIE" = ( /obj/structure/cable/white{ icon_state = "2-8" }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/storage) -"dCH" = ( +"dIF" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 2; external_pressure_bound = 140; @@ -87707,13 +93048,13 @@ }, /turf/open/floor/circuit/green/telecomms/mainframe, /area/science/server) -"dCI" = ( +"dIG" = ( /obj/machinery/atmospherics/pipe/simple/general/hidden, /turf/open/floor/plasteel/vault/telecomms{ dir = 8 }, /area/science/server) -"dCJ" = ( +"dIH" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ dir = 2; external_pressure_bound = 120; @@ -87727,7 +93068,7 @@ }, /turf/open/floor/circuit/green/telecomms/mainframe, /area/science/server) -"dCK" = ( +"dII" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/extinguisher_cabinet{ pixel_x = -26 @@ -87742,7 +93083,7 @@ dir = 8 }, /area/science/research) -"dCL" = ( +"dIJ" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -87755,7 +93096,7 @@ }, /turf/open/floor/plasteel/neutral, /area/science/research) -"dCM" = ( +"dIK" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -87770,7 +93111,7 @@ }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/research) -"dCN" = ( +"dIL" = ( /obj/structure/table, /obj/item/stock_parts/cell/high, /obj/item/stock_parts/cell/high, @@ -87782,7 +93123,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dCO" = ( +"dIM" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -87791,7 +93132,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dCP" = ( +"dIN" = ( /obj/structure/closet/wardrobe/robotics_black, /obj/structure/window/reinforced{ dir = 4 @@ -87799,13 +93140,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dCQ" = ( +"dIO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dCR" = ( +"dIP" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced{ dir = 8 @@ -87819,8 +93160,10 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dCS" = ( -/obj/machinery/computer/operating, +"dIQ" = ( +/obj/machinery/computer/operating{ + dir = 1 + }, /obj/machinery/newscaster{ pixel_y = -32 }, @@ -87828,7 +93171,7 @@ dir = 8 }, /area/science/robotics/lab) -"dCT" = ( +"dIR" = ( /obj/structure/table/optable, /obj/effect/decal/cleanable/blood/old, /obj/machinery/status_display{ @@ -87836,7 +93179,7 @@ }, /turf/open/floor/plasteel/whitepurple/corner, /area/science/robotics/lab) -"dCU" = ( +"dIS" = ( /obj/structure/table/reinforced, /obj/item/scalpel{ pixel_y = 16 @@ -87851,11 +93194,18 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dCV" = ( +"dIT" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/neutral, +/area/hallway/primary/aft) +"dIU" = ( /obj/machinery/disposal/bin, /turf/open/floor/plating, /area/medical/morgue) -"dCW" = ( +"dIV" = ( /obj/structure/cable/white, /obj/machinery/power/apc{ dir = 2; @@ -87865,14 +93215,28 @@ }, /turf/open/floor/plating, /area/medical/morgue) -"dCX" = ( +"dIW" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/medical/morgue) -"dCZ" = ( +"dIX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera{ + c_tag = "Medbay - Morgue"; + dir = 1; + name = "medbay camera" + }, +/obj/structure/sign/poster/official/bless_this_spess{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/medical/morgue) +"dIY" = ( /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -87884,38 +93248,38 @@ icon_state = "platingdmg1" }, /area/medical/morgue) -"dDa" = ( +"dIZ" = ( /obj/structure/bodycontainer/morgue, /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/revenantspawn, /turf/open/floor/plating, /area/medical/morgue) -"dDb" = ( +"dJa" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/light_construct/small, /obj/effect/landmark/event_spawn, /turf/open/floor/plating, /area/medical/morgue) -"dDc" = ( +"dJb" = ( /obj/structure/table, /obj/item/stack/packageWrap, /obj/item/hand_labeler, /turf/open/floor/plating, /area/medical/morgue) -"dDd" = ( +"dJc" = ( /obj/structure/closet/secure_closet/medical3, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/department/medical/morgue) -"dDe" = ( +"dJd" = ( /obj/structure/closet/wardrobe/white/medical, /turf/open/floor/plating, /area/maintenance/department/medical/morgue) -"dDf" = ( +"dJe" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/department/medical/morgue) -"dDg" = ( +"dJf" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -87927,22 +93291,40 @@ dir = 5 }, /area/maintenance/department/medical/morgue) -"dDh" = ( +"dJg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc{ + dir = 2; + name = "Morgue Maintenance APC"; + areastring = "/area/maintenance/department/medical/morgue"; + pixel_y = -26 + }, +/obj/structure/cable/white{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/maintenance/department/medical/morgue) +"dJh" = ( /obj/machinery/suit_storage_unit/cmo, /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/plasteel, /area/crew_quarters/heads/cmo) -"dDi" = ( +"dJi" = ( /obj/structure/table/glass, -/obj/machinery/computer/med_data/laptop, +/obj/machinery/computer/med_data/laptop{ + dir = 1; + pixel_y = 4 + }, /obj/machinery/newscaster{ pixel_y = -32 }, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dDj" = ( +"dJj" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_y = -26 @@ -87954,13 +93336,13 @@ }, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dDk" = ( +"dJk" = ( /obj/machinery/computer/security/telescreen/entertainment{ pixel_y = -32 }, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dDl" = ( +"dJl" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /obj/structure/sign/nanotrasen{ @@ -87968,33 +93350,33 @@ }, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) -"dDm" = ( +"dJm" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/whitegreen/corner{ dir = 8 }, /area/medical/medbay/central) -"dDn" = ( +"dJn" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/whitegreen/side, /area/medical/medbay/central) -"dDo" = ( +"dJo" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/open/floor/plasteel/whitegreen/corner, /area/medical/medbay/central) -"dDp" = ( +"dJp" = ( /obj/structure/closet/crate, /obj/effect/spawner/lootdrop/costume, /obj/effect/spawner/lootdrop/maintenance, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dDq" = ( +"dJq" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -88010,7 +93392,7 @@ dir = 4 }, /area/maintenance/starboard/aft) -"dDr" = ( +"dJr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch/abandoned{ name = "Maintenance Hatch"; @@ -88031,7 +93413,7 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/theatre/abandoned) -"dDs" = ( +"dJs" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -88040,7 +93422,7 @@ }, /turf/open/floor/wood, /area/crew_quarters/theatre/abandoned) -"dDt" = ( +"dJt" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -88050,7 +93432,7 @@ /mob/living/simple_animal/cockroach, /turf/open/floor/wood, /area/crew_quarters/theatre/abandoned) -"dDu" = ( +"dJu" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-8" @@ -88060,13 +93442,13 @@ }, /turf/open/floor/wood, /area/crew_quarters/theatre/abandoned) -"dDv" = ( +"dJv" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/wood, /area/crew_quarters/theatre/abandoned) -"dDw" = ( +"dJw" = ( /obj/structure/chair/wood/normal{ dir = 4 }, @@ -88078,7 +93460,7 @@ dir = 5 }, /area/crew_quarters/theatre/abandoned) -"dDx" = ( +"dJx" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -88087,14 +93469,14 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/theatre/abandoned) -"dDy" = ( +"dJy" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/theatre/abandoned) -"dDz" = ( +"dJz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/xeno_spawn, /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -88102,32 +93484,45 @@ }, /turf/open/floor/plating, /area/crew_quarters/theatre/abandoned) -"dDA" = ( +"dJA" = ( /obj/structure/mirror{ pixel_x = 28 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/theatre/abandoned) -"dDB" = ( +"dJB" = ( /turf/open/floor/wood{ icon_state = "wood-broken7" }, /area/security/detectives_office/private_investigators_office) -"dDC" = ( +"dJC" = ( /obj/structure/chair/office/dark, /turf/open/floor/wood, /area/security/detectives_office/private_investigators_office) -"dDD" = ( +"dJD" = ( /obj/structure/chair/office/dark, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/security/detectives_office/private_investigators_office) -"dDE" = ( +"dJE" = ( /mob/living/simple_animal/cockroach, /turf/open/floor/wood, /area/security/detectives_office/private_investigators_office) -"dDG" = ( +"dJF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/item/twohanded/required/kirbyplants/random, +/obj/structure/sign/poster/official/do_not_question{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/security/detectives_office/private_investigators_office) +"dJG" = ( /obj/structure/chair, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -88135,17 +93530,17 @@ }, /turf/open/floor/plating/airless, /area/science/test_area) -"dDH" = ( +"dJH" = ( /turf/open/floor/plating/airless, /area/science/test_area) -"dDI" = ( +"dJI" = ( /obj/structure/chair, /obj/effect/turf_decal/stripes/line{ dir = 5 }, /turf/open/floor/plating/airless, /area/science/test_area) -"dDJ" = ( +"dJJ" = ( /obj/machinery/doppler_array{ dir = 8 }, @@ -88158,7 +93553,7 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dDK" = ( +"dJK" = ( /obj/machinery/light, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -88168,16 +93563,10 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dDL" = ( -/obj/item/stack/rods{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +"dJL" = ( +/obj/item/stack/rods/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/metal/fifty, /obj/item/target, /obj/item/target/syndicate, /obj/item/target/alien, @@ -88193,7 +93582,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/mixing) -"dDM" = ( +"dJM" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/item/clothing/gloves/color/latex, @@ -88205,14 +93594,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/mixing) -"dDN" = ( +"dJN" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/mixing) -"dDO" = ( +"dJO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/firealarm{ dir = 4; @@ -88224,13 +93613,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/mixing) -"dDP" = ( +"dJP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/science/mixing) -"dDQ" = ( +"dJQ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -88241,7 +93630,7 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dDR" = ( +"dJR" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -88253,7 +93642,7 @@ dir = 1 }, /area/science/mixing) -"dDS" = ( +"dJS" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -88262,12 +93651,12 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dDT" = ( +"dJT" = ( /obj/structure/tank_dispenser, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/mixing) -"dDU" = ( +"dJU" = ( /obj/structure/rack, /obj/structure/extinguisher_cabinet{ pixel_y = -32 @@ -88281,7 +93670,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/mixing) -"dDV" = ( +"dJV" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -88293,7 +93682,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/mixing) -"dDW" = ( +"dJW" = ( /obj/machinery/disposal/bin, /obj/effect/decal/cleanable/dirt, /obj/item/device/radio/intercom{ @@ -88306,14 +93695,30 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/mixing) -"dDY" = ( +"dJX" = ( +/obj/item/storage/toolbox/mechanical{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/storage/toolbox/electrical, +/obj/structure/table/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/structure/sign/poster/official/report_crimes{ + pixel_y = -32 + }, +/turf/open/floor/plasteel, +/area/science/mixing) +"dJY" = ( /obj/structure/sign/securearea, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/science/mixing) -"dDZ" = ( +"dJZ" = ( /obj/structure/table, /obj/item/paper_bin, /obj/item/pen, @@ -88329,26 +93734,26 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/storage) -"dEa" = ( +"dKa" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/storage) -"dEb" = ( +"dKb" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/science/storage) -"dEc" = ( +"dKc" = ( /obj/machinery/portable_atmospherics/scrubber/huge, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/storage) -"dEd" = ( +"dKd" = ( /obj/machinery/portable_atmospherics/scrubber/huge, /obj/effect/decal/cleanable/dirt, /obj/machinery/power/apc{ @@ -88361,41 +93766,41 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/storage) -"dEe" = ( +"dKe" = ( /obj/machinery/r_n_d/server/core, /obj/machinery/atmospherics/pipe/simple/general/hidden{ dir = 5 }, /turf/open/floor/circuit/green/telecomms/mainframe, /area/science/server) -"dEf" = ( +"dKf" = ( /obj/machinery/atmospherics/pipe/manifold/general/hidden, /turf/open/floor/plasteel/vault/telecomms{ dir = 8 }, /area/science/server) -"dEg" = ( +"dKg" = ( /obj/machinery/r_n_d/server/robotics, /obj/machinery/atmospherics/pipe/simple/general/hidden{ dir = 9 }, /turf/open/floor/circuit/green/telecomms/mainframe, /area/science/server) -"dEh" = ( +"dKh" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whitepurple/corner{ dir = 8 }, /area/science/research) -"dEi" = ( +"dKi" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/purple, /area/science/research) -"dEj" = ( +"dKj" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -88413,7 +93818,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dEk" = ( +"dKk" = ( /obj/structure/plasticflaps{ opacity = 1 }, @@ -88428,7 +93833,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/robotics/lab) -"dEl" = ( +"dKl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/machinery/firealarm{ @@ -88437,7 +93842,7 @@ }, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/aft) -"dEm" = ( +"dKm" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -88454,12 +93859,12 @@ dir = 1 }, /turf/open/floor/plasteel, -/area/maintenance/department/medical/morgue) -"dEn" = ( +/area/maintenance/aft) +"dKn" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall, /area/medical/medbay/central) -"dEo" = ( +"dKo" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -88476,7 +93881,7 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"dEp" = ( +"dKp" = ( /obj/effect/landmark/xeno_spawn, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 @@ -88485,7 +93890,7 @@ icon_state = "wood-broken6" }, /area/crew_quarters/theatre/abandoned) -"dEq" = ( +"dKq" = ( /obj/structure/chair/wood/normal{ dir = 4 }, @@ -88493,7 +93898,7 @@ dir = 5 }, /area/crew_quarters/theatre/abandoned) -"dEr" = ( +"dKr" = ( /obj/structure/table/wood, /obj/item/clothing/under/geisha, /obj/item/clothing/shoes/sandal, @@ -88501,7 +93906,7 @@ dir = 5 }, /area/crew_quarters/theatre/abandoned) -"dEs" = ( +"dKs" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /obj/machinery/airalarm{ @@ -88510,7 +93915,7 @@ }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office/private_investigators_office) -"dEt" = ( +"dKt" = ( /obj/structure/table/wood, /obj/item/folder/white{ pixel_x = 3; @@ -88521,14 +93926,14 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plasteel/grimy, /area/security/detectives_office/private_investigators_office) -"dEu" = ( +"dKu" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/grimy, /area/security/detectives_office/private_investigators_office) -"dEv" = ( +"dKv" = ( /obj/structure/table/wood, /obj/item/clothing/gloves/color/black, /obj/item/storage/box/evidence, @@ -88541,7 +93946,7 @@ dir = 5 }, /area/security/detectives_office/private_investigators_office) -"dEw" = ( +"dKw" = ( /obj/structure/chair{ dir = 4 }, @@ -88551,21 +93956,21 @@ }, /turf/open/floor/plating/airless, /area/science/test_area) -"dEx" = ( +"dKx" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ dir = 4 }, /turf/open/floor/plating/airless, /area/science/test_area) -"dEy" = ( +"dKy" = ( /obj/effect/decal/cleanable/oil, /obj/effect/turf_decal/stripes/corner{ dir = 8 }, /turf/open/floor/plating/airless, /area/science/test_area) -"dEz" = ( +"dKz" = ( /obj/structure/chair{ dir = 8 }, @@ -88574,15 +93979,15 @@ }, /turf/open/floor/plating/airless, /area/science/test_area) -"dEA" = ( +"dKA" = ( /obj/structure/sign/vacuum, /turf/closed/wall, /area/science/mixing) -"dEB" = ( +"dKB" = ( /obj/structure/sign/securearea, /turf/closed/wall, /area/science/mixing) -"dEC" = ( +"dKC" = ( /obj/machinery/door/window/southleft{ name = "Mass Driver Door"; req_access_txt = "7" @@ -88590,7 +93995,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/loadingarea, /area/science/mixing) -"dED" = ( +"dKD" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -88608,7 +94013,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dEE" = ( +"dKE" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -88627,23 +94032,23 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dEF" = ( +"dKF" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/storage) -"dEG" = ( +"dKG" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/storage) -"dEH" = ( +"dKH" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/storage) -"dEI" = ( +"dKI" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ name = "Break Room"; @@ -88661,7 +94066,7 @@ }, /turf/open/floor/plasteel, /area/science/research) -"dEJ" = ( +"dKJ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 @@ -88670,7 +94075,7 @@ dir = 9 }, /area/maintenance/port/aft) -"dEK" = ( +"dKK" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -88682,7 +94087,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dEL" = ( +"dKL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -88691,13 +94096,13 @@ heat_capacity = 1e+006 }, /area/maintenance/port/aft) -"dEM" = ( +"dKM" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dEN" = ( +"dKN" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -88705,7 +94110,7 @@ dir = 1 }, /area/maintenance/port/aft) -"dEO" = ( +"dKO" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, @@ -88714,7 +94119,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port/aft) -"dEP" = ( +"dKP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -88723,13 +94128,13 @@ dir = 5 }, /area/maintenance/port/aft) -"dEQ" = ( +"dKQ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, /area/hallway/primary/aft) -"dER" = ( +"dKR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -88739,7 +94144,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dES" = ( +"dKS" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -88751,7 +94156,7 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/aft) -"dET" = ( +"dKT" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -88762,7 +94167,7 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/aft) -"dEU" = ( +"dKU" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -88772,7 +94177,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dEV" = ( +"dKV" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -88791,7 +94196,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/aft) -"dEW" = ( +"dKW" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -88802,7 +94207,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/aft) -"dEX" = ( +"dKX" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -88811,7 +94216,7 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"dEY" = ( +"dKY" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -88821,7 +94226,7 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"dEZ" = ( +"dKZ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -88834,7 +94239,7 @@ heat_capacity = 1e+006 }, /area/maintenance/aft) -"dFa" = ( +"dLa" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -88846,7 +94251,7 @@ heat_capacity = 1e+006 }, /area/maintenance/aft) -"dFb" = ( +"dLb" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -88861,7 +94266,7 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"dFc" = ( +"dLc" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -88879,7 +94284,7 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"dFd" = ( +"dLd" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -88888,7 +94293,7 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"dFe" = ( +"dLe" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -88902,7 +94307,7 @@ heat_capacity = 1e+006 }, /area/maintenance/aft) -"dFf" = ( +"dLf" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -88913,7 +94318,7 @@ heat_capacity = 1e+006 }, /area/maintenance/aft) -"dFg" = ( +"dLg" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -88927,7 +94332,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/aft) -"dFh" = ( +"dLh" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -88936,7 +94341,7 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"dFi" = ( +"dLi" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -88946,7 +94351,7 @@ dir = 5 }, /area/maintenance/aft) -"dFj" = ( +"dLj" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -88956,7 +94361,7 @@ dir = 1 }, /area/medical/medbay/central) -"dFk" = ( +"dLk" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -88967,14 +94372,14 @@ dir = 1 }, /area/medical/medbay/central) -"dFl" = ( +"dLl" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, /turf/open/floor/plasteel/whitegreen/corner{ dir = 4 }, /area/medical/medbay/central) -"dFm" = ( +"dLm" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -88983,7 +94388,7 @@ dir = 9 }, /area/maintenance/starboard/aft) -"dFn" = ( +"dLn" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -88994,7 +94399,7 @@ heat_capacity = 1e+006 }, /area/maintenance/starboard/aft) -"dFo" = ( +"dLo" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -89004,7 +94409,7 @@ heat_capacity = 1e+006 }, /area/maintenance/starboard/aft) -"dFp" = ( +"dLp" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -89014,14 +94419,14 @@ heat_capacity = 1e+006 }, /area/maintenance/starboard/aft) -"dFq" = ( +"dLq" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dFr" = ( +"dLr" = ( /obj/machinery/light/small{ dir = 8 }, @@ -89032,11 +94437,11 @@ icon_state = "wood-broken" }, /area/crew_quarters/theatre/abandoned) -"dFs" = ( +"dLs" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/crew_quarters/theatre/abandoned) -"dFt" = ( +"dLt" = ( /obj/structure/table/wood, /obj/item/clothing/head/papersack/smiley, /obj/item/pen, @@ -89045,14 +94450,14 @@ dir = 5 }, /area/crew_quarters/theatre/abandoned) -"dFu" = ( +"dLu" = ( /obj/structure/window/reinforced{ dir = 8 }, /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/grimy, /area/crew_quarters/theatre/abandoned) -"dFw" = ( +"dLv" = ( /obj/structure/table/wood, /obj/item/clothing/suit/cardborg, /obj/item/clothing/head/cardborg, @@ -89062,7 +94467,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/theatre/abandoned) -"dFx" = ( +"dLw" = ( /obj/structure/frame/computer, /obj/item/circuitboard/computer/secure_data, /obj/machinery/light/small{ @@ -89073,13 +94478,13 @@ }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office/private_investigators_office) -"dFy" = ( +"dLx" = ( /obj/structure/chair/office/dark{ dir = 1 }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office/private_investigators_office) -"dFz" = ( +"dLy" = ( /obj/structure/table/wood, /obj/item/storage/fancy/cigarettes/cigpack_uplift{ pixel_x = 6 @@ -89090,12 +94495,12 @@ /obj/item/lighter, /turf/open/floor/plasteel/grimy, /area/security/detectives_office/private_investigators_office) -"dFA" = ( +"dLz" = ( /turf/open/floor/wood{ icon_state = "wood-broken3" }, /area/security/detectives_office/private_investigators_office) -"dFB" = ( +"dLA" = ( /obj/structure/rack, /obj/item/storage/briefcase{ pixel_x = -3; @@ -89105,15 +94510,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/security/detectives_office/private_investigators_office) -"dFC" = ( +"dLB" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, /turf/open/space, /area/solar/starboard/aft) -"dFD" = ( +"dLC" = ( /turf/closed/indestructible/opshuttle, /area/science/test_area) -"dFE" = ( +"dLD" = ( /obj/item/target, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -89131,42 +94536,42 @@ }, /turf/open/floor/plating/airless, /area/science/test_area) -"dFF" = ( +"dLE" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, /area/science/test_area) -"dFG" = ( +"dLF" = ( /obj/item/device/radio/beacon, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, /area/science/test_area) -"dFH" = ( +"dLG" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 2 }, /turf/open/floor/plating/airless, /area/science/test_area) -"dFI" = ( +"dLH" = ( /obj/effect/turf_decal/stripes/end{ dir = 4 }, /turf/open/floor/plating/airless, /area/science/test_area) -"dFJ" = ( +"dLI" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plating/airless, /area/science/mixing) -"dFK" = ( +"dLJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plating/airless, /area/science/mixing) -"dFL" = ( +"dLK" = ( /obj/machinery/door/poddoor{ id = "toxinsdriver"; name = "Toxins Launcher Bay Door" @@ -89174,7 +94579,14 @@ /obj/structure/fans/tiny, /turf/open/floor/plating, /area/science/mixing) -"dFM" = ( +"dLL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/end{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/science/mixing) +"dLM" = ( /obj/effect/turf_decal/stripes/line{ dir = 2 }, @@ -89183,14 +94595,14 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dFN" = ( +"dLN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/end{ dir = 4 }, /turf/open/floor/plasteel, /area/science/mixing) -"dFO" = ( +"dLO" = ( /obj/machinery/mass_driver{ dir = 8; id = "toxinsdriver" @@ -89201,12 +94613,12 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dFP" = ( +"dLP" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/maintenance/port/aft) -"dFQ" = ( +"dLQ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -89214,7 +94626,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dFR" = ( +"dLR" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side{ @@ -89222,14 +94634,14 @@ heat_capacity = 1e+006 }, /area/maintenance/port/aft) -"dFS" = ( +"dLS" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side{ dir = 1; heat_capacity = 1e+006 }, /area/maintenance/port/aft) -"dFT" = ( +"dLT" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate{ icon_state = "crateopen"; @@ -89242,14 +94654,14 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"dFU" = ( +"dLU" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port/aft) -"dFV" = ( +"dLV" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -89257,29 +94669,29 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/port/aft) -"dFW" = ( +"dLW" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port/aft) -"dFX" = ( +"dLX" = ( /turf/open/floor/plasteel/neutral/side{ dir = 5 }, /area/maintenance/port/aft) -"dFY" = ( +"dLY" = ( /turf/closed/wall/r_wall, /area/maintenance/port/aft) -"dFZ" = ( +"dLZ" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/storage) -"dGa" = ( +"dMa" = ( /obj/machinery/portable_atmospherics/canister/toxins, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/storage) -"dGb" = ( +"dMb" = ( /obj/structure/urinal{ pixel_y = 28 }, @@ -89291,7 +94703,7 @@ /obj/effect/landmark/xeno_spawn, /turf/open/floor/plasteel/neutral, /area/science/research) -"dGc" = ( +"dMc" = ( /obj/structure/table/wood, /obj/machinery/microwave{ desc = "Cooks and boils stuff, somehow."; @@ -89305,7 +94717,17 @@ dir = 9 }, /area/science/research) -"dGe" = ( +"dMd" = ( +/obj/structure/table/wood, +/obj/item/storage/box/donkpockets, +/obj/structure/sign/poster/official/report_crimes{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 1 + }, +/area/science/research) +"dMe" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -89315,7 +94737,7 @@ dir = 1 }, /area/science/research) -"dGf" = ( +"dMf" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -89324,14 +94746,14 @@ dir = 1 }, /area/science/research) -"dGg" = ( +"dMg" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 5 }, /area/science/research) -"dGh" = ( +"dMh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/landmark/event_spawn, @@ -89340,7 +94762,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port/aft) -"dGi" = ( +"dMi" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -89352,7 +94774,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"dGj" = ( +"dMj" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -89362,7 +94784,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"dGk" = ( +"dMk" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -89371,7 +94793,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/aft) -"dGl" = ( +"dMl" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -89388,7 +94810,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dGm" = ( +"dMm" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -89398,7 +94820,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/aft) -"dGn" = ( +"dMn" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -89409,7 +94831,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dGo" = ( +"dMo" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -89428,7 +94850,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dGp" = ( +"dMp" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -89439,7 +94861,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dGq" = ( +"dMq" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -89452,7 +94874,7 @@ dir = 8 }, /area/hallway/primary/aft) -"dGr" = ( +"dMr" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -89461,12 +94883,12 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/primary/aft) -"dGs" = ( +"dMs" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral/corner, /area/hallway/primary/aft) -"dGt" = ( +"dMt" = ( /obj/structure/closet/firecloset, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -89475,13 +94897,13 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dGu" = ( +"dMu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/closed/wall, /area/hallway/primary/aft) -"dGv" = ( +"dMv" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -89491,7 +94913,7 @@ dir = 10 }, /area/maintenance/aft) -"dGw" = ( +"dMw" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet, /obj/item/storage/box/bodybags, @@ -89501,7 +94923,7 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"dGx" = ( +"dMx" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -89510,7 +94932,7 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"dGy" = ( +"dMy" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate, /obj/effect/spawner/lootdrop/maintenance{ @@ -89522,20 +94944,21 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"dGz" = ( +"dMz" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral/side, /area/maintenance/aft) -"dGA" = ( +"dMA" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/aft) -"dGB" = ( +"dMB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -89550,14 +94973,20 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"dGC" = ( +"dMC" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/aft) -"dGD" = ( +"dMD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral/side, +/area/maintenance/aft) +"dME" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -89567,7 +94996,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/aft) -"dGE" = ( +"dMF" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -89576,7 +95005,7 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"dGF" = ( +"dMG" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -89585,7 +95014,7 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"dGG" = ( +"dMH" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -89593,19 +95022,19 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/aft) -"dGH" = ( +"dMI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/neutral/side, /area/maintenance/aft) -"dGI" = ( +"dMJ" = ( /obj/structure/reagent_dispensers/watertank, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/aft) -"dGJ" = ( +"dMK" = ( /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance{ lootcount = 3; @@ -89616,7 +95045,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/aft) -"dGK" = ( +"dML" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -89624,7 +95053,7 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plating, /area/maintenance/aft) -"dGL" = ( +"dMM" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -89634,7 +95063,7 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"dGM" = ( +"dMN" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -89645,7 +95074,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/aft) -"dGN" = ( +"dMO" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -89664,7 +95093,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/aft) -"dGO" = ( +"dMP" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -89673,7 +95102,7 @@ dir = 8 }, /area/medical/medbay/central) -"dGP" = ( +"dMQ" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -89702,7 +95131,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/medbay/central) -"dGQ" = ( +"dMR" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -89714,7 +95143,7 @@ dir = 4 }, /area/medical/medbay/central) -"dGR" = ( +"dMS" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -89734,7 +95163,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"dGS" = ( +"dMT" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -89744,7 +95173,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/starboard/aft) -"dGT" = ( +"dMU" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -89753,7 +95182,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dGU" = ( +"dMV" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -89763,7 +95192,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard/aft) -"dGV" = ( +"dMW" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -89773,7 +95202,7 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"dGW" = ( +"dMX" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -89782,7 +95211,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/starboard/aft) -"dGX" = ( +"dMY" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -89794,12 +95223,12 @@ dir = 6 }, /area/maintenance/starboard/aft) -"dGY" = ( +"dMZ" = ( /obj/structure/dresser, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/theatre/abandoned) -"dGZ" = ( +"dNa" = ( /obj/structure/table/wood, /obj/item/wrench, /obj/item/storage/secure/briefcase{ @@ -89810,12 +95239,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/theatre/abandoned) -"dHa" = ( +"dNb" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/vending/kink, /turf/open/floor/wood, /area/crew_quarters/theatre/abandoned) -"dHb" = ( +"dNc" = ( /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -89825,12 +95254,12 @@ icon_state = "wood-broken3" }, /area/crew_quarters/theatre/abandoned) -"dHc" = ( +"dNd" = ( /obj/machinery/vending/cigarette, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/theatre/abandoned) -"dHd" = ( +"dNe" = ( /obj/structure/window/reinforced{ dir = 8 }, @@ -89838,12 +95267,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/theatre/abandoned) -"dHe" = ( +"dNf" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/stool/bar, /turf/open/floor/plating, /area/crew_quarters/theatre/abandoned) -"dHf" = ( +"dNg" = ( /obj/structure/table/wood, /obj/item/lipstick/random{ pixel_x = 3; @@ -89856,39 +95285,39 @@ /obj/item/lipstick/random, /turf/open/floor/plating, /area/crew_quarters/theatre/abandoned) -"dHg" = ( +"dNh" = ( /obj/item/device/instrument/violin, /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/crew_quarters/theatre/abandoned) -"dHh" = ( +"dNi" = ( /obj/structure/frame/computer, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/grimy, /area/security/detectives_office/private_investigators_office) -"dHi" = ( +"dNj" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/grimy, /area/security/detectives_office/private_investigators_office) -"dHj" = ( +"dNk" = ( /turf/open/floor/plasteel/grimy, /area/security/detectives_office/private_investigators_office) -"dHk" = ( +"dNl" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/security/detectives_office/private_investigators_office) -"dHl" = ( +"dNm" = ( /obj/structure/dresser, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/security/detectives_office/private_investigators_office) -"dHm" = ( +"dNn" = ( /obj/structure/lattice/catwalk, /obj/effect/landmark/xeno_spawn, /turf/open/space, /area/solar/starboard/aft) -"dHn" = ( +"dNo" = ( /obj/structure/chair{ dir = 4 }, @@ -89897,24 +95326,24 @@ }, /turf/open/floor/plating/airless, /area/science/test_area) -"dHo" = ( +"dNp" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ dir = 1 }, /turf/open/floor/plating/airless, /area/science/test_area) -"dHp" = ( +"dNq" = ( /obj/effect/decal/cleanable/blood/old, /obj/effect/decal/remains/human, /turf/open/floor/plating/airless, /area/science/test_area) -"dHq" = ( +"dNr" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plating/airless, /area/science/test_area) -"dHr" = ( +"dNs" = ( /obj/structure/chair{ dir = 8 }, @@ -89924,7 +95353,7 @@ }, /turf/open/floor/plating/airless, /area/science/test_area) -"dHs" = ( +"dNt" = ( /obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance{ lootcount = 2; @@ -89932,7 +95361,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"dHt" = ( +"dNu" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-4" @@ -89943,7 +95372,7 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/port/aft) -"dHu" = ( +"dNv" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -89953,7 +95382,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"dHv" = ( +"dNw" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -89962,7 +95391,7 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/port/aft) -"dHw" = ( +"dNx" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -89972,7 +95401,7 @@ }, /turf/open/floor/plasteel/neutral, /area/maintenance/port/aft) -"dHx" = ( +"dNy" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-4" @@ -89983,7 +95412,7 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/port/aft) -"dHy" = ( +"dNz" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -89996,7 +95425,7 @@ dir = 4 }, /area/maintenance/port/aft) -"dHz" = ( +"dNA" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -90007,7 +95436,7 @@ dir = 4 }, /area/maintenance/port/aft) -"dHA" = ( +"dNB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 @@ -90017,13 +95446,13 @@ }, /turf/open/floor/plasteel, /area/science/storage) -"dHB" = ( +"dNC" = ( /obj/machinery/portable_atmospherics/canister/toxins, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/storage) -"dHC" = ( +"dND" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ name = "Bathroom" @@ -90036,27 +95465,26 @@ }, /turf/open/floor/plasteel, /area/science/research) -"dHD" = ( +"dNE" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral/side{ dir = 8; heat_capacity = 1e+006 }, /area/science/research) -"dHE" = ( +"dNF" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable/white{ icon_state = "2-4" }, /turf/open/floor/plasteel/redyellow, /area/science/research) -"dHF" = ( +"dNG" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -90068,17 +95496,16 @@ }, /turf/open/floor/plasteel/redyellow, /area/science/research) -"dHG" = ( +"dNH" = ( /obj/structure/cable/white{ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/redyellow, /area/science/research) -"dHH" = ( +"dNI" = ( /obj/structure/chair/stool, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/airalarm{ @@ -90089,14 +95516,14 @@ dir = 4 }, /area/science/research) -"dHI" = ( +"dNJ" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/port/aft) -"dHJ" = ( +"dNK" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -90104,7 +95531,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port/aft) -"dHK" = ( +"dNL" = ( +/turf/closed/wall, +/area/security/checkpoint/customs/auxiliary) +"dNM" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -90122,12 +95552,15 @@ dir = 1 }, /turf/open/floor/plasteel, -/area/security/checkpoint/customs) -"dHL" = ( +/area/security/checkpoint/customs/auxiliary) +"dNN" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, -/area/security/checkpoint/customs) -"dHM" = ( +/area/security/checkpoint/customs/auxiliary) +"dNO" = ( +/turf/closed/wall, +/area/hallway/primary/aft) +"dNP" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Departures Lounge" @@ -90142,7 +95575,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dHN" = ( +"dNQ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Departures Lounge" @@ -90155,7 +95588,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dHO" = ( +"dNR" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Departures Lounge" @@ -90170,14 +95603,14 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dHP" = ( +"dNS" = ( /turf/closed/wall, /area/maintenance/aft) -"dHQ" = ( +"dNT" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/aft) -"dHR" = ( +"dNU" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, @@ -90185,7 +95618,7 @@ dir = 8 }, /area/medical/medbay/central) -"dHS" = ( +"dNV" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -90195,17 +95628,17 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/medbay/central) -"dHT" = ( +"dNW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whitegreen/side{ dir = 4 }, /area/medical/medbay/central) -"dHU" = ( +"dNX" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/crew_quarters/theatre/abandoned) -"dHV" = ( +"dNY" = ( /obj/structure/chair{ dir = 1 }, @@ -90214,7 +95647,7 @@ }, /turf/open/floor/plating/airless, /area/science/test_area) -"dHW" = ( +"dNZ" = ( /obj/structure/chair{ dir = 1 }, @@ -90224,7 +95657,7 @@ }, /turf/open/floor/plating/airless, /area/science/test_area) -"dHX" = ( +"dOa" = ( /obj/machinery/door/airlock/external{ cyclelinkeddir = 4; name = "External Airlock"; @@ -90238,12 +95671,12 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dHY" = ( +"dOb" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dHZ" = ( +"dOc" = ( /obj/machinery/door/airlock/external{ cyclelinkeddir = 8; name = "External Airlock"; @@ -90258,19 +95691,19 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dIa" = ( +"dOd" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dIb" = ( +"dOe" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side{ dir = 8; heat_capacity = 1e+006 }, /area/maintenance/port/aft) -"dIc" = ( +"dOf" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, @@ -90280,7 +95713,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dId" = ( +"dOg" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -90292,7 +95725,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dIe" = ( +"dOh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -90304,34 +95737,34 @@ dir = 10 }, /area/maintenance/port/aft) -"dIf" = ( +"dOi" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/structure/cable/white{ icon_state = "1-8" }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/aft) -"dIg" = ( +"dOj" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/aft) -"dIh" = ( +"dOk" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/port/aft) -"dIi" = ( +"dOl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/port/aft) -"dIj" = ( +"dOm" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, @@ -90339,7 +95772,7 @@ dir = 4 }, /area/maintenance/port/aft) -"dIk" = ( +"dOn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -90349,20 +95782,20 @@ dir = 4 }, /area/maintenance/port/aft) -"dIl" = ( +"dOo" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/storage) -"dIm" = ( +"dOp" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/science/storage) -"dIn" = ( +"dOq" = ( /obj/structure/sink{ dir = 8; pixel_x = -12 @@ -90379,13 +95812,13 @@ icon_state = "panelscorched" }, /area/science/research) -"dIo" = ( +"dOr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/closed/wall, /area/science/research) -"dIp" = ( +"dOs" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, @@ -90394,7 +95827,7 @@ heat_capacity = 1e+006 }, /area/science/research) -"dIq" = ( +"dOt" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -90405,7 +95838,7 @@ }, /turf/open/floor/plasteel/redyellow, /area/science/research) -"dIr" = ( +"dOu" = ( /obj/effect/landmark/start/scientist, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -90413,14 +95846,14 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/redyellow, /area/science/research) -"dIs" = ( +"dOv" = ( /obj/structure/chair/stool, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, /turf/open/floor/plasteel/redyellow, /area/science/research) -"dIt" = ( +"dOw" = ( /obj/structure/table/wood, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -90436,7 +95869,7 @@ dir = 4 }, /area/science/research) -"dIu" = ( +"dOx" = ( /obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance{ lootcount = 2; @@ -90445,7 +95878,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/port/aft) -"dIv" = ( +"dOy" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -90455,7 +95888,7 @@ dir = 5 }, /area/maintenance/port/aft) -"dIw" = ( +"dOz" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/airalarm{ dir = 4; @@ -90471,8 +95904,8 @@ /turf/open/floor/plasteel/blue/side{ dir = 9 }, -/area/security/checkpoint/customs) -"dIx" = ( +/area/security/checkpoint/customs/auxiliary) +"dOA" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -90484,8 +95917,8 @@ /turf/open/floor/plasteel/blue/side{ dir = 1 }, -/area/security/checkpoint/customs) -"dIy" = ( +/area/security/checkpoint/customs/auxiliary) +"dOB" = ( /obj/machinery/photocopier, /obj/machinery/computer/security/telescreen/entertainment{ pixel_x = 32; @@ -90495,8 +95928,8 @@ /turf/open/floor/plasteel/blue/side{ dir = 1 }, -/area/security/checkpoint/customs) -"dIz" = ( +/area/security/checkpoint/customs/auxiliary) +"dOC" = ( /obj/structure/filingcabinet/medical, /obj/machinery/firealarm{ dir = 4; @@ -90505,8 +95938,8 @@ /turf/open/floor/plasteel/blue/side{ dir = 5 }, -/area/security/checkpoint/customs) -"dIA" = ( +/area/security/checkpoint/customs/auxiliary) +"dOD" = ( /obj/machinery/computer/security/telescreen/entertainment{ pixel_y = 32 }, @@ -90521,26 +95954,26 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dIB" = ( +"dOE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/escape{ dir = 1 }, /area/hallway/primary/aft) -"dIC" = ( +"dOF" = ( /turf/open/floor/plasteel/escape{ dir = 1 }, /area/hallway/primary/aft) -"dID" = ( +"dOG" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/escape{ dir = 1 }, /area/hallway/primary/aft) -"dIE" = ( +"dOH" = ( /obj/structure/table, /obj/machinery/airalarm{ pixel_y = 22 @@ -90556,7 +95989,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dIF" = ( +"dOI" = ( /obj/machinery/light/small, /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -90564,18 +95997,18 @@ dir = 8 }, /area/medical/medbay/central) -"dIG" = ( +"dOJ" = ( /obj/machinery/light/small, /obj/machinery/iv_drip, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whitegreen/corner, /area/medical/medbay/central) -"dIH" = ( +"dOK" = ( /obj/item/stack/cable_coil, /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/starboard/aft) -"dII" = ( +"dOL" = ( /obj/structure/window/reinforced{ dir = 1; pixel_y = 1 @@ -90585,18 +96018,18 @@ /obj/effect/turf_decal/stripes/end, /turf/open/floor/plating/airless, /area/science/test_area) -"dIJ" = ( +"dOM" = ( /turf/closed/wall, /area/maintenance/port/aft) -"dIK" = ( +"dON" = ( /turf/closed/wall, /area/library/abandoned) -"dIL" = ( +"dOO" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/barricade/wooden, /turf/open/floor/plating, /area/library/abandoned) -"dIM" = ( +"dOP" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -90612,7 +96045,7 @@ }, /turf/open/floor/plasteel, /area/library/abandoned) -"dIN" = ( +"dOQ" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -90631,21 +96064,21 @@ }, /turf/open/floor/plasteel, /area/library/abandoned) -"dIO" = ( +"dOR" = ( /turf/open/floor/plasteel/neutral/side{ dir = 8; heat_capacity = 1e+006 }, /area/maintenance/port/aft) -"dIP" = ( +"dOS" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port/aft) -"dIQ" = ( +"dOT" = ( /turf/closed/wall/r_wall, /area/science/storage) -"dIR" = ( +"dOU" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock{ name = "Bathroom" @@ -90658,7 +96091,7 @@ }, /turf/open/floor/plasteel, /area/science/research) -"dIS" = ( +"dOV" = ( /obj/machinery/vending/coffee, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/side{ @@ -90666,7 +96099,7 @@ heat_capacity = 1e+006 }, /area/science/research) -"dIT" = ( +"dOW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, @@ -90676,19 +96109,19 @@ }, /turf/open/floor/plasteel/redyellow, /area/science/research) -"dIU" = ( +"dOX" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/redyellow, /area/science/research) -"dIV" = ( +"dOY" = ( /obj/structure/chair/stool, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plasteel/redyellow, /area/science/research) -"dIW" = ( +"dOZ" = ( /obj/structure/table/wood, /obj/machinery/newscaster{ pixel_x = 32 @@ -90699,14 +96132,14 @@ dir = 4 }, /area/science/research) -"dIX" = ( +"dPa" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/port/aft) -"dIY" = ( +"dPb" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -90716,16 +96149,18 @@ dir = 4 }, /area/maintenance/port/aft) -"dIZ" = ( -/obj/machinery/computer/med_data, +"dPc" = ( +/obj/machinery/computer/med_data{ + dir = 4 + }, /obj/machinery/status_display{ pixel_x = -32 }, /turf/open/floor/plasteel/blue/side{ dir = 10 }, -/area/security/checkpoint/customs) -"dJa" = ( +/area/security/checkpoint/customs/auxiliary) +"dPd" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -90733,68 +96168,63 @@ dir = 1 }, /turf/open/floor/plasteel/neutral, -/area/security/checkpoint/customs) -"dJb" = ( +/area/security/checkpoint/customs/auxiliary) +"dPe" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, -/area/security/checkpoint/customs) -"dJc" = ( +/area/security/checkpoint/customs/auxiliary) +"dPf" = ( /obj/structure/table/reinforced, /obj/item/stack/packageWrap, /obj/item/hand_labeler, /turf/open/floor/plasteel/blue/side{ dir = 6 }, -/area/security/checkpoint/customs) -"dJe" = ( +/area/security/checkpoint/customs/auxiliary) +"dPg" = ( +/obj/structure/cable/white{ + icon_state = "0-2" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/checkpoint/customs/auxiliary) +"dPh" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dJf" = ( +"dPi" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/primary/aft) -"dJg" = ( +"dPj" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/primary/aft) -"dJh" = ( +"dPk" = ( /obj/structure/chair{ dir = 8 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dJi" = ( +"dPl" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/hallway/primary/aft) -"dJj" = ( -/obj/structure/shuttle/engine/propulsion{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"dJk" = ( -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/escape) -"dJl" = ( +"dPm" = ( /turf/closed/wall/r_wall, /area/medical/medbay/central) -"dJm" = ( +"dPn" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, /area/medical/medbay/central) -"dJn" = ( +"dPo" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -90825,29 +96255,29 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"dJo" = ( +"dPp" = ( /obj/structure/sign/biohazard, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/medical/medbay/central) -"dJp" = ( +"dPq" = ( /turf/closed/wall/r_wall, /area/medical/virology) -"dJq" = ( +"dPr" = ( /obj/structure/cable/white{ icon_state = "0-2" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/medical/virology) -"dJr" = ( +"dPs" = ( /obj/structure/cable/white{ icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/medical/virology) -"dJs" = ( +"dPt" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -90857,7 +96287,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/medical/virology) -"dJt" = ( +"dPu" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/cobweb, /obj/effect/decal/cleanable/dirt, @@ -90865,64 +96295,64 @@ /obj/item/pen, /turf/open/floor/plating, /area/library/abandoned) -"dJu" = ( +"dPv" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, /obj/item/folder, /obj/item/pen, /turf/open/floor/plating, /area/library/abandoned) -"dJv" = ( +"dPw" = ( /obj/effect/decal/cleanable/dirt, /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/library/abandoned) -"dJw" = ( +"dPx" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/grimy, /area/library/abandoned) -"dJx" = ( +"dPy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/grimy, /area/library/abandoned) -"dJy" = ( +"dPz" = ( /obj/effect/decal/cleanable/dirt, /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/black, /area/library/abandoned) -"dJz" = ( +"dPA" = ( /obj/structure/table/wood, /obj/item/dice/d20, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/library/abandoned) -"dJA" = ( +"dPB" = ( /turf/open/floor/plasteel/grimy, /area/library/abandoned) -"dJB" = ( +"dPC" = ( /obj/structure/chair/office/dark, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/grimy, /area/library/abandoned) -"dJC" = ( +"dPD" = ( /obj/structure/chair/office/dark, /obj/machinery/light/small{ dir = 1 }, /turf/open/floor/plating, /area/library/abandoned) -"dJD" = ( +"dPE" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/grimy, /area/library/abandoned) -"dJE" = ( +"dPF" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "0-4" @@ -90932,7 +96362,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port/aft) -"dJF" = ( +"dPG" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -90940,7 +96370,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port/aft) -"dJG" = ( +"dPH" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -90950,14 +96380,14 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/port/aft) -"dJH" = ( +"dPI" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dJI" = ( +"dPJ" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/machinery/light/small{ dir = 1 @@ -90965,7 +96395,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dJJ" = ( +"dPK" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -90973,7 +96403,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dJK" = ( +"dPL" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/power/apc{ @@ -90989,7 +96419,7 @@ dir = 1 }, /area/maintenance/port/aft) -"dJL" = ( +"dPM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/oil, /obj/effect/landmark/blobstart, @@ -90997,7 +96427,7 @@ dir = 1 }, /area/maintenance/port/aft) -"dJM" = ( +"dPN" = ( /obj/structure/toilet{ dir = 8 }, @@ -91008,7 +96438,7 @@ }, /turf/open/floor/plasteel/neutral, /area/science/research) -"dJN" = ( +"dPO" = ( /obj/machinery/disposal/bin, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/trunk{ @@ -91017,17 +96447,16 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/research) -"dJO" = ( +"dPP" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plasteel/neutral/side, /area/science/research) -"dJP" = ( +"dPQ" = ( /obj/machinery/vending/cola/random, /obj/machinery/light, /obj/machinery/status_display{ @@ -91036,11 +96465,11 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side, /area/science/research) -"dJQ" = ( +"dPR" = ( /obj/machinery/vending/cigarette, /turf/open/floor/plasteel/neutral/side, /area/science/research) -"dJR" = ( +"dPS" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, @@ -91048,13 +96477,13 @@ dir = 6 }, /area/science/research) -"dJS" = ( +"dPT" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/port/aft) -"dJT" = ( +"dPU" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -91064,15 +96493,17 @@ dir = 4 }, /area/maintenance/port/aft) -"dJU" = ( -/obj/machinery/computer/card, +"dPV" = ( +/obj/machinery/computer/card{ + dir = 4 + }, /obj/structure/cable/white{ icon_state = "0-4" }, /obj/machinery/power/apc{ + areastring = "/area/security/checkpoint/customs/auxiliary"; dir = 8; name = "Departures Customs APC"; - areastring = "/area/security/checkpoint/customs"; pixel_x = -26; pixel_y = 3 }, @@ -91082,8 +96513,8 @@ name = "customs camera" }, /turf/open/floor/plasteel/blue, -/area/security/checkpoint/customs) -"dJV" = ( +/area/security/checkpoint/customs/auxiliary) +"dPW" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -91094,8 +96525,8 @@ icon_state = "1-8" }, /turf/open/floor/plasteel/neutral, -/area/security/checkpoint/customs) -"dJW" = ( +/area/security/checkpoint/customs/auxiliary) +"dPX" = ( /obj/structure/chair/office/light{ dir = 4 }, @@ -91104,8 +96535,8 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, -/area/security/checkpoint/customs) -"dJX" = ( +/area/security/checkpoint/customs/auxiliary) +"dPY" = ( /obj/structure/table/reinforced, /obj/structure/cable/white{ icon_state = "4-8" @@ -91113,8 +96544,8 @@ /obj/item/folder/blue, /obj/item/pen, /turf/open/floor/plasteel/blue, -/area/security/checkpoint/customs) -"dJY" = ( +/area/security/checkpoint/customs/auxiliary) +"dPZ" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "2-8" @@ -91131,21 +96562,21 @@ dir = 8 }, /turf/open/floor/plasteel, -/area/security/checkpoint/customs) -"dJZ" = ( +/area/security/checkpoint/customs/auxiliary) +"dQa" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dKa" = ( +"dQb" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dKb" = ( +"dQc" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/primary/aft) -"dKc" = ( +"dQd" = ( /obj/structure/chair{ dir = 8 }, @@ -91153,17 +96584,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dKd" = ( -/obj/structure/window/reinforced, -/obj/structure/shuttle/engine/heater{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"dKe" = ( +"dQe" = ( /obj/structure/sink{ dir = 8; pixel_x = -12 @@ -91182,7 +96603,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/virology) -"dKf" = ( +"dQf" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -91191,7 +96612,7 @@ }, /turf/open/floor/plasteel/white, /area/medical/virology) -"dKg" = ( +"dQg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/camera{ c_tag = "Virology - Containment Lock"; @@ -91201,7 +96622,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/medical/virology) -"dKh" = ( +"dQh" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -91209,13 +96630,13 @@ /obj/structure/sign/vacuum, /turf/open/floor/plating, /area/medical/virology) -"dKi" = ( +"dQi" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/whitegreen/corner{ dir = 1 }, /area/medical/virology) -"dKj" = ( +"dQj" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -91224,16 +96645,16 @@ dir = 1 }, /area/medical/virology) -"dKk" = ( +"dQk" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel/whitegreen/corner{ dir = 4 }, /area/medical/virology) -"dKl" = ( +"dQl" = ( /turf/closed/wall, /area/medical/virology) -"dKm" = ( +"dQm" = ( /obj/structure/table/glass, /obj/machinery/newscaster{ pixel_x = -32 @@ -91251,14 +96672,14 @@ dir = 1 }, /area/medical/virology) -"dKn" = ( +"dQn" = ( /obj/structure/table/glass, /obj/machinery/computer/med_data/laptop, /turf/open/floor/plasteel/whitegreen/corner{ dir = 1 }, /area/medical/virology) -"dKo" = ( +"dQo" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -91267,7 +96688,7 @@ dir = 4 }, /area/medical/virology) -"dKp" = ( +"dQp" = ( /obj/machinery/light/small{ dir = 4 }, @@ -91283,12 +96704,12 @@ dir = 4 }, /area/medical/virology) -"dKr" = ( +"dQq" = ( /obj/structure/table_frame/wood, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/library/abandoned) -"dKs" = ( +"dQr" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -91296,10 +96717,10 @@ dir = 5 }, /area/library/abandoned) -"dKt" = ( +"dQs" = ( /turf/open/floor/plasteel/black, /area/library/abandoned) -"dKu" = ( +"dQt" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable/white{ @@ -91307,40 +96728,40 @@ }, /turf/open/floor/plasteel/grimy, /area/library/abandoned) -"dKv" = ( +"dQu" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/library/abandoned) -"dKw" = ( +"dQv" = ( /obj/structure/chair/office/dark{ dir = 4 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/grimy, /area/library/abandoned) -"dKx" = ( +"dQw" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, /obj/item/device/paicard, /turf/open/floor/carpet, /area/library/abandoned) -"dKy" = ( +"dQx" = ( /obj/structure/table/wood, /obj/item/storage/pill_bottle/dice, /turf/open/floor/carpet, /area/library/abandoned) -"dKz" = ( +"dQy" = ( /obj/structure/chair/office/dark{ dir = 8 }, /turf/open/floor/plasteel/grimy, /area/library/abandoned) -"dKA" = ( +"dQz" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port/aft) -"dKB" = ( +"dQA" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -91348,40 +96769,40 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, /area/maintenance/port/aft) -"dKC" = ( +"dQB" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 5 }, /turf/open/floor/plating, /area/maintenance/port/aft) -"dKD" = ( +"dQC" = ( /obj/machinery/atmospherics/components/trinary/filter{ dir = 8 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/maintenance/port/aft) -"dKE" = ( +"dQD" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 9 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral, /area/maintenance/port/aft) -"dKF" = ( +"dQE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" }, /turf/open/floor/plating, /area/maintenance/port/aft) -"dKG" = ( +"dQF" = ( /obj/machinery/droneDispenser, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dKH" = ( +"dQG" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/item/stack/sheet/metal{ @@ -91394,7 +96815,7 @@ dir = 4 }, /area/maintenance/port/aft) -"dKI" = ( +"dQH" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -91414,11 +96835,11 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dKJ" = ( +"dQI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/port/aft) -"dKK" = ( +"dQJ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -91427,20 +96848,28 @@ dir = 4 }, /area/maintenance/port/aft) -"dKL" = ( -/obj/machinery/computer/crew, +"dQK" = ( +/obj/machinery/computer/crew{ + dir = 4 + }, /obj/machinery/ai_status_display{ pixel_x = -32 }, /turf/open/floor/plasteel/blue/side{ dir = 9 }, -/area/security/checkpoint/customs) -"dKM" = ( +/area/security/checkpoint/customs/auxiliary) +"dQL" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/neutral, +/area/security/checkpoint/customs/auxiliary) +"dQM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/neutral, -/area/security/checkpoint/customs) -"dKN" = ( +/area/security/checkpoint/customs/auxiliary) +"dQN" = ( /obj/structure/table/reinforced, /obj/machinery/newscaster{ pixel_x = 32; @@ -91451,13 +96880,13 @@ /turf/open/floor/plasteel/blue/side{ dir = 5 }, -/area/security/checkpoint/customs) -"dKO" = ( +/area/security/checkpoint/customs/auxiliary) +"dQO" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/security/checkpoint/customs) -"dKP" = ( +/area/security/checkpoint/customs/auxiliary) +"dQP" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, @@ -91465,29 +96894,30 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dKQ" = ( +"dQQ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/hallway/primary/aft) -"dKR" = ( +"dQR" = ( /obj/item/device/radio/beacon, /turf/open/floor/plasteel/neutral, /area/hallway/primary/aft) -"dKS" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, +"dQS" = ( +/obj/structure/shuttle/engine/propulsion{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating/airless, /area/shuttle/escape) -"dKT" = ( -/turf/closed/wall/mineral/titanium, +"dQT" = ( +/turf/closed/wall/mineral/plastitanium, /area/shuttle/escape) -"dKU" = ( -/obj/structure/window/shuttle, -/obj/structure/grille, -/turf/open/floor/plating, -/area/shuttle/escape) -"dKV" = ( +"dQU" = ( /obj/structure/sink{ dir = 8; pixel_x = -12 @@ -91505,7 +96935,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/virology) -"dKW" = ( +"dQV" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -91517,7 +96947,7 @@ }, /turf/open/floor/plasteel/white, /area/medical/virology) -"dKX" = ( +"dQW" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -91529,7 +96959,7 @@ }, /turf/open/floor/plasteel/white, /area/medical/virology) -"dKY" = ( +"dQX" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" @@ -91558,25 +96988,26 @@ }, /turf/open/floor/plasteel, /area/medical/virology) -"dKZ" = ( +"dQY" = ( +/obj/machinery/doorButtons/airlock_controller{ + idExterior = "virology_airlock_exterior"; + idInterior = "virology_airlock_interior"; + idSelf = "virology_airlock_control"; + name = "Virology Access Console"; + pixel_x = -10; + pixel_y = 24; + req_access_txt = "39" + }, /obj/structure/cable/white{ icon_state = "4-8" }, -/obj/structure/cable/white{ - icon_state = "2-4" - }, -/obj/structure/cable/white{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/medical/virology) -"dLa" = ( +"dQZ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -91597,7 +97028,25 @@ }, /turf/open/floor/plasteel, /area/medical/virology) -"dLb" = ( +"dRa" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/cable/white{ + icon_state = "2-4" + }, +/obj/structure/cable/white{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/medical/virology) +"dRb" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/virology{ name = "Virology Access"; @@ -91614,7 +97063,7 @@ }, /turf/open/floor/plasteel, /area/medical/virology) -"dLc" = ( +"dRc" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -91629,7 +97078,7 @@ dir = 1 }, /area/medical/virology) -"dLd" = ( +"dRd" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -91641,7 +97090,7 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/virology) -"dLe" = ( +"dRe" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -91649,14 +97098,14 @@ dir = 4 }, /area/medical/virology) -"dLf" = ( +"dRf" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plating, /area/medical/virology) -"dLg" = ( +"dRg" = ( /obj/structure/table/glass, /obj/item/clipboard, /obj/item/toy/figure/virologist, @@ -91667,7 +97116,7 @@ dir = 1 }, /area/medical/virology) -"dLh" = ( +"dRh" = ( /obj/structure/chair/office/light{ dir = 8 }, @@ -91677,7 +97126,7 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/virology) -"dLi" = ( +"dRi" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -91686,7 +97135,27 @@ }, /turf/open/floor/plasteel/green, /area/medical/virology) -"dLk" = ( +"dRj" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Virology - Break Room"; + dir = 8; + name = "virology camera" + }, +/turf/open/floor/plasteel/whitegreen/corner{ + dir = 4 + }, +/area/medical/virology) +"dRk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/sign/poster/official/cleanliness, +/turf/closed/wall, +/area/medical/virology) +"dRl" = ( /obj/machinery/newscaster{ pixel_y = 32 }, @@ -91697,7 +97166,7 @@ }, /turf/open/floor/plasteel/vault, /area/medical/virology) -"dLl" = ( +"dRm" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -91708,9 +97177,12 @@ }, /turf/open/floor/plasteel/vault, /area/medical/virology) -"dLm" = ( +"dRn" = ( /obj/structure/table/glass, -/obj/machinery/computer/med_data/laptop, +/obj/machinery/computer/med_data/laptop{ + dir = 8; + pixel_y = 1 + }, /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_y = 26 @@ -91720,40 +97192,40 @@ }, /turf/open/floor/plasteel/vault, /area/medical/virology) -"dLo" = ( +"dRo" = ( /obj/machinery/light/small{ dir = 8 }, /turf/open/floor/plating, /area/library/abandoned) -"dLp" = ( +"dRp" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood{ icon_state = "wood-broken4" }, /area/library/abandoned) -"dLq" = ( +"dRq" = ( /turf/open/floor/wood{ icon_state = "wood-broken2" }, /area/library/abandoned) -"dLr" = ( +"dRr" = ( /obj/structure/bookcase, /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/wood, /area/library/abandoned) -"dLs" = ( +"dRs" = ( /turf/open/floor/wood{ icon_state = "wood-broken5" }, /area/library/abandoned) -"dLt" = ( +"dRt" = ( /obj/structure/chair/office/dark{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/library/abandoned) -"dLu" = ( +"dRu" = ( /obj/structure/table/wood, /obj/item/toy/cards/deck/cas{ pixel_x = -5; @@ -91765,13 +97237,13 @@ }, /turf/open/floor/carpet, /area/library/abandoned) -"dLv" = ( +"dRv" = ( /obj/structure/table/wood, /obj/item/clipboard, /obj/item/folder/red, /turf/open/floor/carpet, /area/library/abandoned) -"dLw" = ( +"dRw" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -91782,7 +97254,7 @@ }, /turf/open/floor/plating, /area/library/abandoned) -"dLx" = ( +"dRx" = ( /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance{ lootcount = 3; @@ -91792,14 +97264,14 @@ dir = 10 }, /area/maintenance/port/aft) -"dLy" = ( +"dRy" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/corner{ dir = 8 }, /area/maintenance/port/aft) -"dLz" = ( +"dRz" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -91812,7 +97284,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"dLA" = ( +"dRA" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -91821,7 +97293,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"dLB" = ( +"dRB" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -91831,7 +97303,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"dLC" = ( +"dRC" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "4-8" @@ -91845,7 +97317,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dLD" = ( +"dRD" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -91860,7 +97332,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"dLE" = ( +"dRE" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -91869,7 +97341,7 @@ }, /turf/open/floor/plasteel/neutral/side, /area/maintenance/port/aft) -"dLF" = ( +"dRF" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -91881,7 +97353,7 @@ dir = 9 }, /area/maintenance/port/aft) -"dLG" = ( +"dRG" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -91891,7 +97363,7 @@ /mob/living/simple_animal/cockroach, /turf/open/floor/plating, /area/maintenance/port/aft) -"dLH" = ( +"dRH" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -91904,7 +97376,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port/aft) -"dLI" = ( +"dRI" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -91920,7 +97392,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port/aft) -"dLJ" = ( +"dRJ" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -91930,7 +97402,7 @@ heat_capacity = 1e+006 }, /area/maintenance/port/aft) -"dLK" = ( +"dRK" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -91940,7 +97412,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"dLL" = ( +"dRL" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -91953,7 +97425,7 @@ dir = 5 }, /area/maintenance/port/aft) -"dLM" = ( +"dRM" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -91964,7 +97436,7 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"dLN" = ( +"dRN" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -91976,7 +97448,7 @@ dir = 10 }, /area/maintenance/port/aft) -"dLO" = ( +"dRO" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -91987,53 +97459,814 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dLQ" = ( +"dRP" = ( +/obj/structure/table/reinforced, +/obj/machinery/light{ + dir = 8 + }, +/obj/item/crowbar, +/obj/item/device/radio, +/obj/structure/sign/poster/official/do_not_question{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/blue/side{ + dir = 10 + }, +/area/security/checkpoint/customs/auxiliary) +"dRQ" = ( /obj/structure/table/reinforced, /obj/structure/cable/white{ icon_state = "1-2" }, /obj/item/storage/box/ids, /turf/open/floor/plasteel/blue/side, -/area/security/checkpoint/customs) -"dLR" = ( +/area/security/checkpoint/customs/auxiliary) +"dRR" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, /turf/open/floor/plasteel/blue/side, -/area/security/checkpoint/customs) -"dLS" = ( +/area/security/checkpoint/customs/auxiliary) +"dRS" = ( /obj/structure/closet/secure_closet/contraband/heads, /obj/item/storage/secure/briefcase, /turf/open/floor/plasteel/blue/side{ dir = 6 }, -/area/security/checkpoint/customs) -"dLT" = ( +/area/security/checkpoint/customs/auxiliary) +"dRT" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dLU" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +"dRU" = ( +/obj/structure/disposalpipe/junction/flip{ dir = 2 }, /turf/open/floor/plasteel/escape, /area/hallway/primary/aft) -"dLV" = ( +"dRV" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/escape, /area/hallway/primary/aft) -"dLW" = ( +"dRW" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/escape, /area/hallway/primary/aft) -"dLY" = ( +"dRX" = ( +/obj/machinery/disposal/bin, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/sign/poster/official/help_others{ + pixel_x = 32 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"dRY" = ( +/obj/structure/window/reinforced, +/obj/structure/shuttle/engine/heater{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/shuttle/escape) +"dRZ" = ( +/obj/structure/closet/l3closet/virology, +/obj/structure/sign/biohazard{ + pixel_y = -32 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/medical/virology) +"dSa" = ( +/obj/structure/closet/l3closet/virology, +/obj/machinery/light/small, +/obj/structure/extinguisher_cabinet{ + pixel_y = -32 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/medical/virology) +"dSb" = ( +/obj/structure/closet/emcloset, +/obj/structure/sign/securearea{ + pixel_y = -32 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/medical/virology) +"dSc" = ( +/obj/structure/cable/white, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/medical/virology) +"dSd" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/whitegreen/corner{ + dir = 1 + }, +/area/medical/virology) +"dSe" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/structure/cable/white{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/green, +/area/medical/virology) +"dSf" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/whitegreen/corner{ + dir = 4 + }, +/area/medical/virology) +"dSg" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/virology{ + name = "Virology Break Room"; + req_access_txt = "39" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/medical/virology) +"dSh" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/whitegreen/corner{ + dir = 8 + }, +/area/medical/virology) +"dSi" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/green, +/area/medical/virology) +"dSj" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/neutral, +/area/medical/virology) +"dSk" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/whitegreen/corner, +/area/medical/virology) +"dSl" = ( +/obj/machinery/door/airlock/virology{ + name = "Virology Cabin"; + req_access_txt = "39" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/medical/virology) +"dSm" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/light_switch{ + pixel_x = -26; + pixel_y = -26 + }, +/turf/open/floor/plasteel/whitegreen/corner{ + dir = 1 + }, +/area/medical/virology) +"dSn" = ( +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/obj/effect/landmark/start/virologist, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/green, +/area/medical/virology) +"dSo" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/status_display{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/whitegreen/corner{ + dir = 4 + }, +/area/medical/virology) +"dSp" = ( +/obj/structure/bookcase, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/wood, +/area/library/abandoned) +"dSq" = ( +/obj/structure/bookcase, +/turf/open/floor/wood, +/area/library/abandoned) +"dSr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating, +/area/library/abandoned) +"dSs" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/library/abandoned) +"dSt" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/plasteel/grimy, +/area/library/abandoned) +"dSu" = ( +/turf/open/floor/wood, +/area/library/abandoned) +"dSv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/library/abandoned) +"dSw" = ( +/obj/structure/chair/office/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/grimy, +/area/library/abandoned) +"dSx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 8; + heat_capacity = 1e+006 + }, +/area/maintenance/port/aft) +"dSy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"dSz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall, +/area/chapel/office) +"dSA" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Chapel Maintenance"; + req_access_txt = "27" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/maintenance/port/aft) +"dSB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall, +/area/chapel/office) +"dSC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall, +/area/maintenance/port/aft) +"dSD" = ( +/obj/structure/girder, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"dSE" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/costume, +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"dSF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral/side, +/area/maintenance/port/aft) +"dSG" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/maintenance/port/aft) +"dSH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/neutral/side, +/area/maintenance/port/aft) +"dSI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"dSJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"dSK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall, +/area/hallway/secondary/exit/departure_lounge) +"dSL" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Maintenance Hatch"; + req_access_txt = "12" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/maintenance/port/aft) +"dSM" = ( +/obj/structure/cable/white, +/obj/structure/cable/white{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/checkpoint/customs/auxiliary) +"dSN" = ( +/obj/structure/cable/white{ + icon_state = "0-8" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/checkpoint/customs/auxiliary) +"dSO" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall, +/area/security/checkpoint/customs/auxiliary) +"dSP" = ( +/obj/structure/sign/directions/evac{ + pixel_y = -8 + }, +/obj/structure/sign/directions/science{ + dir = 1 + }, +/obj/structure/sign/directions/engineering{ + dir = 1; + pixel_y = 8 + }, +/turf/closed/wall, +/area/hallway/secondary/exit/departure_lounge) +"dSQ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/glass{ + name = "Departures Lounge" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dSR" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/glass{ + name = "Departures Lounge" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dSS" = ( +/obj/structure/sign/directions/evac{ + pixel_y = -8 + }, +/obj/structure/sign/directions/medical{ + dir = 1 + }, +/obj/structure/sign/directions/security{ + dir = 1; + pixel_y = 8 + }, +/turf/closed/wall, +/area/hallway/secondary/exit/departure_lounge) +"dST" = ( +/turf/closed/wall, +/area/hallway/secondary/exit/departure_lounge) +"dSU" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/hallway/secondary/exit/departure_lounge) +"dSV" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/escape) +"dSW" = ( +/turf/closed/wall/mineral/titanium, +/area/shuttle/escape) +"dSX" = ( +/obj/structure/window/shuttle, +/obj/structure/grille, +/turf/open/floor/plating, +/area/shuttle/escape) +"dSY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/whitegreen/corner{ + dir = 1 + }, +/area/medical/virology) +"dSZ" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral, +/area/medical/virology) +"dTa" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/whitegreen/corner{ + dir = 4 + }, +/area/medical/virology) +"dTb" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/medical/virology) +"dTc" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/whitegreen/corner{ + dir = 8 + }, +/area/medical/virology) +"dTd" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/turf/open/floor/plasteel/whitegreen/corner{ + dir = 8 + }, +/area/medical/virology) +"dTe" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/whitegreen/corner, +/area/medical/virology) +"dTf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/whitegreen/corner, +/area/medical/virology) +"dTg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall, +/area/medical/virology) +"dTh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/whitegreen/corner{ + dir = 8 + }, +/area/medical/virology) +"dTi" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/neutral, +/area/medical/virology) +"dTj" = ( +/obj/machinery/ai_status_display{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/whitegreen/corner, +/area/medical/virology) +"dTk" = ( +/obj/structure/cable, +/obj/machinery/power/tracker, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solar/starboard/aft) +"dTl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/white{ + icon_state = "0-4" + }, +/obj/machinery/power/apc{ + dir = 8; + name = "Abandoned Library APC"; + areastring = "/area/library/abandoned"; + pixel_x = -26; + pixel_y = 3 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/library/abandoned) +"dTm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/library/abandoned) +"dTn" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/wood, +/area/library/abandoned) +"dTo" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/grimy, +/area/library/abandoned) +"dTp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/grimy, +/area/library/abandoned) +"dTq" = ( +/obj/item/twohanded/required/kirbyplants/random, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/library/abandoned) +"dTr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/twohanded/required/kirbyplants/random, +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/library/abandoned) +"dTs" = ( +/obj/machinery/photocopier, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/library/abandoned) +"dTt" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/wood{ + icon_state = "wood-broken2" + }, +/area/library/abandoned) +"dTu" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/obj/item/device/flashlight/lamp, +/turf/open/floor/plating, +/area/library/abandoned) +"dTv" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"dTw" = ( +/turf/closed/wall, +/area/chapel/office) +"dTx" = ( +/obj/structure/bodycontainer/morgue, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/chapel/office) +"dTy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/chapel/office) +"dTz" = ( +/obj/item/twohanded/required/kirbyplants/random, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/chapel/office) +"dTA" = ( +/turf/closed/wall, +/area/chapel/main) +"dTB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall, +/area/chapel/main) +"dTC" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dTD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dTE" = ( +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dTF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dTG" = ( +/obj/machinery/power/apc/highcap/five_k{ + dir = 1; + name = "Departure Lounge APC"; + areastring = "/area/hallway/secondary/exit/departure_lounge"; + pixel_y = 28 + }, +/obj/machinery/camera{ + c_tag = "Departures - Fore"; + dir = 2; + name = "departures camera" + }, +/obj/structure/cable/white{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dTH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dTI" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dTJ" = ( +/obj/effect/turf_decal/delivery, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dTK" = ( /obj/item/clothing/suit/hazardvest{ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; name = "emergency lifejacket" @@ -92113,26 +98346,34 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/shuttle/escape) -"dLZ" = ( +"dTL" = ( /turf/open/floor/plasteel/neutral/side{ dir = 1 }, /area/shuttle/escape) -"dMa" = ( +"dTM" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 1 + }, +/area/shuttle/escape) +"dTN" = ( /obj/item/defibrillator/loaded, /obj/structure/table/reinforced, /turf/open/floor/plasteel/cmo, /area/shuttle/escape) -"dMb" = ( +"dTO" = ( /obj/machinery/computer/operating, /turf/open/floor/plasteel/cmo, /area/shuttle/escape) -"dMc" = ( +"dTP" = ( /obj/structure/table/optable, /obj/item/surgical_drapes, /turf/open/floor/plasteel/cmo, /area/shuttle/escape) -"dMd" = ( +"dTQ" = ( /obj/item/scalpel{ pixel_y = 12 }, @@ -92148,431 +98389,319 @@ /obj/structure/table/reinforced, /turf/open/floor/plasteel/cmo, /area/shuttle/escape) -"dMe" = ( -/obj/structure/closet/l3closet/virology, -/obj/structure/sign/biohazard{ - pixel_y = -32 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/medical/virology) -"dMf" = ( -/obj/structure/closet/l3closet/virology, -/obj/machinery/light/small, +"dTR" = ( /obj/structure/extinguisher_cabinet{ - pixel_y = -32 + pixel_x = -26 }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/medical/virology) -"dMg" = ( -/obj/structure/closet/emcloset, -/obj/structure/sign/securearea{ - pixel_y = -32 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/whitegreen/corner{ + dir = 1 }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, /area/medical/virology) -"dMh" = ( -/obj/structure/cable/white, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, +"dTS" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/green, /area/medical/virology) -"dMi" = ( +"dTT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/whitegreen/corner{ + dir = 4 + }, +/area/medical/virology) +"dTU" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 1 + }, +/obj/machinery/light/small{ + dir = 8 + }, /obj/machinery/firealarm{ dir = 8; pixel_x = -24 }, -/obj/machinery/light{ - dir = 8 +/obj/structure/sign/poster/official/work_for_a_future{ + pixel_y = -32 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/whitegreen/corner{ +/turf/open/floor/plasteel/vault, +/area/medical/virology) +"dTV" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 }, -/area/medical/virology) -"dMj" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/structure/cable/white{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/green, -/area/medical/virology) -"dMk" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 4 - }, -/area/medical/virology) -"dMl" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/virology{ - name = "Virology Break Room"; - req_access_txt = "39" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/medical/virology) -"dMm" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 8 - }, -/area/medical/virology) -"dMn" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/green, -/area/medical/virology) -"dMo" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/virology) -"dMp" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/whitegreen/corner, -/area/medical/virology) -"dMq" = ( -/obj/machinery/door/airlock/virology{ - name = "Virology Cabin"; - req_access_txt = "39" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/medical/virology) -"dMr" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/light_switch{ - pixel_x = -26; - pixel_y = -26 - }, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 1 - }, -/area/medical/virology) -"dMs" = ( -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/effect/landmark/start/virologist, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/green, -/area/medical/virology) -"dMt" = ( -/obj/machinery/light{ - dir = 4 - }, /obj/machinery/status_display{ - pixel_x = 32 + pixel_y = -32 }, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 4 +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plasteel/vault, +/area/medical/virology) +"dTW" = ( +/obj/item/clothing/neck/stethoscope, +/obj/structure/table, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/item/storage/box/donkpockets, +/obj/item/storage/box/donkpockets, +/turf/open/floor/plasteel/vault, +/area/medical/virology) +"dTX" = ( +/obj/structure/table, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/microwave{ + desc = "Cooks and boils stuff, somehow."; + pixel_x = -3; + pixel_y = 5 + }, +/turf/open/floor/plasteel/vault, +/area/medical/virology) +"dTY" = ( +/obj/structure/sign/nosmoking_2, +/turf/closed/wall, +/area/medical/virology) +"dTZ" = ( +/obj/structure/dresser, +/turf/open/floor/plasteel/vault{ + dir = 5 }, /area/medical/virology) -"dMu" = ( -/obj/structure/bookcase, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/wood, -/area/library/abandoned) -"dMv" = ( -/obj/structure/bookcase, -/turf/open/floor/wood, -/area/library/abandoned) -"dMw" = ( -/obj/effect/decal/cleanable/dirt, +"dUa" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, /obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 + dir = 1 }, -/obj/effect/landmark/xeno_spawn, -/turf/open/floor/plating, -/area/library/abandoned) -"dMx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 +/turf/open/floor/plasteel/vault{ + dir = 5 }, -/turf/open/floor/plasteel/grimy, -/area/library/abandoned) -"dMy" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 +/area/medical/virology) +"dUb" = ( +/obj/structure/closet/wardrobe/virology_white, +/obj/item/storage/backpack/satchel/vir, +/turf/open/floor/plasteel/vault{ + dir = 5 }, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/blood/splatter, -/turf/open/floor/plasteel/grimy, -/area/library/abandoned) -"dMz" = ( +/area/medical/virology) +"dUc" = ( +/mob/living/simple_animal/cockroach, /turf/open/floor/wood, /area/library/abandoned) -"dMA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/blobstart, -/turf/open/floor/plating, -/area/library/abandoned) -"dMB" = ( -/obj/structure/chair/office/dark{ - dir = 1 - }, +"dUd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/grimy, /area/library/abandoned) -"dMC" = ( +"dUe" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/library/abandoned) +"dUf" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 8; - heat_capacity = 1e+006 - }, -/area/maintenance/port/aft) -"dMD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"dME" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/chapel/office) -"dMF" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Chapel Maintenance"; - req_access_txt = "27" - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/maintenance/port/aft) -"dMG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/chapel/office) -"dMH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/maintenance/port/aft) -"dMI" = ( +/turf/open/floor/wood, +/area/library/abandoned) +"dUg" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port/aft) -"dMJ" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/costume, -/obj/effect/spawner/lootdrop/maintenance, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"dMK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/side, -/area/maintenance/port/aft) -"dML" = ( +"dUh" = ( +/obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/turf/open/floor/plasteel/neutral/side{ + dir = 4 + }, +/area/maintenance/port/aft) +"dUi" = ( +/obj/structure/table, +/obj/item/storage/box/gloves{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/box/bodybags, +/obj/machinery/newscaster{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/chapel/office) +"dUj" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/chapel/office) +"dUk" = ( +/obj/item/twohanded/required/kirbyplants/random, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/chapel/office) +"dUl" = ( +/obj/structure/table/wood, +/obj/item/storage/fancy/candle_box{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/fancy/candle_box, +/turf/open/floor/plasteel/black, +/area/chapel/main) +"dUm" = ( +/obj/structure/bookcase, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/sign/kiddieplaque/badger{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/chapel/main) +"dUn" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/grown/poppy{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/reagent_containers/food/snacks/grown/poppy{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/reagent_containers/food/snacks/grown/poppy, +/obj/machinery/status_display{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/black, +/area/chapel/main) +"dUo" = ( +/obj/item/twohanded/required/kirbyplants/random, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/chapel/main) +"dUp" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/black, +/area/chapel/main) +"dUq" = ( +/obj/item/twohanded/required/kirbyplants/random, +/obj/item/device/radio/intercom{ + name = "Station Intercom"; + pixel_y = 26 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/chapel/main) +"dUr" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/grown/harebell{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/reagent_containers/food/snacks/grown/harebell{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/reagent_containers/food/snacks/grown/harebell, +/obj/machinery/status_display{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/black, +/area/chapel/main) +"dUs" = ( +/obj/structure/bookcase, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/chapel/main) +"dUt" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/black, +/area/chapel/main) +"dUu" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/chapel/main) +"dUv" = ( /obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-22" + }, /turf/open/floor/plasteel, -/area/maintenance/port/aft) -"dMM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/side, -/area/maintenance/port/aft) -"dMN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/reagent_dispensers/watertank, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"dMO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, /area/hallway/secondary/exit/departure_lounge) -"dMP" = ( +"dUw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Maintenance Hatch"; - req_access_txt = "12" +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dUx" = ( +/turf/open/floor/plasteel/neutral, +/area/hallway/secondary/exit/departure_lounge) +"dUy" = ( +/obj/structure/cable/white{ + icon_state = "1-2" }, +/turf/open/floor/plasteel/neutral, +/area/hallway/secondary/exit/departure_lounge) +"dUz" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/neutral, +/area/hallway/secondary/exit/departure_lounge) +"dUA" = ( /obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, /turf/open/floor/plasteel, -/area/maintenance/port/aft) -"dMQ" = ( -/turf/closed/wall, /area/hallway/secondary/exit/departure_lounge) -"dMR" = ( -/obj/structure/cable/white, -/obj/structure/cable/white{ - icon_state = "0-4" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/hallway/secondary/exit/departure_lounge) -"dMS" = ( -/obj/structure/cable/white{ - icon_state = "0-8" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/hallway/secondary/exit/departure_lounge) -"dMT" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall, -/area/hallway/secondary/exit/departure_lounge) -"dMU" = ( -/obj/structure/sign/directions/evac{ - pixel_y = -8 - }, -/obj/structure/sign/directions/science{ - dir = 1 - }, -/obj/structure/sign/directions/engineering{ - dir = 1; - pixel_y = 8 - }, -/turf/closed/wall, -/area/hallway/secondary/exit/departure_lounge) -"dMV" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ - name = "Departures Lounge" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"dUB" = ( +/obj/effect/turf_decal/delivery, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-22" }, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dMW" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ - name = "Departures Lounge" +"dUC" = ( +/obj/machinery/light{ + dir = 8 }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dMX" = ( -/obj/structure/sign/directions/evac{ - pixel_y = -8 - }, -/obj/structure/sign/directions/medical{ - dir = 1 - }, -/obj/structure/sign/directions/security{ - dir = 1; - pixel_y = 8 - }, -/turf/closed/wall, -/area/hallway/secondary/exit/departure_lounge) -"dMY" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/hallway/secondary/exit/departure_lounge) -"dMZ" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, @@ -92581,10 +98710,10 @@ heat_capacity = 1e+006 }, /area/shuttle/escape) -"dNa" = ( +"dUD" = ( /turf/open/floor/plasteel/neutral, /area/shuttle/escape) -"dNb" = ( +"dUE" = ( /obj/machinery/light{ dir = 4 }, @@ -92595,11 +98724,11 @@ dir = 4 }, /area/shuttle/escape) -"dNc" = ( +"dUF" = ( /obj/machinery/status_display, /turf/closed/wall/mineral/titanium, /area/shuttle/escape) -"dNd" = ( +"dUG" = ( /obj/item/reagent_containers/glass/bottle/epinephrine{ pixel_x = 6 }, @@ -92636,13 +98765,13 @@ }, /turf/open/floor/plasteel/cmo, /area/shuttle/escape) -"dNe" = ( +"dUH" = ( /obj/structure/chair/office/light{ dir = 1 }, /turf/open/floor/plasteel/cmo, /area/shuttle/escape) -"dNf" = ( +"dUI" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_x = 26; @@ -92650,656 +98779,14 @@ }, /turf/open/floor/plasteel/cmo, /area/shuttle/escape) -"dNg" = ( +"dUJ" = ( /obj/structure/sink{ dir = 4; pixel_x = 11 }, /turf/open/floor/plasteel/cmo, /area/shuttle/escape) -"dNh" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 1 - }, -/area/medical/virology) -"dNi" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/virology) -"dNj" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 4 - }, -/area/medical/virology) -"dNk" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/medical/virology) -"dNl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 8 - }, -/area/medical/virology) -"dNm" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 8 - }, -/area/medical/virology) -"dNn" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whitegreen/corner, -/area/medical/virology) -"dNo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whitegreen/corner, -/area/medical/virology) -"dNp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/medical/virology) -"dNq" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/virology) -"dNr" = ( -/obj/machinery/ai_status_display{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/whitegreen/corner, -/area/medical/virology) -"dNs" = ( -/obj/structure/cable, -/obj/machinery/power/tracker, -/turf/open/floor/plasteel/airless/solarpanel, -/area/solar/starboard/aft) -"dNt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/white{ - icon_state = "0-4" - }, -/obj/machinery/power/apc{ - dir = 8; - name = "Abandoned Library APC"; - areastring = "/area/library/abandoned"; - pixel_x = -26; - pixel_y = 3 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/library/abandoned) -"dNu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/turf/open/floor/wood{ - icon_state = "wood-broken6" - }, -/area/library/abandoned) -"dNv" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/library/abandoned) -"dNw" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/grimy, -/area/library/abandoned) -"dNx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/grimy, -/area/library/abandoned) -"dNy" = ( -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/wood{ - icon_state = "wood-broken7" - }, -/area/library/abandoned) -"dNz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/library/abandoned) -"dNA" = ( -/obj/machinery/photocopier, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/library/abandoned) -"dNB" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen, -/turf/open/floor/wood{ - icon_state = "wood-broken2" - }, -/area/library/abandoned) -"dNC" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/decal/cleanable/dirt, -/obj/item/device/flashlight/lamp, -/turf/open/floor/plating, -/area/library/abandoned) -"dND" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"dNE" = ( -/turf/closed/wall, -/area/chapel/office) -"dNF" = ( -/obj/structure/bodycontainer/morgue, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/chapel/office) -"dNG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/chapel/office) -"dNH" = ( -/obj/item/twohanded/required/kirbyplants/random, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/chapel/office) -"dNI" = ( -/turf/closed/wall, -/area/chapel/main) -"dNK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/chapel/main) -"dNN" = ( -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dNO" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dNR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dNT" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dNU" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dNV" = ( -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/leafybush, -/obj/structure/window/shuttle, -/turf/open/floor/grass, -/area/shuttle/escape) -"dNW" = ( -/obj/machinery/computer/med_data, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/shuttle/escape) -"dNX" = ( -/obj/structure/chair/office/light{ - dir = 8 - }, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/shuttle/escape) -"dNY" = ( -/turf/open/floor/plasteel/whiteblue/side{ - dir = 1 - }, -/area/shuttle/escape) -"dNZ" = ( -/obj/item/storage/firstaid/toxin, -/obj/item/storage/firstaid/o2{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 5 - }, -/area/shuttle/escape) -"dOa" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -26 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 1 - }, -/area/medical/virology) -"dOb" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/green, -/area/medical/virology) -"dOc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 4 - }, -/area/medical/virology) -"dOe" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/machinery/status_display{ - pixel_y = -32 - }, -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/plasteel/vault, -/area/medical/virology) -"dOf" = ( -/obj/item/clothing/neck/stethoscope, -/obj/structure/table, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/item/storage/box/donkpockets, -/obj/item/storage/box/donkpockets, -/turf/open/floor/plasteel/vault, -/area/medical/virology) -"dOg" = ( -/obj/structure/table, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/obj/machinery/microwave{ - desc = "Cooks and boils stuff, somehow."; - pixel_x = -3; - pixel_y = 5 - }, -/turf/open/floor/plasteel/vault, -/area/medical/virology) -"dOh" = ( -/obj/structure/sign/nosmoking_2, -/turf/closed/wall, -/area/medical/virology) -"dOi" = ( -/obj/structure/dresser, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/medical/virology) -"dOj" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/medical/virology) -"dOk" = ( -/obj/structure/closet/wardrobe/virology_white, -/obj/item/storage/backpack/satchel/vir, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/medical/virology) -"dOl" = ( -/mob/living/simple_animal/cockroach, -/turf/open/floor/wood, -/area/library/abandoned) -"dOm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/grimy, -/area/library/abandoned) -"dOn" = ( -/turf/open/floor/wood{ - icon_state = "wood-broken3" - }, -/area/library/abandoned) -"dOo" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/library/abandoned) -"dOp" = ( -/obj/structure/girder, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"dOq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/maintenance/port/aft) -"dOr" = ( -/obj/structure/table, -/obj/item/storage/box/gloves{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/box/bodybags, -/obj/machinery/newscaster{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/chapel/office) -"dOs" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/chapel/office) -"dOt" = ( -/obj/item/twohanded/required/kirbyplants/random, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/chapel/office) -"dOu" = ( -/obj/structure/table/wood, -/obj/item/storage/fancy/candle_box{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/fancy/candle_box, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"dOv" = ( -/obj/structure/bookcase, -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/sign/kiddieplaque/badger{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/chapel/main) -"dOw" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/grown/poppy{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/snacks/grown/poppy{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/snacks/grown/poppy, -/obj/machinery/status_display{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"dOx" = ( -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/chapel/main) -"dOy" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"dOz" = ( -/obj/item/twohanded/required/kirbyplants/random, -/obj/item/device/radio/intercom{ - name = "Station Intercom"; - pixel_y = 26 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/chapel/main) -"dOA" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/grown/harebell{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/snacks/grown/harebell{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/snacks/grown/harebell, -/obj/machinery/status_display{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"dOB" = ( -/obj/structure/bookcase, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/chapel/main) -"dOC" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/machinery/light_switch{ - pixel_y = 24 - }, -/turf/open/floor/plasteel/black, -/area/chapel/main) -"dOD" = ( -/obj/effect/spawner/structure/window/reinforced/tinted, -/turf/open/floor/plating, -/area/chapel/main) -"dOF" = ( -/obj/structure/cable/white{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dOG" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/exit/departure_lounge) -"dOH" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/exit/departure_lounge) -"dOI" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/exit/departure_lounge) -"dOJ" = ( -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/exit/departure_lounge) -"dOK" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/exit/departure_lounge) -"dOL" = ( -/obj/structure/disposalpipe/sortjunction{ - name = "Chapel Junction"; - sortType = 17 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/exit/departure_lounge) -"dOM" = ( -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=hall8"; - location = "hall7" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/exit/departure_lounge) -"dON" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/exit/departure_lounge) -"dOO" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dOQ" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/shuttle/escape) -"dOR" = ( -/obj/machinery/status_display, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/shuttle/escape) -"dOS" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dOT" = ( -/obj/machinery/door/airlock/glass_medical{ - id_tag = null; - name = "Escape Shuttle Infirmary"; - req_access_txt = "0" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dOU" = ( -/obj/item/storage/firstaid/fire, -/obj/item/storage/firstaid/regular{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/whiteblue/side{ - dir = 4 - }, -/area/shuttle/escape) -"dOV" = ( +"dUK" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -93309,7 +98796,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/medical/virology) -"dOW" = ( +"dUL" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -93319,7 +98806,7 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/medical/virology) -"dOX" = ( +"dUM" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -93329,14 +98816,14 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/medical/virology) -"dOY" = ( +"dUN" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/medical/virology) -"dOZ" = ( +"dUO" = ( /obj/machinery/vending/wallmed{ pixel_x = -32 }, @@ -93345,7 +98832,7 @@ dir = 1 }, /area/medical/virology) -"dPa" = ( +"dUP" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -93354,7 +98841,7 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/virology) -"dPb" = ( +"dUQ" = ( /obj/machinery/light{ dir = 4 }, @@ -93372,24 +98859,24 @@ dir = 4 }, /area/medical/virology) -"dPc" = ( +"dUR" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ dir = 8 }, /turf/open/floor/plating, /area/library/abandoned) -"dPd" = ( +"dUS" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood{ icon_state = "wood-broken" }, /area/library/abandoned) -"dPe" = ( +"dUT" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/library/abandoned) -"dPf" = ( +"dUU" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ dir = 4 @@ -93398,21 +98885,21 @@ icon_state = "wood-broken5" }, /area/library/abandoned) -"dPg" = ( +"dUV" = ( /obj/structure/destructible/cult/tome, /obj/effect/decal/cleanable/cobweb, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, /area/library/abandoned) -"dPh" = ( +"dUW" = ( /obj/structure/bookcase{ name = "Forbidden Knowledge" }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/black, /area/library/abandoned) -"dPi" = ( +"dUX" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate{ icon_state = "crateopen"; @@ -93423,7 +98910,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port/aft) -"dPj" = ( +"dUY" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -93431,7 +98918,7 @@ dir = 4 }, /area/maintenance/port/aft) -"dPk" = ( +"dUZ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -93442,7 +98929,7 @@ dir = 8 }, /area/chapel/office) -"dPl" = ( +"dVa" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, @@ -93451,7 +98938,7 @@ dir = 5 }, /area/chapel/office) -"dPm" = ( +"dVb" = ( /obj/machinery/door/airlock/centcom{ name = "Chapel Morgue"; req_access_txt = "27" @@ -93460,34 +98947,33 @@ dir = 8 }, /area/chapel/main) -"dPn" = ( +"dVc" = ( /turf/open/floor/plasteel/grimy, /area/chapel/main) -"dPo" = ( +"dVd" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/grimy, /area/chapel/main) -"dPp" = ( +"dVe" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/chapel/main) -"dPq" = ( +"dVf" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/grimy, /area/chapel/main) -"dPr" = ( +"dVg" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/chapel/main) -"dPs" = ( +"dVh" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/centcom{ name = "Chapel Hall" @@ -93503,96 +98989,84 @@ }, /turf/open/floor/plasteel, /area/chapel/main) -"dPt" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"dVi" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dPu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 +"dVj" = ( +/obj/structure/cable/white{ + icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dPv" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, +"dVk" = ( +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/exit/departure_lounge) -"dPw" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/exit/departure_lounge) -"dPx" = ( -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/exit/departure_lounge) -"dPy" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/exit/departure_lounge) -"dPz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/exit/departure_lounge) -"dPA" = ( +"dVl" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dPB" = ( +"dVm" = ( /obj/structure/chair{ dir = 4 }, -/obj/item/device/radio/intercom{ - name = "Station Intercom"; - pixel_x = -26 - }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/shuttle/escape) -"dPC" = ( +"dVn" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"dVo" = ( /obj/structure/flora/ausbushes/grassybush, /obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/genericbush, +/obj/structure/flora/ausbushes/brflowers, +/obj/structure/flora/ausbushes/leafybush, /obj/structure/window/shuttle, /turf/open/floor/grass, /area/shuttle/escape) -"dPD" = ( -/obj/machinery/shower{ - dir = 8; - name = "emergency shower" - }, -/turf/open/floor/plasteel/whiteblue/side{ +"dVp" = ( +/obj/machinery/computer/med_data{ dir = 4 }, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 1 + }, /area/shuttle/escape) -"dPE" = ( +"dVq" = ( +/obj/structure/chair/office/light{ + dir = 8 + }, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 1 + }, +/area/shuttle/escape) +"dVr" = ( +/turf/open/floor/plasteel/whiteblue/side{ + dir = 1 + }, +/area/shuttle/escape) +"dVs" = ( +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/o2{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 5 + }, +/area/shuttle/escape) +"dVt" = ( /obj/structure/table/glass, /obj/structure/cable/white{ icon_state = "1-2" @@ -93603,7 +99077,7 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, /area/medical/virology) -"dPF" = ( +"dVu" = ( /obj/structure/table/glass, /obj/machinery/requests_console{ department = "Virology Lab"; @@ -93620,7 +99094,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/medical/virology) -"dPG" = ( +"dVv" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -93630,12 +99104,12 @@ }, /turf/open/floor/plasteel, /area/medical/virology) -"dPH" = ( +"dVw" = ( /obj/structure/filingcabinet/chestdrawer, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/virology) -"dPI" = ( +"dVx" = ( /obj/machinery/light{ dir = 1 }, @@ -93646,7 +99120,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/virology) -"dPJ" = ( +"dVy" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -93654,7 +99128,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/virology) -"dPK" = ( +"dVz" = ( /obj/structure/closet/crate/freezer/blood, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -93667,20 +99141,20 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/virology) -"dPL" = ( +"dVA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whitegreen/side{ dir = 8 }, /area/medical/virology) -"dPM" = ( +"dVB" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/effect/landmark/lightsout, /turf/open/floor/plasteel/green, /area/medical/virology) -"dPN" = ( +"dVC" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_x = 26 @@ -93695,14 +99169,14 @@ dir = 4 }, /area/medical/virology) -"dPO" = ( +"dVD" = ( /obj/effect/decal/cleanable/dirt, /mob/living/carbon/monkey, /turf/open/floor/plasteel/whitegreen/side{ dir = 9 }, /area/medical/virology) -"dPP" = ( +"dVE" = ( /obj/machinery/light/small{ dir = 1 }, @@ -93711,13 +99185,13 @@ dir = 1 }, /area/medical/virology) -"dPQ" = ( +"dVF" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/whitegreen/side{ dir = 1 }, /area/medical/virology) -"dPR" = ( +"dVG" = ( /obj/machinery/light/small{ dir = 1 }, @@ -93727,30 +99201,30 @@ dir = 1 }, /area/medical/virology) -"dPS" = ( +"dVH" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/whitegreen/side{ dir = 5 }, /area/medical/virology) -"dPT" = ( +"dVI" = ( /obj/structure/bookcase, /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plating, /area/library/abandoned) -"dPU" = ( +"dVJ" = ( /obj/effect/decal/cleanable/blood/splatter, /turf/open/floor/wood{ icon_state = "wood-broken6" }, /area/library/abandoned) -"dPV" = ( +"dVK" = ( /obj/effect/decal/remains/human, /obj/effect/decal/cleanable/blood/old, /obj/effect/landmark/revenantspawn, /turf/open/floor/plasteel/black, /area/library/abandoned) -"dPW" = ( +"dVL" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -93760,14 +99234,14 @@ heat_capacity = 1e+006 }, /area/maintenance/port/aft) -"dPX" = ( +"dVM" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-8" }, /turf/open/floor/plating, /area/maintenance/port/aft) -"dPY" = ( +"dVN" = ( /obj/structure/table, /obj/item/wrench, /obj/item/crowbar, @@ -93780,7 +99254,7 @@ dir = 5 }, /area/chapel/office) -"dPZ" = ( +"dVO" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -93790,25 +99264,25 @@ dir = 5 }, /area/chapel/office) -"dQa" = ( +"dVP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/chapel/office) -"dQb" = ( +"dVQ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/chapel/main) -"dQc" = ( +"dVR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/chapel/main) -"dQd" = ( +"dVS" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -93818,23 +99292,23 @@ }, /turf/open/floor/plasteel/grimy, /area/chapel/main) -"dQe" = ( +"dVT" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/open/floor/plasteel/grimy, /area/chapel/main) -"dQf" = ( +"dVU" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/plasteel/grimy, /area/chapel/main) -"dQg" = ( +"dVV" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/grimy, /area/chapel/main) -"dQh" = ( +"dVW" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/centcom{ name = "Chapel Hall" @@ -93847,80 +99321,126 @@ }, /turf/open/floor/plasteel, /area/chapel/main) -"dQi" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dQj" = ( +"dVX" = ( +/obj/structure/cable/white{ + icon_state = "1-4" + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dQk" = ( +"dVY" = ( /obj/structure/cable/white{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/effect/turf_decal/delivery, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-22" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dQl" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dQm" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/light, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dQn" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dQo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/exit/departure_lounge) -"dQp" = ( -/obj/structure/extinguisher_cabinet, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/shuttle/escape) -"dQq" = ( -/obj/structure/bed/roller, -/obj/machinery/iv_drip, -/turf/open/floor/plasteel/whiteblue/side, -/area/shuttle/escape) -"dQr" = ( -/turf/open/floor/plasteel/whiteblue/side, -/area/shuttle/escape) -"dQs" = ( -/obj/structure/bed/roller, -/obj/machinery/iv_drip, -/obj/structure/extinguisher_cabinet{ - pixel_x = 26 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/whiteblue/side{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/structure/disposalpipe/segment{ dir = 6 }, +/turf/open/floor/plasteel/neutral, +/area/hallway/secondary/exit/departure_lounge) +"dVZ" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral, +/area/hallway/secondary/exit/departure_lounge) +"dWa" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral, +/area/hallway/secondary/exit/departure_lounge) +"dWb" = ( +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral, +/area/hallway/secondary/exit/departure_lounge) +"dWc" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral, +/area/hallway/secondary/exit/departure_lounge) +"dWd" = ( +/obj/structure/disposalpipe/sorting/mail{ + name = "Chapel Junction"; + sortType = 17 + }, +/turf/open/floor/plasteel/neutral, +/area/hallway/secondary/exit/departure_lounge) +"dWe" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=hall8"; + location = "hall7" + }, +/turf/open/floor/plasteel/neutral, +/area/hallway/secondary/exit/departure_lounge) +"dWf" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/neutral, +/area/hallway/secondary/exit/departure_lounge) +"dWg" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dWh" = ( +/obj/machinery/ai_status_display, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/escape) -"dQt" = ( +"dWi" = ( +/obj/machinery/status_display, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/escape) +"dWj" = ( +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"dWk" = ( +/obj/machinery/door/airlock/glass_medical{ + id_tag = null; + name = "Escape Shuttle Infirmary"; + req_access_txt = "0" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"dWl" = ( +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/regular{ + pixel_x = 2; + pixel_y = 3 + }, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 4 + }, +/area/shuttle/escape) +"dWm" = ( /obj/structure/reagent_dispensers/virusfood{ pixel_x = -32 }, @@ -93937,7 +99457,7 @@ }, /turf/open/floor/plasteel, /area/medical/virology) -"dQu" = ( +"dWn" = ( /obj/structure/chair/office/light{ dir = 1 }, @@ -93945,7 +99465,7 @@ dir = 1 }, /area/medical/virology) -"dQv" = ( +"dWo" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -93953,17 +99473,17 @@ dir = 1 }, /area/medical/virology) -"dQw" = ( +"dWp" = ( /turf/open/floor/plasteel/whitegreen/side{ dir = 1 }, /area/medical/virology) -"dQx" = ( +"dWq" = ( /turf/open/floor/plasteel/whitegreen/corner{ dir = 4 }, /area/medical/virology) -"dQy" = ( +"dWr" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -93974,7 +99494,7 @@ dir = 4 }, /area/medical/virology) -"dQz" = ( +"dWs" = ( /obj/machinery/iv_drip, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -93982,7 +99502,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/virology) -"dQA" = ( +"dWt" = ( /obj/structure/cable/white{ icon_state = "0-2" }, @@ -93992,7 +99512,7 @@ }, /turf/open/floor/plating, /area/medical/virology) -"dQB" = ( +"dWu" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, @@ -94000,7 +99520,7 @@ dir = 8 }, /area/medical/virology) -"dQC" = ( +"dWv" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -94009,43 +99529,43 @@ }, /turf/open/floor/plasteel/neutral, /area/medical/virology) -"dQD" = ( +"dWw" = ( /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/whitegreen/corner, /area/medical/virology) -"dQE" = ( +"dWx" = ( /obj/structure/bed/roller, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /mob/living/carbon/monkey, /turf/open/floor/plasteel, /area/medical/virology) -"dQF" = ( +"dWy" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/whitegreen/corner{ dir = 8 }, /area/medical/virology) -"dQG" = ( +"dWz" = ( /obj/effect/landmark/revenantspawn, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/medical/virology) -"dQH" = ( +"dWA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whitegreen/corner, /area/medical/virology) -"dQI" = ( +"dWB" = ( /obj/structure/bed/roller, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/virology) -"dQJ" = ( +"dWC" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm{ dir = 4; @@ -94053,21 +99573,21 @@ }, /turf/open/floor/wood, /area/library/abandoned) -"dQK" = ( +"dWD" = ( /turf/open/floor/wood{ icon_state = "wood-broken7" }, /area/library/abandoned) -"dQL" = ( +"dWE" = ( /obj/effect/decal/cleanable/dirt, /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plating, /area/library/abandoned) -"dQM" = ( +"dWF" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plating, /area/library/abandoned) -"dQN" = ( +"dWG" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, /obj/machinery/atmospherics/components/unary/vent_pump/on, @@ -94076,14 +99596,14 @@ dir = 5 }, /area/library/abandoned) -"dQO" = ( +"dWH" = ( /obj/effect/decal/cleanable/blood/old, /obj/item/organ/tongue/bone{ origin_tech = "biotech=0" }, /turf/open/floor/plating, /area/library/abandoned) -"dQP" = ( +"dWI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -94094,13 +99614,14 @@ heat_capacity = 1e+006 }, /area/maintenance/port/aft) -"dQQ" = ( +"dWJ" = ( /obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral/side{ dir = 4 }, /area/maintenance/port/aft) -"dQR" = ( +"dWK" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -94109,7 +99630,7 @@ dir = 8 }, /area/chapel/office) -"dQS" = ( +"dWL" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/camera{ @@ -94121,7 +99642,7 @@ dir = 5 }, /area/chapel/office) -"dQT" = ( +"dWM" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/camera{ c_tag = "Chapel - Port"; @@ -94133,119 +99654,114 @@ icon_state = "chapel" }, /area/chapel/main) -"dQU" = ( +"dWN" = ( /turf/open/floor/plasteel{ dir = 4; icon_state = "chapel" }, /area/chapel/main) -"dQV" = ( +"dWO" = ( +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel{ dir = 1; icon_state = "chapel" }, /area/chapel/main) -"dQW" = ( +"dWP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel{ dir = 1; icon_state = "chapel" }, /area/chapel/main) -"dQX" = ( +"dWQ" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel{ dir = 1; icon_state = "chapel" }, /area/chapel/main) -"dQY" = ( +"dWR" = ( /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plasteel{ dir = 4; icon_state = "chapel" }, /area/chapel/main) -"dQZ" = ( -/obj/structure/cable/white{ - icon_state = "1-2" +"dWS" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 }, /obj/effect/turf_decal/delivery, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dWT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dRa" = ( -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/sunnybush, -/obj/structure/window/reinforced/fulltile, -/turf/open/floor/grass, +"dWU" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel/neutral, /area/hallway/secondary/exit/departure_lounge) -"dRb" = ( -/obj/machinery/status_display, -/turf/closed/wall, +"dWV" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/neutral, /area/hallway/secondary/exit/departure_lounge) -"dRc" = ( +"dWW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel/neutral, +/area/hallway/secondary/exit/departure_lounge) +"dWX" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/item/device/radio/intercom{ + name = "Station Intercom"; + pixel_x = -26 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"dWY" = ( /obj/structure/flora/ausbushes/grassybush, /obj/structure/flora/ausbushes/lavendergrass, /obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/fernybush, -/obj/structure/window/reinforced/fulltile, +/obj/structure/flora/ausbushes/genericbush, +/obj/structure/window/shuttle, /turf/open/floor/grass, -/area/hallway/secondary/exit/departure_lounge) -"dRd" = ( -/obj/machinery/ai_status_display, -/turf/closed/wall, -/area/hallway/secondary/exit/departure_lounge) -"dRe" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 4; - name = "External Docking Port" +/area/shuttle/escape) +"dWZ" = ( +/obj/machinery/shower{ + dir = 8; + name = "emergency shower" }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ +/turf/open/floor/plasteel/whiteblue/side{ dir = 4 }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dRg" = ( -/obj/machinery/door/airlock/shuttle{ - name = "Emergency Shuttle Airlock"; - req_access_txt = "0" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/white, /area/shuttle/escape) -"dRh" = ( -/obj/structure/sign/bluecross_2, -/turf/closed/wall/mineral/titanium, -/area/shuttle/escape) -"dRi" = ( -/obj/machinery/sleeper{ - dir = 4 - }, -/turf/open/floor/plasteel/cmo, -/area/shuttle/escape) -"dRj" = ( -/turf/open/floor/plasteel/cmo, -/area/shuttle/escape) -"dRk" = ( -/obj/machinery/sleeper{ - dir = 8 - }, -/turf/open/floor/plasteel/cmo, -/area/shuttle/escape) -"dRl" = ( +"dXa" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -94261,7 +99777,7 @@ }, /turf/open/floor/plasteel, /area/medical/virology) -"dRm" = ( +"dXb" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -94269,7 +99785,7 @@ dir = 8 }, /area/medical/virology) -"dRn" = ( +"dXc" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -94280,12 +99796,11 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/green, /area/medical/virology) -"dRo" = ( +"dXd" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -94296,7 +99811,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/virology) -"dRp" = ( +"dXe" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -94305,7 +99820,7 @@ }, /turf/open/floor/plasteel/green, /area/medical/virology) -"dRq" = ( +"dXf" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -94325,7 +99840,7 @@ dir = 4 }, /area/medical/virology) -"dRr" = ( +"dXg" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -94338,7 +99853,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/medical/virology) -"dRs" = ( +"dXh" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_virology{ name = "Virology Lab"; @@ -94367,7 +99882,7 @@ }, /turf/open/floor/plasteel, /area/medical/virology) -"dRt" = ( +"dXi" = ( /obj/structure/cable/white{ icon_state = "4-8" }, @@ -94382,7 +99897,7 @@ dir = 8 }, /area/medical/virology) -"dRu" = ( +"dXj" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -94393,22 +99908,21 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/green, /area/medical/virology) -"dRv" = ( +"dXk" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/whitegreen/corner, /area/medical/virology) -"dRw" = ( +"dXl" = ( /obj/structure/sign/biohazard, /turf/closed/wall, /area/medical/virology) -"dRx" = ( +"dXm" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -94416,7 +99930,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/medical/virology) -"dRy" = ( +"dXn" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_virology{ name = "Virology Containment Cell"; @@ -94436,7 +99950,7 @@ }, /turf/open/floor/plasteel, /area/medical/virology) -"dRz" = ( +"dXo" = ( /obj/structure/cable/white{ icon_state = "0-8" }, @@ -94444,18 +99958,18 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/medical/virology) -"dRA" = ( +"dXp" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, /turf/open/floor/wood, /area/library/abandoned) -"dRB" = ( +"dXq" = ( /obj/structure/chair/office/dark, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/library/abandoned) -"dRC" = ( +"dXr" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -94463,7 +99977,7 @@ icon_state = "wood-broken5" }, /area/library/abandoned) -"dRD" = ( +"dXs" = ( /obj/structure/table/wood, /obj/item/folder, /obj/item/pen, @@ -94472,13 +99986,13 @@ }, /turf/open/floor/wood, /area/library/abandoned) -"dRE" = ( +"dXt" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/wood, /area/library/abandoned) -"dRF" = ( +"dXu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -94486,14 +100000,14 @@ icon_state = "wood-broken4" }, /area/library/abandoned) -"dRG" = ( +"dXv" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/wood, /area/library/abandoned) -"dRH" = ( +"dXw" = ( /obj/effect/decal/cleanable/blood/old, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -94502,7 +100016,7 @@ icon_state = "wood-broken" }, /area/library/abandoned) -"dRI" = ( +"dXx" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/morgue{ name = "Occult Study" @@ -94514,13 +100028,13 @@ dir = 8 }, /area/library/abandoned) -"dRJ" = ( +"dXy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, /turf/open/floor/plasteel/black, /area/library/abandoned) -"dRK" = ( +"dXz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, /obj/effect/decal/remains/human, @@ -94528,14 +100042,14 @@ dir = 5 }, /area/library/abandoned) -"dRL" = ( +"dXA" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port/aft) -"dRM" = ( +"dXB" = ( /obj/structure/table, /obj/item/stack/packageWrap, /obj/item/hand_labeler, @@ -94546,7 +100060,7 @@ dir = 5 }, /area/chapel/office) -"dRN" = ( +"dXC" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -94559,7 +100073,7 @@ dir = 5 }, /area/chapel/office) -"dRO" = ( +"dXD" = ( /obj/machinery/airalarm{ dir = 8; pixel_x = 24 @@ -94574,20 +100088,20 @@ dir = 5 }, /area/chapel/office) -"dRP" = ( +"dXE" = ( /obj/structure/chair/wood, /turf/open/floor/plasteel{ dir = 8; icon_state = "chapel" }, /area/chapel/main) -"dRQ" = ( +"dXF" = ( /obj/structure/chair/wood, /turf/open/floor/plasteel{ icon_state = "chapel" }, /area/chapel/main) -"dRR" = ( +"dXG" = ( /obj/structure/chair/wood, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel{ @@ -94595,7 +100109,7 @@ icon_state = "chapel" }, /area/chapel/main) -"dRS" = ( +"dXH" = ( /obj/structure/chair/wood, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel{ @@ -94603,7 +100117,7 @@ icon_state = "chapel" }, /area/chapel/main) -"dRT" = ( +"dXI" = ( /obj/structure/chair/wood, /obj/machinery/firealarm{ dir = 4; @@ -94618,68 +100132,84 @@ icon_state = "chapel" }, /area/chapel/main) -"dRU" = ( -/obj/machinery/light{ +"dXJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dXK" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, /obj/effect/turf_decal/delivery, /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dRV" = ( -/obj/structure/chair, +"dXL" = ( +/obj/structure/chair{ + dir = 1 + }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dRW" = ( +"dXM" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/light, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dXN" = ( /obj/structure/table, -/obj/item/folder, +/obj/item/paper_bin, /obj/item/pen, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dRX" = ( -/obj/structure/chair, -/obj/effect/landmark/start/assistant, -/obj/machinery/camera{ - c_tag = "Departures - Center"; - dir = 2; - name = "departures camera" - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, +"dXO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/neutral, /area/hallway/secondary/exit/departure_lounge) -"dRY" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/vacuum, -/turf/open/floor/plating, -/area/hallway/secondary/exit/departure_lounge) -"dRZ" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/mineral/titanium, -/area/shuttle/escape) -"dSa" = ( -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dSb" = ( -/obj/machinery/door/airlock/glass_medical{ - id_tag = null; - name = "Escape Shuttle Infirmary"; - req_access_txt = "0" +"dXP" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 +/turf/open/floor/plasteel/neutral/side{ + dir = 8; + heat_capacity = 1e+006 }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, /area/shuttle/escape) -"dSc" = ( +"dXQ" = ( +/obj/structure/extinguisher_cabinet, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/escape) +"dXR" = ( +/obj/structure/bed/roller, +/obj/machinery/iv_drip, +/turf/open/floor/plasteel/whiteblue/side, +/area/shuttle/escape) +"dXS" = ( +/turf/open/floor/plasteel/whiteblue/side, +/area/shuttle/escape) +"dXT" = ( +/obj/structure/bed/roller, +/obj/machinery/iv_drip, +/obj/structure/extinguisher_cabinet{ + pixel_x = 26 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 6 + }, +/area/shuttle/escape) +"dXU" = ( /obj/structure/table/glass, /obj/machinery/airalarm{ dir = 4; @@ -94700,7 +100230,7 @@ }, /turf/open/floor/plasteel, /area/medical/virology) -"dSd" = ( +"dXV" = ( /obj/structure/chair/office/light{ dir = 8 }, @@ -94709,7 +100239,7 @@ dir = 8 }, /area/medical/virology) -"dSe" = ( +"dXW" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -94718,25 +100248,25 @@ dir = 8 }, /area/medical/virology) -"dSf" = ( +"dXX" = ( /turf/open/floor/plasteel/whitegreen/side, /area/medical/virology) -"dSg" = ( +"dXY" = ( /turf/open/floor/plasteel/whitegreen/corner, /area/medical/virology) -"dSh" = ( +"dXZ" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/whitegreen/corner, /area/medical/virology) -"dSi" = ( +"dYa" = ( /obj/structure/closet/l3closet/virology, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/medical/virology) -"dSj" = ( +"dYb" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, @@ -94744,7 +100274,7 @@ dir = 8 }, /area/medical/virology) -"dSk" = ( +"dYc" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -94754,11 +100284,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/neutral, /area/medical/virology) -"dSl" = ( +"dYd" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/whitegreen/corner, /area/medical/virology) -"dSm" = ( +"dYe" = ( /obj/structure/sink{ dir = 8; pixel_x = -12 @@ -94770,13 +100300,13 @@ dir = 1 }, /area/medical/virology) -"dSn" = ( +"dYf" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/whitegreen/corner{ dir = 1 }, /area/medical/virology) -"dSo" = ( +"dYg" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -94784,7 +100314,7 @@ dir = 1 }, /area/medical/virology) -"dSp" = ( +"dYh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, @@ -94792,7 +100322,7 @@ dir = 4 }, /area/medical/virology) -"dSq" = ( +"dYi" = ( /obj/structure/table/glass, /obj/machinery/airalarm{ pixel_y = 22 @@ -94810,13 +100340,13 @@ dir = 4 }, /area/medical/virology) -"dSr" = ( +"dYj" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, /obj/item/device/flashlight/lamp, /turf/open/floor/plating, /area/library/abandoned) -"dSs" = ( +"dYk" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, /obj/item/folder, @@ -94825,14 +100355,14 @@ icon_state = "wood-broken5" }, /area/library/abandoned) -"dSt" = ( +"dYl" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light/small, /turf/open/floor/wood{ icon_state = "wood-broken3" }, /area/library/abandoned) -"dSu" = ( +"dYm" = ( /obj/structure/table/wood, /obj/item/clothing/under/rank/curator, /obj/effect/spawner/lootdrop/maintenance{ @@ -94841,19 +100371,19 @@ }, /turf/open/floor/wood, /area/library/abandoned) -"dSv" = ( +"dYn" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, /obj/item/paper_bin, /obj/item/pen, /turf/open/floor/wood, /area/library/abandoned) -"dSw" = ( +"dYo" = ( /obj/effect/decal/cleanable/dirt, /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/wood, /area/library/abandoned) -"dSx" = ( +"dYp" = ( /obj/structure/easel, /obj/effect/decal/cleanable/dirt, /obj/item/canvas/twentythreeXtwentythree, @@ -94861,34 +100391,43 @@ /obj/machinery/light/small, /turf/open/floor/plating, /area/library/abandoned) -"dSy" = ( +"dYq" = ( /obj/structure/table/wood, /obj/item/storage/crayons, /obj/item/storage/crayons, /turf/open/floor/wood, /area/library/abandoned) -"dSz" = ( +"dYr" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, /obj/item/paper_bin, /turf/open/floor/plating, /area/library/abandoned) -"dSA" = ( +"dYs" = ( /obj/structure/dresser, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/library/abandoned) -"dSB" = ( +"dYt" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/item/device/taperecorder, /turf/open/floor/plasteel/black, /area/library/abandoned) -"dSC" = ( +"dYu" = ( /turf/open/floor/plating, /area/maintenance/port/aft) -"dSE" = ( +"dYv" = ( +/obj/structure/bodycontainer/morgue, +/obj/structure/sign/poster/official/ian{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/chapel/office) +"dYw" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -94897,7 +100436,7 @@ dir = 8 }, /area/chapel/office) -"dSF" = ( +"dYx" = ( /obj/machinery/light_switch{ pixel_x = -26; pixel_y = -26 @@ -94910,7 +100449,7 @@ dir = 5 }, /area/chapel/office) -"dSG" = ( +"dYy" = ( /obj/structure/chair/wood/normal, /obj/machinery/newscaster{ pixel_x = -32 @@ -94920,21 +100459,21 @@ icon_state = "chapel" }, /area/chapel/main) -"dSH" = ( +"dYz" = ( /obj/structure/chair/wood/normal, /turf/open/floor/plasteel{ dir = 4; icon_state = "chapel" }, /area/chapel/main) -"dSI" = ( +"dYA" = ( /obj/structure/chair/wood/normal, /turf/open/floor/plasteel{ dir = 1; icon_state = "chapel" }, /area/chapel/main) -"dSJ" = ( +"dYB" = ( /obj/structure/chair/wood/normal, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel{ @@ -94942,7 +100481,7 @@ icon_state = "chapel" }, /area/chapel/main) -"dSK" = ( +"dYC" = ( /obj/structure/chair/wood/normal, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel{ @@ -94950,13 +100489,691 @@ icon_state = "chapel" }, /area/chapel/main) -"dSL" = ( +"dYD" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/delivery, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dYE" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/sunnybush, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/grass, +/area/hallway/secondary/exit/departure_lounge) +"dYF" = ( +/obj/machinery/status_display, +/turf/closed/wall, +/area/hallway/secondary/exit/departure_lounge) +"dYG" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/fernybush, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/grass, +/area/hallway/secondary/exit/departure_lounge) +"dYH" = ( +/obj/machinery/ai_status_display, +/turf/closed/wall, +/area/hallway/secondary/exit/departure_lounge) +"dYI" = ( +/obj/machinery/door/airlock/external{ + cyclelinkeddir = 4; + name = "External Docking Port" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dYJ" = ( +/obj/machinery/door/airlock/external{ + cyclelinkeddir = 8; + name = "External Docking Port" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dYK" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Emergency Shuttle Airlock"; + req_access_txt = "0" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/shuttle/escape) +"dYL" = ( +/obj/structure/sign/bluecross_2, +/turf/closed/wall/mineral/titanium, +/area/shuttle/escape) +"dYM" = ( +/obj/machinery/sleeper{ + dir = 4 + }, +/turf/open/floor/plasteel/cmo, +/area/shuttle/escape) +"dYN" = ( +/turf/open/floor/plasteel/cmo, +/area/shuttle/escape) +"dYO" = ( +/obj/machinery/sleeper{ + dir = 8 + }, +/turf/open/floor/plasteel/cmo, +/area/shuttle/escape) +"dYP" = ( +/obj/structure/table/glass, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/item/storage/box/beakers{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/box/syringes, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/medical/virology) +"dYQ" = ( +/obj/structure/table/glass, +/obj/structure/sign/deathsposal{ + pixel_y = -32 + }, +/obj/item/paper_bin, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/medical/virology) +"dYR" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/medical/virology) +"dYS" = ( +/obj/item/twohanded/required/kirbyplants/random, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/medical/virology) +"dYT" = ( +/obj/machinery/light, +/obj/machinery/status_display{ + pixel_y = -32 + }, +/obj/item/twohanded/required/kirbyplants/random, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/medical/virology) +"dYU" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/medical/virology) +"dYV" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 24 + }, +/obj/structure/closet/secure_closet/medical1, +/obj/machinery/light_switch{ + pixel_x = 26; + pixel_y = -26 + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = -32 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/medical/virology) +"dYW" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/whitegreen/corner{ + dir = 8 + }, +/area/medical/virology) +"dYX" = ( +/obj/structure/cable/white{ + icon_state = "1-4" + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/green, +/area/medical/virology) +"dYY" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/whitegreen/corner, +/area/medical/virology) +"dYZ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/glass_virology{ + name = "Virology Access"; + req_access_txt = "39" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/medical/virology) +"dZa" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/whitegreen/side{ + dir = 8 + }, +/area/medical/virology) +"dZb" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/green, +/area/medical/virology) +"dZc" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/machinery/holopad, +/obj/effect/landmark/blobstart, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/medical/virology) +"dZd" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/green, +/area/medical/virology) +"dZe" = ( +/obj/structure/table/glass, +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/item/folder/white, +/obj/item/pen/red, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/whitegreen/side{ + dir = 4 + }, +/area/medical/virology) +"dZf" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/neutral/side{ + dir = 8; + heat_capacity = 1e+006 + }, +/area/maintenance/port/aft) +"dZg" = ( +/obj/structure/girder, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"dZh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall, +/area/chapel/office) +"dZi" = ( +/obj/machinery/door/airlock/centcom{ + name = "Crematorium"; + req_access_txt = "27" + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/chapel/office) +"dZj" = ( +/obj/structure/chair/wood, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel{ + dir = 8; + icon_state = "chapel" + }, +/area/chapel/main) +"dZk" = ( +/turf/open/floor/plasteel{ + icon_state = "chapel" + }, +/area/chapel/main) +"dZl" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel{ + dir = 8; + icon_state = "chapel" + }, +/area/chapel/main) +"dZm" = ( +/obj/structure/chair/wood, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/newscaster{ + pixel_x = 32 + }, +/turf/open/floor/plasteel{ + icon_state = "chapel" + }, +/area/chapel/main) +"dZn" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/delivery, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-22" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dZo" = ( +/obj/structure/chair, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dZp" = ( +/obj/structure/table, +/obj/item/folder, +/obj/item/pen, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dZq" = ( +/obj/structure/chair, +/obj/effect/landmark/start/assistant, +/obj/machinery/camera{ + c_tag = "Departures - Center"; + dir = 2; + name = "departures camera" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"dZr" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/vacuum, +/turf/open/floor/plating, +/area/hallway/secondary/exit/departure_lounge) +"dZs" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall/mineral/titanium, +/area/shuttle/escape) +"dZt" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"dZu" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"dZv" = ( +/obj/machinery/door/airlock/glass_medical{ + id_tag = null; + name = "Escape Shuttle Infirmary"; + req_access_txt = "0" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"dZw" = ( +/obj/structure/cable/white, +/obj/structure/cable/white{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/medical/virology) +"dZx" = ( +/obj/structure/cable/white{ + icon_state = "0-8" + }, +/obj/structure/cable/white, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/medical/virology) +"dZy" = ( +/obj/structure/cable/white{ + icon_state = "0-4" + }, +/obj/structure/cable/white, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/medical/virology) +"dZz" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/neutral, +/area/medical/virology) +"dZA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/whitegreen/corner, +/area/medical/virology) +"dZB" = ( +/obj/structure/cable/white, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/medical/virology) +"dZC" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/structure/sink{ + dir = 8; + pixel_x = -12 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/whitegreen/corner{ + dir = 8 + }, +/area/medical/virology) +"dZD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/whitegreen/corner{ + dir = 8 + }, +/area/medical/virology) +"dZE" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/machinery/iv_drip, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/whitegreen/side, +/area/medical/virology) +"dZF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/whitegreen/corner, +/area/medical/virology) +"dZG" = ( +/obj/structure/table/glass, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/newscaster{ + pixel_x = 32 + }, +/obj/item/paper_bin, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Virology - Cells"; + dir = 8; + name = "virology camera" + }, +/turf/open/floor/plasteel/whitegreen/corner, +/area/medical/virology) +"dZH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"dZI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 1; + heat_capacity = 1e+006 + }, +/area/maintenance/port/aft) +"dZJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 1; + heat_capacity = 1e+006 + }, +/area/maintenance/port/aft) +"dZK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/blobstart, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 1; + heat_capacity = 1e+006 + }, +/area/maintenance/port/aft) +"dZL" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"dZM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"dZN" = ( +/turf/closed/wall/r_wall, +/area/chapel/office) +"dZO" = ( +/obj/structure/bodycontainer/crematorium{ + id = "cremawheat" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/chapel/office) +"dZP" = ( +/obj/machinery/light_switch{ + pixel_x = -26; + pixel_y = 26 + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/chapel/office) +"dZQ" = ( +/obj/machinery/power/apc{ + dir = 8; + name = "Chapel APC"; + areastring = "/area/chapel/main"; + pixel_x = -26; + pixel_y = 3 + }, +/obj/structure/cable/white{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel{ + dir = 1; + icon_state = "chapel" + }, +/area/chapel/main) +"dZR" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel{ + dir = 4; + icon_state = "chapel" + }, +/area/chapel/main) +"dZS" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel{ + dir = 1; + icon_state = "chapel" + }, +/area/chapel/main) +"dZT" = ( +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/grimy, +/area/chapel/main) +"dZU" = ( +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel{ + dir = 4; + icon_state = "chapel" + }, +/area/chapel/main) +"dZV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/closet/emcloset, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dSM" = ( +"dZW" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, @@ -94965,13 +101182,13 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dSN" = ( +"dZX" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/exit/departure_lounge) -"dSO" = ( +"dZY" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -94980,19 +101197,19 @@ }, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/exit/departure_lounge) -"dSP" = ( +"dZZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/exit/departure_lounge) -"dSQ" = ( +"eaa" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/exit/departure_lounge) -"dSR" = ( +"eab" = ( /obj/machinery/door/airlock/shuttle{ name = "Emergency Shuttle Airlock" }, @@ -95023,7 +101240,7 @@ }, /turf/open/floor/plasteel/white, /area/shuttle/escape) -"dSS" = ( +"eac" = ( /obj/structure/flora/ausbushes/grassybush, /obj/structure/flora/ausbushes/lavendergrass, /obj/structure/flora/ausbushes/ppflowers, @@ -95031,7 +101248,7 @@ /obj/structure/window/shuttle, /turf/open/floor/grass, /area/shuttle/escape) -"dST" = ( +"ead" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -26 }, @@ -95039,7 +101256,7 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/shuttle/escape) -"dSU" = ( +"eae" = ( /obj/structure/rack, /obj/item/storage/toolbox/electrical{ pixel_x = -3; @@ -95058,283 +101275,236 @@ }, /turf/open/floor/plasteel, /area/shuttle/escape) -"dSV" = ( -/obj/structure/table/glass, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/item/storage/box/beakers{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/box/syringes, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/medical/virology) -"dSW" = ( -/obj/structure/table/glass, -/obj/structure/sign/deathsposal{ +"eaf" = ( +/obj/structure/sign/nanotrasen{ pixel_y = -32 }, -/obj/item/paper_bin, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/medical/virology) -"dSX" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ +/obj/item/twohanded/required/kirbyplants/random, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, -/turf/open/floor/plasteel, -/area/medical/virology) -"dSY" = ( -/obj/item/twohanded/required/kirbyplants/random, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/medical/virology) -"dSZ" = ( -/obj/machinery/light, -/obj/machinery/status_display{ - pixel_y = -32 - }, -/obj/item/twohanded/required/kirbyplants/random, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/medical/virology) -"dTa" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/medical/virology) -"dTb" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/obj/structure/closet/secure_closet/medical1, -/obj/machinery/light_switch{ - pixel_x = 26; - pixel_y = -26 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = -32 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/medical/virology) -"dTc" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whitegreen/corner{ dir = 8 }, /area/medical/virology) -"dTd" = ( -/obj/structure/cable/white{ - icon_state = "1-4" - }, +"eag" = ( /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/green, -/area/medical/virology) -"dTe" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/whitegreen/corner, -/area/medical/virology) -"dTf" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass_virology{ - name = "Virology Access"; - req_access_txt = "39" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/medical/virology) -"dTg" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whitegreen/side{ - dir = 8 - }, -/area/medical/virology) -"dTh" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/green, -/area/medical/virology) -"dTi" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/machinery/holopad, -/obj/effect/landmark/blobstart, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/medical/virology) -"dTj" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +/obj/structure/table, +/obj/item/crowbar, +/obj/item/wrench, +/obj/item/restraints/handcuffs, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/green, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/whitegreen/side, /area/medical/virology) -"dTk" = ( -/obj/structure/table/glass, -/obj/structure/cable/white{ - icon_state = "2-8" +"eah" = ( +/obj/structure/table, +/obj/item/storage/box/masks{ + pixel_x = 3; + pixel_y = 3 }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/item/folder/white, -/obj/item/pen/red, +/obj/item/storage/box/gloves, +/turf/open/floor/plasteel/whitegreen/corner, +/area/medical/virology) +"eai" = ( +/obj/structure/cable/white, +/obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/whitegreen/side{ - dir = 4 - }, +/turf/open/floor/plating, /area/medical/virology) -"dTl" = ( +"eaj" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/glass_virology{ + name = "Virology Containment Cell"; + req_access_txt = "39" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /obj/structure/cable/white{ icon_state = "1-2" }, +/turf/open/floor/plasteel, +/area/medical/virology) +"eak" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) +"eal" = ( +/turf/closed/wall/r_wall, +/area/maintenance/solars/port/aft) +"eam" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/white{ + icon_state = "2-4" + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral/side{ - dir = 8; - heat_capacity = 1e+006 + dir = 8 }, /area/maintenance/port/aft) -"dTm" = ( -/obj/structure/girder, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, +"ean" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, /turf/open/floor/plating, /area/maintenance/port/aft) -"dTn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall, -/area/chapel/office) -"dTo" = ( -/obj/machinery/door/airlock/centcom{ - name = "Crematorium"; - req_access_txt = "27" +"eao" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/neutral/side, +/area/maintenance/port/aft) +"eap" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/white{ + icon_state = "4-8" }, /obj/structure/cable/white{ - icon_state = "1-2" + icon_state = "2-4" + }, +/turf/open/floor/plasteel/blue/side, +/area/maintenance/port/aft) +"eaq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/blue/side, +/area/maintenance/port/aft) +"ear" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"eas" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/blue/side, +/area/maintenance/port/aft) +"eat" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/neutral/side, +/area/maintenance/port/aft) +"eau" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/button/crematorium{ + id = "cremawheat"; + pixel_x = -26; + req_access_txt = "27" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/chapel/office) -"dTp" = ( -/obj/structure/chair/wood, -/obj/machinery/light{ +"eav" = ( +/obj/item/device/radio/intercom{ + name = "Station Intercom"; + pixel_x = 26 + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, -/turf/open/floor/plasteel{ - dir = 8; - icon_state = "chapel" - }, -/area/chapel/main) -"dTq" = ( -/turf/open/floor/plasteel{ - icon_state = "chapel" - }, -/area/chapel/main) -"dTr" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/chapel/office) +"eaw" = ( /turf/open/floor/plasteel{ dir = 8; icon_state = "chapel" }, /area/chapel/main) -"dTs" = ( -/obj/structure/chair/wood, -/obj/machinery/light{ +"eax" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel{ + icon_state = "chapel" + }, +/area/chapel/main) +"eay" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/machinery/newscaster{ - pixel_x = 32 +/turf/open/floor/plasteel{ + dir = 8; + icon_state = "chapel" + }, +/area/chapel/main) +"eaz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 }, /turf/open/floor/plasteel{ icon_state = "chapel" }, /area/chapel/main) -"dTt" = ( +"eaA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/chapel/main) +"eaB" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel{ + dir = 8; + icon_state = "chapel" + }, +/area/chapel/main) +"eaC" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel{ + icon_state = "chapel" + }, +/area/chapel/main) +"eaD" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel{ + dir = 8; + icon_state = "chapel" + }, +/area/chapel/main) +"eaE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/vending/cola/random, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dTu" = ( +"eaF" = ( /obj/effect/landmark/lightsout, /turf/open/floor/plasteel/neutral, /area/hallway/secondary/exit/departure_lounge) -"dTv" = ( +"eaG" = ( /obj/structure/reagent_dispensers/fueltank, /obj/item/device/radio/intercom{ name = "Station Intercom"; @@ -95343,19 +101513,19 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/shuttle/escape) -"dTw" = ( +"eaH" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plasteel, /area/shuttle/escape) -"dTx" = ( +"eaI" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 }, /turf/open/floor/plasteel, /area/shuttle/escape) -"dTy" = ( +"eaJ" = ( /obj/structure/closet/crate/medical{ name = "medical crate" }, @@ -95381,592 +101551,18 @@ }, /turf/open/floor/plasteel, /area/shuttle/escape) -"dTz" = ( -/obj/structure/cable/white, -/obj/structure/cable/white{ - icon_state = "0-4" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/medical/virology) -"dTA" = ( -/obj/structure/cable/white{ - icon_state = "0-8" - }, -/obj/structure/cable/white, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/medical/virology) -"dTB" = ( -/obj/structure/cable/white{ - icon_state = "0-4" - }, -/obj/structure/cable/white, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/medical/virology) -"dTC" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/medical/virology) -"dTD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whitegreen/corner, -/area/medical/virology) -"dTE" = ( -/obj/structure/cable/white, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/medical/virology) -"dTF" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/structure/sink{ - dir = 8; - pixel_x = -12 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 8 - }, -/area/medical/virology) -"dTG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 8 - }, -/area/medical/virology) -"dTH" = ( -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -26 - }, -/obj/machinery/iv_drip, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/whitegreen/side, -/area/medical/virology) -"dTI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/whitegreen/corner, -/area/medical/virology) -"dTJ" = ( -/obj/structure/table/glass, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/newscaster{ - pixel_x = 32 - }, -/obj/item/paper_bin, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Virology - Cells"; - dir = 8; - name = "virology camera" - }, -/turf/open/floor/plasteel/whitegreen/corner, -/area/medical/virology) -"dTK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"dTL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 1; - heat_capacity = 1e+006 - }, -/area/maintenance/port/aft) -"dTM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 1; - heat_capacity = 1e+006 - }, -/area/maintenance/port/aft) -"dTN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/blobstart, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 1; - heat_capacity = 1e+006 - }, -/area/maintenance/port/aft) -"dTO" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"dTP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"dTQ" = ( -/turf/closed/wall/r_wall, -/area/chapel/office) -"dTR" = ( -/obj/structure/bodycontainer/crematorium{ - id = "cremawheat" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/chapel/office) -"dTS" = ( -/obj/machinery/light_switch{ - pixel_x = -26; - pixel_y = 26 - }, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/chapel/office) -"dTT" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Chapel APC"; - areastring = "/area/chapel/main"; - pixel_x = -26; - pixel_y = 3 - }, -/obj/structure/cable/white{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel{ - dir = 1; - icon_state = "chapel" - }, -/area/chapel/main) -"dTU" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel{ - dir = 4; - icon_state = "chapel" - }, -/area/chapel/main) -"dTV" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel{ - dir = 1; - icon_state = "chapel" - }, -/area/chapel/main) -"dTW" = ( -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/grimy, -/area/chapel/main) -"dTX" = ( -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel{ - dir = 4; - icon_state = "chapel" - }, -/area/chapel/main) -"dTY" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/vending/snack/random, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dTZ" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dUa" = ( -/obj/structure/table, -/obj/item/storage/firstaid/regular, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dUb" = ( -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/fernybush, -/obj/structure/window/shuttle, -/turf/open/floor/grass, -/area/shuttle/escape) -"dUc" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dUd" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dUe" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dUf" = ( -/obj/structure/closet/crate{ - name = "emergency supplies crate" - }, -/obj/item/storage/toolbox/emergency, -/obj/item/storage/toolbox/emergency, -/obj/item/device/flashlight/flare{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/device/flashlight/flare{ - pixel_x = -6; - pixel_y = -2 - }, -/obj/item/crowbar, -/obj/item/wrench, -/obj/item/device/radio, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dUg" = ( -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/obj/item/twohanded/required/kirbyplants/random, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/whitegreen/corner{ - dir = 8 - }, -/area/medical/virology) -"dUh" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/structure/table, -/obj/item/crowbar, -/obj/item/wrench, -/obj/item/restraints/handcuffs, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/whitegreen/side, -/area/medical/virology) -"dUi" = ( -/obj/structure/table, -/obj/item/storage/box/masks{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/box/gloves, -/turf/open/floor/plasteel/whitegreen/corner, -/area/medical/virology) -"dUj" = ( -/obj/structure/cable/white, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/medical/virology) -"dUk" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass_virology{ - name = "Virology Containment Cell"; - req_access_txt = "39" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/medical/virology) -"dUl" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/maintenance/solars/port/aft) -"dUm" = ( -/turf/closed/wall/r_wall, -/area/maintenance/solars/port/aft) -"dUn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/white{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral/side{ - dir = 8 - }, -/area/maintenance/port/aft) -"dUo" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"dUp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral/side, -/area/maintenance/port/aft) -"dUq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/blue/side, -/area/maintenance/port/aft) -"dUr" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/blue/side, -/area/maintenance/port/aft) -"dUs" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"dUt" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/blue/side, -/area/maintenance/port/aft) -"dUu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/neutral/side, -/area/maintenance/port/aft) -"dUv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/machinery/button/crematorium{ - id = "cremawheat"; - pixel_x = -26; - req_access_txt = "27" - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/chapel/office) -"dUw" = ( -/obj/item/device/radio/intercom{ - name = "Station Intercom"; - pixel_x = 26 - }, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/chapel/office) -"dUx" = ( -/turf/open/floor/plasteel{ - dir = 8; - icon_state = "chapel" - }, -/area/chapel/main) -"dUy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel{ - icon_state = "chapel" - }, -/area/chapel/main) -"dUz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel{ - dir = 8; - icon_state = "chapel" - }, -/area/chapel/main) -"dUA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel{ - icon_state = "chapel" - }, -/area/chapel/main) -"dUB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/grimy, -/area/chapel/main) -"dUC" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel{ - dir = 8; - icon_state = "chapel" - }, -/area/chapel/main) -"dUD" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel{ - dir = 8; - icon_state = "chapel" - }, -/area/chapel/main) -"dUE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dUF" = ( -/obj/machinery/holopad, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dUG" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dUH" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: EXTERNAL AIRLOCK" - }, -/turf/open/floor/plating, -/area/hallway/secondary/exit/departure_lounge) -"dUI" = ( -/obj/machinery/vending/wallmed{ - name = "Emergency NanoMed"; - req_access_txt = "0"; - use_power = 0 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/shuttle/escape) -"dUJ" = ( -/obj/machinery/door/airlock/shuttle{ - name = "Emergency Shuttle Cargo" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dUK" = ( +"eaK" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/medical/virology) -"dUL" = ( +"eaL" = ( /obj/structure/sign/vacuum, /turf/closed/wall/r_wall, /area/medical/virology) -"dUM" = ( +"eaM" = ( /obj/structure/bed, /obj/item/bedsheet/medical, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -95974,7 +101570,7 @@ dir = 9 }, /area/medical/virology) -"dUN" = ( +"eaN" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, @@ -95985,11 +101581,11 @@ dir = 5 }, /area/medical/virology) -"dUO" = ( +"eaO" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall, /area/medical/virology) -"dUP" = ( +"eaP" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, @@ -96000,7 +101596,7 @@ dir = 9 }, /area/medical/virology) -"dUQ" = ( +"eaQ" = ( /obj/structure/bed, /obj/item/bedsheet/medical, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -96008,7 +101604,7 @@ dir = 5 }, /area/medical/virology) -"dUR" = ( +"eaR" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_y = 26 @@ -96018,7 +101614,7 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/aft) -"dUS" = ( +"eaS" = ( /obj/machinery/power/smes, /obj/structure/cable/white{ icon_state = "0-4" @@ -96031,7 +101627,7 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/aft) -"dUT" = ( +"eaT" = ( /obj/structure/cable/white{ icon_state = "2-8" }, @@ -96044,7 +101640,7 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/aft) -"dUU" = ( +"eaU" = ( /obj/structure/sign/directions/engineering{ desc = "A sign that shows there are doors here. There are doors everywhere!"; icon_state = "doors"; @@ -96052,7 +101648,7 @@ }, /turf/closed/wall/r_wall, /area/maintenance/solars/port/aft) -"dUV" = ( +"eaV" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ icon_state = "1-2" @@ -96062,17 +101658,17 @@ dir = 8 }, /area/maintenance/port/aft) -"dUW" = ( +"eaW" = ( /obj/structure/sign/electricshock, /turf/closed/wall/r_wall, /area/maintenance/port/aft) -"dUX" = ( +"eaX" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/white, /obj/structure/barricade/wooden, /turf/open/floor/plating, /area/maintenance/port/aft) -"dUY" = ( +"eaY" = ( /obj/machinery/door/poddoor/shutters{ id = "evashutters2"; name = "E.V.A. Storage Shutters" @@ -96087,7 +101683,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dUZ" = ( +"eaZ" = ( /obj/machinery/button/door{ id = "evashutters2"; name = "E.V.A. Shutters"; @@ -96107,7 +101703,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dVa" = ( +"eba" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/door/airlock/command{ @@ -96127,7 +101723,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dVb" = ( +"ebb" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/command{ name = "Auxiliary E.V.A. Storage"; @@ -96143,11 +101739,11 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dVc" = ( +"ebc" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall/r_wall, /area/maintenance/port/aft) -"dVd" = ( +"ebd" = ( /obj/structure/bodycontainer/morgue, /obj/machinery/airalarm{ dir = 4; @@ -96157,7 +101753,7 @@ dir = 8 }, /area/chapel/office) -"dVe" = ( +"ebe" = ( /obj/machinery/light{ dir = 4 }, @@ -96174,56 +101770,103 @@ dir = 8 }, /area/chapel/office) -"dVf" = ( +"ebf" = ( +/turf/open/floor/plasteel{ + dir = 1; + icon_state = "chapel" + }, +/area/chapel/main) +"ebg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel{ dir = 4; icon_state = "chapel" }, /area/chapel/main) -"dVg" = ( +"ebh" = ( /obj/structure/table/wood/fancy, /turf/open/floor/plasteel/grimy, /area/chapel/main) -"dVh" = ( +"ebi" = ( /obj/structure/table/wood/fancy, /obj/item/storage/book/bible, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/grimy, /area/chapel/main) -"dVi" = ( +"ebj" = ( /obj/structure/table/wood/fancy, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/chapel/main) -"dVj" = ( +"ebk" = ( +/obj/machinery/light{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/camera{ - c_tag = "Departures - Port"; - dir = 4; - name = "departures camera" - }, +/obj/machinery/vending/snack/random, /obj/effect/turf_decal/delivery, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dVk" = ( -/obj/structure/chair, -/obj/machinery/light{ +"ebl" = ( +/obj/structure/chair{ dir = 1 }, +/obj/effect/landmark/start/assistant, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dVl" = ( +"ebm" = ( /obj/structure/table, -/obj/item/storage/pill_bottle/dice, +/obj/item/storage/firstaid/regular, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dVm" = ( +"ebn" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/fernybush, +/obj/structure/window/shuttle, +/turf/open/floor/grass, +/area/shuttle/escape) +"ebo" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"ebp" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"ebq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"ebr" = ( +/obj/structure/closet/crate{ + name = "emergency supplies crate" + }, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, +/obj/item/device/flashlight/flare{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/device/flashlight/flare{ + pixel_x = -6; + pixel_y = -2 + }, +/obj/item/crowbar, +/obj/item/wrench, +/obj/item/device/radio, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"ebs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, @@ -96232,27 +101875,25 @@ }, /turf/open/floor/plating/airless, /area/medical/virology) -"dVn" = ( +"ebt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating/airless, /area/medical/virology) -"dVo" = ( +"ebu" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plating/airless, /area/medical/virology) -"dVp" = ( +"ebv" = ( /obj/machinery/iv_drip, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 @@ -96261,7 +101902,7 @@ dir = 10 }, /area/medical/virology) -"dVq" = ( +"ebw" = ( /obj/machinery/light/small{ dir = 4 }, @@ -96274,11 +101915,11 @@ dir = 6 }, /area/medical/virology) -"dVr" = ( +"ebx" = ( /obj/machinery/status_display, /turf/closed/wall, /area/medical/virology) -"dVs" = ( +"eby" = ( /obj/machinery/light/small{ dir = 8 }, @@ -96290,7 +101931,7 @@ dir = 10 }, /area/medical/virology) -"dVt" = ( +"ebz" = ( /obj/machinery/iv_drip, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 @@ -96299,25 +101940,25 @@ dir = 6 }, /area/medical/virology) -"dVu" = ( +"ebA" = ( /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/port/aft) -"dVv" = ( +"ebB" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ icon_state = "0-4" }, /turf/open/space, /area/solar/port/aft) -"dVw" = ( +"ebC" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ icon_state = "4-8" }, /turf/open/space, /area/solar/port/aft) -"dVx" = ( +"ebD" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -96334,7 +101975,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/solars/port/aft) -"dVy" = ( +"ebE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ icon_state = "4-8" @@ -96342,7 +101983,24 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/solars/port/aft) -"dVz" = ( +"ebF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/external{ + cyclelinkeddir = 8; + name = "External Solar Access"; + req_access_txt = "10; 13" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/maintenance/solars/port/aft) +"ebG" = ( /obj/structure/cable{ icon_state = "2-8" }, @@ -96354,7 +102012,7 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/aft) -"dVA" = ( +"ebH" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/power/terminal{ dir = 1 @@ -96365,7 +102023,7 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/maintenance/solars/port/aft) -"dVB" = ( +"ebI" = ( /obj/structure/cable/white{ icon_state = "1-4" }, @@ -96381,7 +102039,7 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/aft) -"dVC" = ( +"ebJ" = ( /obj/machinery/door/airlock/engineering{ name = "Port Quarter Solar Access"; req_access_txt = "10" @@ -96400,7 +102058,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/solars/port/aft) -"dVD" = ( +"ebK" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -96409,34 +102067,34 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"dVE" = ( +"ebL" = ( /obj/structure/table/reinforced, /obj/item/stack/packageWrap, /obj/item/hand_labeler, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/maintenance/port/aft) -"dVF" = ( +"ebM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dVG" = ( +"ebN" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dVH" = ( +"ebO" = ( /obj/machinery/light{ dir = 1 }, /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/plating, /area/maintenance/port/aft) -"dVI" = ( +"ebP" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -96446,7 +102104,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dVJ" = ( +"ebQ" = ( /obj/structure/table/reinforced, /obj/item/clipboard, /obj/item/folder/yellow, @@ -96455,13 +102113,13 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"dVK" = ( +"ebR" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/maintenance/port/aft) -"dVL" = ( +"ebS" = ( /obj/structure/table, /obj/item/storage/box/gloves{ pixel_x = 3; @@ -96472,7 +102130,7 @@ dir = 5 }, /area/chapel/office) -"dVM" = ( +"ebT" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -96483,7 +102141,7 @@ dir = 5 }, /area/chapel/office) -"dVN" = ( +"ebU" = ( /obj/machinery/light{ dir = 8 }, @@ -96495,7 +102153,7 @@ icon_state = "chapel" }, /area/chapel/main) -"dVO" = ( +"ebV" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, @@ -96503,17 +102161,17 @@ icon_state = "chapel" }, /area/chapel/main) -"dVP" = ( +"ebW" = ( /obj/structure/table/wood/fancy, /obj/item/device/flashlight/lantern, /turf/open/floor/plasteel/grimy, /area/chapel/main) -"dVQ" = ( +"ebX" = ( /obj/effect/landmark/start/chaplain, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/grimy, /area/chapel/main) -"dVR" = ( +"ebY" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel{ @@ -96521,7 +102179,7 @@ icon_state = "chapel" }, /area/chapel/main) -"dVS" = ( +"ebZ" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/light{ dir = 4 @@ -96533,84 +102191,51 @@ icon_state = "chapel" }, /area/chapel/main) -"dVT" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, +"eca" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/closet/firecloset, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dVU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dVV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/exit/departure_lounge) -"dVW" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/exit/departure_lounge) -"dVX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/exit/departure_lounge) -"dVY" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/exit/departure_lounge) -"dVZ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/exit/departure_lounge) -"dWa" = ( -/obj/structure/rack, -/obj/item/clothing/suit/fire/firefighter, -/obj/item/tank/internals/oxygen/red, -/obj/item/clothing/mask/gas, -/obj/item/clothing/head/hardhat/red, +"ecb" = ( +/obj/machinery/holopad, /obj/effect/turf_decal/bot, -/obj/machinery/light{ +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"ecc" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/directions/engineering{ + desc = "A sign that shows there are doors here. There are doors everywhere!"; + icon_state = "doors"; + name = "WARNING: EXTERNAL AIRLOCK" + }, +/turf/open/floor/plating, +/area/hallway/secondary/exit/departure_lounge) +"ecd" = ( +/obj/machinery/vending/wallmed{ + name = "Emergency NanoMed"; + req_access_txt = "0"; + use_power = 0 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/escape) +"ece" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Emergency Shuttle Cargo" + }, +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dWb" = ( /obj/effect/turf_decal/stripes/line{ - dir = 10 + dir = 4 }, /turf/open/floor/plasteel, /area/shuttle/escape) -"dWc" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, +"ecf" = ( +/obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/shuttle/escape) -"dWd" = ( +"ecg" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ icon_state = "inje_map"; dir = 1 @@ -96618,7 +102243,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/medical/virology) -"dWe" = ( +"ech" = ( /obj/structure/disposalpipe/trunk{ dir = 1 }, @@ -96626,7 +102251,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/medical/virology) -"dWf" = ( +"eci" = ( /obj/structure/table/glass, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/syringe/antiviral, @@ -96634,7 +102259,7 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/medical/virology) -"dWg" = ( +"ecj" = ( /obj/structure/table/glass, /obj/item/folder/white, /obj/item/pen/red, @@ -96644,8 +102269,9 @@ }, /turf/open/floor/plasteel, /area/medical/virology) -"dWh" = ( +"eck" = ( /obj/machinery/power/solar_control{ + dir = 4; id = "aftport"; name = "Port Quarter Solar Control"; track = 0 @@ -96656,7 +102282,7 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/aft) -"dWi" = ( +"ecl" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -96667,7 +102293,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/maintenance/solars/port/aft) -"dWj" = ( +"ecm" = ( /obj/structure/cable/white, /obj/machinery/power/apc/highcap/ten_k{ dir = 2; @@ -96680,11 +102306,11 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/aft) -"dWk" = ( +"ecn" = ( /obj/structure/sign/electricshock, /turf/closed/wall/r_wall, /area/maintenance/solars/port/aft) -"dWl" = ( +"eco" = ( /obj/structure/table/reinforced, /obj/machinery/airalarm{ dir = 4; @@ -96698,17 +102324,17 @@ dir = 5 }, /area/maintenance/port/aft) -"dWm" = ( +"ecp" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dWn" = ( +"ecq" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dWo" = ( +"ecr" = ( /obj/structure/cable/white{ icon_state = "2-4" }, @@ -96719,7 +102345,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dWp" = ( +"ecs" = ( /obj/structure/cable/white{ icon_state = "1-8" }, @@ -96730,14 +102356,14 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dWq" = ( +"ect" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dWr" = ( +"ecu" = ( /obj/structure/table/reinforced, /obj/machinery/newscaster{ pixel_x = 32 @@ -96755,7 +102381,13 @@ dir = 5 }, /area/maintenance/port/aft) -"dWs" = ( +"ecv" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/neutral/side{ + dir = 4 + }, +/area/maintenance/port/aft) +"ecw" = ( /obj/structure/bodycontainer/morgue, /obj/machinery/firealarm{ dir = 1; @@ -96765,7 +102397,7 @@ dir = 8 }, /area/chapel/office) -"dWt" = ( +"ecx" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -96773,21 +102405,21 @@ dir = 8 }, /area/chapel/office) -"dWu" = ( +"ecy" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/chapel/main) -"dWv" = ( +"ecz" = ( /turf/open/floor/plasteel/black, /area/chapel/main) -"dWw" = ( +"ecA" = ( /obj/machinery/ai_status_display{ pixel_y = -32 }, /turf/open/floor/plasteel/grimy, /area/chapel/main) -"dWx" = ( +"ecB" = ( /obj/structure/noticeboard{ desc = "A board for remembering the fallen of the station."; dir = 1; @@ -96806,21 +102438,533 @@ }, /turf/open/floor/plasteel/grimy, /area/chapel/main) -"dWy" = ( +"ecC" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/chapel/main) -"dWz" = ( +"ecD" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/black, /area/chapel/main) -"dWA" = ( +"ecE" = ( +/obj/item/twohanded/required/kirbyplants/random, +/obj/machinery/light_switch{ + pixel_x = 24; + pixel_y = -24 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/chapel/main) +"ecF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/camera{ + c_tag = "Departures - Port"; + dir = 4; + name = "departures camera" + }, +/obj/effect/turf_decal/delivery, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"ecG" = ( +/obj/structure/chair, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"ecH" = ( +/obj/structure/table, +/obj/item/storage/pill_bottle/dice, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"ecI" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable/white, +/turf/open/floor/plating, +/area/medical/virology) +"ecJ" = ( +/obj/machinery/shieldwallgen, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"ecK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/maintenance/port/aft) +"ecL" = ( +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/maintenance/port/aft) +"ecM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/maintenance/port/aft) +"ecN" = ( +/obj/structure/rack, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/tank/internals/oxygen, +/obj/item/device/radio, +/obj/item/clothing/mask/breath, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/maintenance/port/aft) +"ecO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/maintenance/port/aft) +"ecP" = ( +/obj/machinery/shieldwallgen, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/maintenance/port/aft) +"ecQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/maintenance/port/aft) +"ecR" = ( +/obj/machinery/door/morgue{ + name = "Relic Closet"; + req_access_txt = "27" + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/chapel/office) +"ecS" = ( +/obj/machinery/door/morgue{ + name = "Confession Booth"; + req_access_txt = "0" + }, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/chapel/main) +"ecT" = ( +/obj/machinery/status_display, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall, +/area/chapel/main) +"ecU" = ( +/obj/machinery/door/airlock/centcom{ + name = "Chapel Office"; + req_access_txt = "27" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/chapel/main) +"ecV" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"ecW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"ecX" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/neutral, +/area/hallway/secondary/exit/departure_lounge) +"ecY" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/neutral, +/area/hallway/secondary/exit/departure_lounge) +"ecZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral, +/area/hallway/secondary/exit/departure_lounge) +"eda" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/neutral, +/area/hallway/secondary/exit/departure_lounge) +"edb" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/neutral, +/area/hallway/secondary/exit/departure_lounge) +"edc" = ( +/obj/structure/rack, +/obj/item/clothing/suit/fire/firefighter, +/obj/item/tank/internals/oxygen/red, +/obj/item/clothing/mask/gas, +/obj/item/clothing/head/hardhat/red, +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"edd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"ede" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"edf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/maintenance/port/aft) +"edg" = ( +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/tank/internals/emergency_oxygen/double{ + pixel_x = 3 + }, +/obj/item/tank/internals/emergency_oxygen/double{ + pixel_x = 3 + }, +/obj/item/tank/internals/emergency_oxygen/double{ + pixel_x = 3 + }, +/obj/item/tank/internals/emergency_oxygen/double{ + pixel_x = 3 + }, +/obj/item/tank/internals/emergency_oxygen/double{ + pixel_x = 3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 9 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 9 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 9 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 9 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 9 + }, +/obj/structure/closet/crate/internals, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/maintenance/port/aft) +"edh" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/maintenance/port/aft) +"edi" = ( +/obj/structure/rack, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/tank/internals/oxygen, +/obj/item/device/radio, +/obj/item/clothing/mask/breath, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"edj" = ( +/obj/effect/decal/cleanable/blood/splatter, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/maintenance/port/aft) +"edk" = ( +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/tank/internals/emergency_oxygen/double{ + pixel_x = 3 + }, +/obj/item/tank/internals/emergency_oxygen/double{ + pixel_x = 3 + }, +/obj/item/tank/internals/emergency_oxygen/double{ + pixel_x = 3 + }, +/obj/item/tank/internals/emergency_oxygen/double{ + pixel_x = 3 + }, +/obj/item/tank/internals/emergency_oxygen/double{ + pixel_x = 3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/mask/breath{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 9 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 9 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 9 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 9 + }, +/obj/item/clothing/head/hardhat/orange{ + name = "protective hat"; + pixel_y = 9 + }, +/obj/structure/closet/crate/internals, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"edl" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"edm" = ( +/obj/structure/table/wood/fancy, +/obj/item/spellbook/oneuse/smoke/lesser, +/obj/item/nullrod, +/obj/item/organ/heart, +/obj/item/reagent_containers/food/drinks/bottle/holywater, +/turf/open/floor/plasteel/grimy, +/area/chapel/office) +"edn" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/grimy, +/area/chapel/office) +"edo" = ( +/obj/structure/chair/wood/normal{ + dir = 4 + }, +/obj/machinery/light/small, +/obj/machinery/newscaster{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/chapel/main) +"edp" = ( +/obj/structure/chair/wood/normal{ + dir = 8 + }, +/obj/machinery/light/small, +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/chapel/office) +"edq" = ( +/obj/machinery/door/morgue{ + name = "Confession Booth"; + req_access_txt = "27" + }, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/chapel/office) +"edr" = ( +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/chapel/office) +"eds" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/black, +/area/chapel/office) +"edt" = ( +/obj/machinery/airalarm{ + pixel_y = 22 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/chapel/office) +"edu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/black, +/area/chapel/office) +"edv" = ( +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/obj/machinery/light_switch{ + pixel_x = 26; + pixel_y = 26 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/chapel/office) +"edw" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Chapel Maintenance"; + req_access_txt = "27" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/chapel/office) +"edx" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, @@ -96829,14 +102973,14 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dWB" = ( +"edy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dWC" = ( +"edz" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -96847,14 +102991,14 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dWD" = ( +"edA" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dWE" = ( +"edB" = ( /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -96870,7 +103014,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dWF" = ( +"edC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -96878,7 +103022,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dWG" = ( +"edD" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, @@ -96887,10 +103031,10 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dWH" = ( +"edE" = ( /turf/open/floor/plasteel/neutral/side, /area/shuttle/escape) -"dWI" = ( +"edF" = ( /obj/machinery/flasher{ id = "shuttleflash"; pixel_y = -26 @@ -96898,7 +103042,7 @@ /obj/machinery/light, /turf/open/floor/plasteel/neutral/side, /area/shuttle/escape) -"dWJ" = ( +"edG" = ( /obj/structure/table, /obj/item/clipboard, /obj/item/folder/yellow, @@ -96907,121 +103051,140 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/shuttle/escape) -"dWK" = ( +"edH" = ( /obj/machinery/recharge_station, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/shuttle/escape) -"dWL" = ( +"edI" = ( /obj/structure/table, /obj/machinery/cell_charger, /obj/item/stock_parts/cell/high, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/shuttle/escape) -"dWM" = ( -/obj/effect/spawner/structure/window/reinforced, +"edJ" = ( +/obj/structure/table/reinforced, +/obj/item/stack/sheet/metal{ + amount = 30 + }, +/obj/item/stack/sheet/glass/fifty, +/obj/item/crowbar/red, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/maintenance/port/aft) +"edK" = ( +/obj/structure/cable/white{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/maintenance/port/aft) +"edL" = ( +/obj/structure/cable/white{ + icon_state = "2-4" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/maintenance/port/aft) +"edM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/maintenance/port/aft) +"edN" = ( /obj/structure/cable/white, -/turf/open/floor/plating, -/area/medical/virology) -"dWN" = ( -/obj/machinery/shieldwallgen, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"dWO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/maintenance/port/aft) -"dWP" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/maintenance/port/aft) -"dWQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/maintenance/port/aft) -"dWR" = ( -/obj/structure/rack, /obj/structure/cable/white{ - icon_state = "1-2" + icon_state = "1-8" }, -/obj/effect/decal/cleanable/dirt, -/obj/item/tank/internals/oxygen, -/obj/item/device/radio, -/obj/item/clothing/mask/breath, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/maintenance/port/aft) -"dWS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/maintenance/port/aft) -"dWT" = ( -/obj/machinery/shieldwallgen, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/maintenance/port/aft) -"dWU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 3; - name = "3maintenance loot spawner" +/obj/structure/cable/white{ + icon_state = "1-4" }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dWV" = ( -/obj/machinery/door/morgue{ - name = "Relic Closet"; - req_access_txt = "27" +"edO" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/maintenance/port/aft) +"edP" = ( +/obj/structure/cable/white{ + icon_state = "2-8" }, /obj/structure/cable/white{ - icon_state = "1-2" + icon_state = "4-8" }, -/turf/open/floor/plasteel/vault{ - dir = 8 +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, +/turf/open/floor/plasteel, +/area/maintenance/port/aft) +"edQ" = ( +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"edR" = ( +/obj/structure/table/reinforced, +/obj/structure/extinguisher_cabinet{ + pixel_x = 26 + }, +/obj/item/storage/toolbox/mechanical, +/obj/item/device/flashlight, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"edS" = ( +/obj/item/device/radio/intercom{ + name = "Station Intercom"; + pixel_x = -26 + }, +/turf/open/floor/plasteel/black, /area/chapel/office) -"dWW" = ( -/obj/machinery/door/morgue{ - name = "Confession Booth"; - req_access_txt = "0" - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/chapel/main) -"dWX" = ( -/obj/machinery/status_display, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/chapel/main) -"dWY" = ( -/obj/machinery/door/airlock/centcom{ - name = "Chapel Office"; - req_access_txt = "27" - }, +"edT" = ( +/obj/machinery/holopad, +/turf/open/floor/plasteel/grimy, +/area/chapel/office) +"edU" = ( +/obj/structure/chair/office/dark, +/turf/open/floor/plasteel/grimy, +/area/chapel/office) +"edV" = ( +/obj/structure/chair/office/dark, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/vault{ - dir = 8 +/turf/open/floor/plasteel/grimy, +/area/chapel/office) +"edW" = ( +/obj/item/twohanded/required/kirbyplants/random, +/obj/structure/sign/nosmoking_2{ + pixel_x = 32 }, -/area/chapel/main) -"dWZ" = ( +/turf/open/floor/plasteel/grimy, +/area/chapel/office) +"edX" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; req_access_txt = "12" @@ -97034,7 +103197,14 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dXa" = ( +"edY" = ( +/turf/closed/wall, +/area/security/checkpoint/escape) +"edZ" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall, +/area/security/checkpoint/escape) +"eea" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "1-2" @@ -97051,15 +103221,15 @@ dir = 1 }, /turf/open/floor/plasteel, -/area/security/checkpoint/checkpoint2) -"dXb" = ( +/area/security/checkpoint/escape) +"eeb" = ( /obj/structure/cable/white{ icon_state = "0-4" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) -"dXc" = ( +/area/security/checkpoint/escape) +"eec" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "2-4" @@ -97074,20 +103244,20 @@ dir = 1 }, /turf/open/floor/plasteel, -/area/security/checkpoint/checkpoint2) -"dXd" = ( +/area/security/checkpoint/escape) +"eed" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) -"dXe" = ( +/area/security/checkpoint/escape) +"eee" = ( /obj/machinery/status_display, /turf/closed/wall, -/area/security/checkpoint/checkpoint2) -"dXf" = ( +/area/security/checkpoint/escape) +"eef" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -97097,8 +103267,8 @@ /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) -"dXg" = ( +/area/security/checkpoint/escape) +"eeg" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "2-8" @@ -97117,8 +103287,8 @@ dir = 1 }, /turf/open/floor/plasteel, -/area/security/checkpoint/checkpoint2) -"dXh" = ( +/area/security/checkpoint/escape) +"eeh" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -97128,8 +103298,8 @@ /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) -"dXi" = ( +/area/security/checkpoint/escape) +"eei" = ( /obj/structure/cable/white{ icon_state = "0-4" }, @@ -97138,27 +103308,27 @@ }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) -"dXj" = ( +/area/security/checkpoint/escape) +"eej" = ( /obj/structure/cable/white{ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/vacuum, /turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) -"dXk" = ( +/area/security/checkpoint/escape) +"eek" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) -"dXl" = ( +/area/security/checkpoint/escape) +"eel" = ( /obj/machinery/door/airlock/glass_security{ name = "Holding Area"; req_access_txt = "2" }, /turf/open/floor/mineral/plastitanium/brig, /area/shuttle/escape) -"dXm" = ( +"eem" = ( /obj/machinery/door/airlock/glass_command{ name = "Cockpit"; req_access_txt = "19" @@ -97171,812 +103341,7 @@ }, /turf/open/floor/plasteel, /area/shuttle/escape) -"dXn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/maintenance/port/aft) -"dXo" = ( -/obj/item/clothing/suit/hazardvest{ - desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; - name = "emergency lifejacket" - }, -/obj/item/clothing/suit/hazardvest{ - desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; - name = "emergency lifejacket" - }, -/obj/item/clothing/suit/hazardvest{ - desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; - name = "emergency lifejacket" - }, -/obj/item/clothing/suit/hazardvest{ - desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; - name = "emergency lifejacket" - }, -/obj/item/clothing/suit/hazardvest{ - desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; - name = "emergency lifejacket" - }, -/obj/item/tank/internals/emergency_oxygen/double{ - pixel_x = 3 - }, -/obj/item/tank/internals/emergency_oxygen/double{ - pixel_x = 3 - }, -/obj/item/tank/internals/emergency_oxygen/double{ - pixel_x = 3 - }, -/obj/item/tank/internals/emergency_oxygen/double{ - pixel_x = 3 - }, -/obj/item/tank/internals/emergency_oxygen/double{ - pixel_x = 3 - }, -/obj/item/clothing/mask/breath{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/clothing/mask/breath{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/clothing/mask/breath{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/clothing/mask/breath{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/clothing/mask/breath{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/clothing/head/hardhat/orange{ - name = "protective hat"; - pixel_y = 9 - }, -/obj/item/clothing/head/hardhat/orange{ - name = "protective hat"; - pixel_y = 9 - }, -/obj/item/clothing/head/hardhat/orange{ - name = "protective hat"; - pixel_y = 9 - }, -/obj/item/clothing/head/hardhat/orange{ - name = "protective hat"; - pixel_y = 9 - }, -/obj/item/clothing/head/hardhat/orange{ - name = "protective hat"; - pixel_y = 9 - }, -/obj/structure/closet/crate/internals, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/maintenance/port/aft) -"dXp" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/maintenance/port/aft) -"dXq" = ( -/obj/structure/rack, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/tank/internals/oxygen, -/obj/item/device/radio, -/obj/item/clothing/mask/breath, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"dXr" = ( -/obj/effect/decal/cleanable/blood/splatter, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/maintenance/port/aft) -"dXs" = ( -/obj/item/clothing/suit/hazardvest{ - desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; - name = "emergency lifejacket" - }, -/obj/item/clothing/suit/hazardvest{ - desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; - name = "emergency lifejacket" - }, -/obj/item/clothing/suit/hazardvest{ - desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; - name = "emergency lifejacket" - }, -/obj/item/clothing/suit/hazardvest{ - desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; - name = "emergency lifejacket" - }, -/obj/item/clothing/suit/hazardvest{ - desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; - name = "emergency lifejacket" - }, -/obj/item/tank/internals/emergency_oxygen/double{ - pixel_x = 3 - }, -/obj/item/tank/internals/emergency_oxygen/double{ - pixel_x = 3 - }, -/obj/item/tank/internals/emergency_oxygen/double{ - pixel_x = 3 - }, -/obj/item/tank/internals/emergency_oxygen/double{ - pixel_x = 3 - }, -/obj/item/tank/internals/emergency_oxygen/double{ - pixel_x = 3 - }, -/obj/item/clothing/mask/breath{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/clothing/mask/breath{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/clothing/mask/breath{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/clothing/mask/breath{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/clothing/mask/breath{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/clothing/head/hardhat/orange{ - name = "protective hat"; - pixel_y = 9 - }, -/obj/item/clothing/head/hardhat/orange{ - name = "protective hat"; - pixel_y = 9 - }, -/obj/item/clothing/head/hardhat/orange{ - name = "protective hat"; - pixel_y = 9 - }, -/obj/item/clothing/head/hardhat/orange{ - name = "protective hat"; - pixel_y = 9 - }, -/obj/item/clothing/head/hardhat/orange{ - name = "protective hat"; - pixel_y = 9 - }, -/obj/structure/closet/crate/internals, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"dXt" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"dXu" = ( -/obj/structure/table/wood/fancy, -/obj/item/spellbook/oneuse/smoke/lesser, -/obj/item/nullrod, -/obj/item/organ/heart, -/obj/item/reagent_containers/food/drinks/bottle/holywater, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"dXv" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"dXw" = ( -/obj/structure/chair/wood/normal{ - dir = 4 - }, -/obj/machinery/light/small, -/obj/machinery/newscaster{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/chapel/main) -"dXx" = ( -/obj/structure/chair/wood/normal{ - dir = 8 - }, -/obj/machinery/light/small, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/chapel/office) -"dXy" = ( -/obj/machinery/door/morgue{ - name = "Confession Booth"; - req_access_txt = "27" - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/chapel/office) -"dXz" = ( -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/chapel/office) -"dXA" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/black, -/area/chapel/office) -"dXB" = ( -/obj/machinery/airalarm{ - pixel_y = 22 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/chapel/office) -"dXC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/black, -/area/chapel/office) -"dXD" = ( -/obj/machinery/firealarm{ - pixel_y = 24 - }, -/obj/machinery/light_switch{ - pixel_x = 26; - pixel_y = 26 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/chapel/office) -"dXE" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Chapel Maintenance"; - req_access_txt = "27" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/chapel/office) -"dXF" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dXG" = ( -/obj/structure/filingcabinet/security, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/obj/machinery/light_switch{ - pixel_x = -26; - pixel_y = 26 - }, -/obj/machinery/camera{ - c_tag = "Security - Departures Port"; - dir = 2; - name = "security camera" - }, -/turf/open/floor/plasteel/red/side{ - dir = 9 - }, -/area/security/checkpoint/checkpoint2) -"dXH" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/checkpoint/checkpoint2) -"dXI" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/pen, -/turf/open/floor/plasteel/red/side{ - dir = 5 - }, -/area/security/checkpoint/checkpoint2) -"dXJ" = ( -/obj/structure/table/reinforced, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/item/folder/red, -/obj/item/pen, -/obj/machinery/door/window/brigdoor/southright{ - dir = 1; - name = "Security Desk"; - pixel_y = 8; - req_access_txt = "63" - }, -/turf/open/floor/plasteel/red, -/area/security/checkpoint/checkpoint2) -"dXK" = ( -/obj/structure/table/reinforced, -/obj/item/storage/fancy/donut_box, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/red/side{ - dir = 9 - }, -/area/security/checkpoint/checkpoint2) -"dXL" = ( -/obj/structure/closet/wardrobe/red, -/turf/open/floor/plasteel/red/side{ - dir = 5 - }, -/area/security/checkpoint/checkpoint2) -"dXN" = ( -/obj/structure/chair, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/checkpoint/checkpoint2) -"dXO" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/checkpoint/checkpoint2) -"dXP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/red/side{ - dir = 1 - }, -/area/security/checkpoint/checkpoint2) -"dXQ" = ( -/turf/open/floor/plasteel/red/side{ - dir = 5 - }, -/area/security/checkpoint/checkpoint2) -"dXR" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 4; - name = "External Docking Port"; - req_access_txt = "63" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/checkpoint/checkpoint2) -"dXS" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/security/checkpoint/checkpoint2) -"dXT" = ( -/obj/machinery/door/airlock/shuttle{ - name = "Emergency Shuttle Airlock"; - req_access_txt = "2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/shuttle/escape) -"dXU" = ( -/turf/open/floor/mineral/plastitanium/brig, -/area/shuttle/escape) -"dXV" = ( -/obj/structure/chair, -/turf/open/floor/mineral/plastitanium/brig, -/area/shuttle/escape) -"dXW" = ( -/obj/structure/table/reinforced, -/obj/machinery/recharger, -/turf/open/floor/mineral/plastitanium/brig, -/area/shuttle/escape) -"dXX" = ( -/obj/machinery/button/flasher{ - id = "shuttleflash"; - pixel_x = -26; - pixel_y = 24 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel/red/corner{ - dir = 1 - }, -/area/shuttle/escape) -"dXY" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/shuttle/escape) -"dXZ" = ( -/obj/structure/table, -/obj/item/clipboard, -/obj/item/toy/figure/ninja, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dYa" = ( -/obj/structure/chair, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dYb" = ( -/obj/structure/chair, -/obj/machinery/status_display{ - pixel_y = 32 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dYd" = ( -/obj/structure/table/reinforced, -/obj/item/stack/sheet/metal{ - amount = 30 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/crowbar/red, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/maintenance/port/aft) -"dYe" = ( -/obj/structure/cable/white{ - icon_state = "2-4" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/maintenance/port/aft) -"dYf" = ( -/obj/structure/cable/white{ - icon_state = "2-4" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/maintenance/port/aft) -"dYg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/maintenance/port/aft) -"dYh" = ( -/obj/structure/cable/white, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/structure/cable/white{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/maintenance/port/aft) -"dYi" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/maintenance/port/aft) -"dYj" = ( -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/maintenance/port/aft) -"dYk" = ( -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"dYl" = ( -/obj/structure/table/reinforced, -/obj/structure/extinguisher_cabinet{ - pixel_x = 26 - }, -/obj/item/storage/toolbox/mechanical, -/obj/item/device/flashlight, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"dYm" = ( -/obj/item/device/radio/intercom{ - name = "Station Intercom"; - pixel_x = -26 - }, -/turf/open/floor/plasteel/black, -/area/chapel/office) -"dYn" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"dYo" = ( -/obj/structure/chair/office/dark, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"dYp" = ( -/obj/structure/chair/office/dark, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"dYq" = ( -/obj/item/twohanded/required/kirbyplants/random, -/obj/structure/sign/nosmoking_2{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/grimy, -/area/chapel/office) -"dYr" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 2; - name = "External Airlock"; - req_access_txt = "13" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"dYs" = ( -/obj/structure/table/reinforced, -/obj/structure/cable/white{ - icon_state = "0-4" - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/power/apc{ - dir = 8; - name = "Departures Checkpoint APC"; - areastring = "/area/security/checkpoint/checkpoint2"; - pixel_x = -26; - pixel_y = 3 - }, -/obj/item/crowbar, -/obj/item/wrench, -/obj/item/device/radio, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/checkpoint/checkpoint2) -"dYt" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/security/checkpoint/checkpoint2) -"dYu" = ( -/obj/machinery/holopad, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/security/checkpoint/checkpoint2) -"dYv" = ( -/obj/structure/chair/office/dark{ - dir = 1 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/neutral, -/area/security/checkpoint/checkpoint2) -"dYw" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/security/checkpoint/checkpoint2) -"dYx" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/checkpoint/checkpoint2) -"dYy" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/glass_security{ - name = "Holding Area"; - req_access_txt = "2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/checkpoint/checkpoint2) -"dYz" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/checkpoint/checkpoint2) -"dYA" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/neutral, -/area/security/checkpoint/checkpoint2) -"dYB" = ( -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/neutral, -/area/security/checkpoint/checkpoint2) -"dYC" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/security/checkpoint/checkpoint2) -"dYD" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plasteel/red/side{ - dir = 4 - }, -/area/security/checkpoint/checkpoint2) -"dYF" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/brig, -/area/shuttle/escape) -"dYG" = ( -/turf/open/floor/plasteel/red/corner{ - dir = 1 - }, -/area/shuttle/escape) -"dYH" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 26 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/shuttle/escape) -"dYI" = ( -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dYJ" = ( -/turf/open/floor/plasteel/neutral/corner, -/area/shuttle/escape) -"dYK" = ( -/obj/item/device/radio/intercom{ - name = "Station Intercom"; - pixel_y = 58 - }, -/turf/open/floor/plasteel/neutral/side, -/area/shuttle/escape) -"dYL" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/shuttle/escape) -"dYM" = ( -/obj/machinery/door/airlock/external{ - name = "Emergency Recovery Airlock" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"dYN" = ( +"een" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/emergency, /obj/item/wrench, @@ -97985,7 +103350,7 @@ dir = 5 }, /area/maintenance/port/aft) -"dYO" = ( +"eeo" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -97995,7 +103360,7 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dYP" = ( +"eep" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -98004,7 +103369,7 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dYQ" = ( +"eeq" = ( /obj/structure/reagent_dispensers/fueltank, /obj/machinery/light{ dir = 4 @@ -98015,14 +103380,14 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dYR" = ( +"eer" = ( /obj/structure/reagent_dispensers/watertank, /obj/machinery/light{ dir = 8 }, /turf/open/floor/plating, /area/maintenance/port/aft) -"dYS" = ( +"ees" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -98030,7 +103395,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port/aft) -"dYT" = ( +"eet" = ( /obj/structure/cable/white{ icon_state = "1-2" }, @@ -98041,19 +103406,17 @@ }, /turf/open/floor/plasteel, /area/maintenance/port/aft) -"dYU" = ( +"eeu" = ( /obj/structure/table/reinforced, /obj/item/stack/sheet/rglass{ amount = 20; pixel_x = 2; pixel_y = -2 }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /turf/open/floor/plating, /area/maintenance/port/aft) -"dYV" = ( +"eev" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /obj/item/device/radio/intercom{ @@ -98064,13 +103427,13 @@ dir = 8 }, /area/chapel/office) -"dYW" = ( +"eew" = ( /obj/structure/cable/white{ icon_state = "1-4" }, /turf/open/floor/plasteel/grimy, /area/chapel/office) -"dYX" = ( +"eex" = ( /obj/machinery/light{ dir = 1 }, @@ -98085,7 +103448,7 @@ }, /turf/open/floor/plasteel/grimy, /area/chapel/office) -"dYY" = ( +"eey" = ( /obj/item/twohanded/required/kirbyplants/random, /obj/machinery/camera{ c_tag = "Chapel Quarters"; @@ -98094,7 +103457,7 @@ }, /turf/open/floor/plasteel/grimy, /area/chapel/office) -"dYZ" = ( +"eez" = ( /obj/structure/table/wood, /obj/item/device/camera_film{ pixel_x = 3; @@ -98112,7 +103475,7 @@ dir = 8 }, /area/chapel/office) -"dZa" = ( +"eeA" = ( /obj/machinery/light/small{ dir = 1 }, @@ -98124,7 +103487,7 @@ dir = 8 }, /area/chapel/office) -"dZb" = ( +"eeB" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -98132,13 +103495,13 @@ dir = 5 }, /area/chapel/office) -"dZc" = ( +"eeC" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/chapel/office) -"dZd" = ( +"eeD" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp, /obj/structure/disposalpipe/segment{ @@ -98146,18 +103509,17 @@ }, /turf/open/floor/carpet, /area/chapel/office) -"dZe" = ( +"eeE" = ( /obj/structure/table/wood, /obj/item/folder, /obj/item/pen/fourcolor, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/carpet, /area/chapel/office) -"dZf" = ( +"eeF" = ( /obj/structure/table/wood, /obj/item/storage/fancy/donut_box, /obj/machinery/ai_status_display{ @@ -98165,192 +103527,209 @@ }, /turf/open/floor/carpet, /area/chapel/office) -"dZg" = ( -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: EXTERNAL AIRLOCK"; - pixel_x = 32 +"eeG" = ( +/obj/machinery/light/small{ + dir = 4 }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dZh" = ( -/obj/structure/table/reinforced, -/obj/machinery/recharger, -/obj/machinery/newscaster{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 10 - }, -/area/security/checkpoint/checkpoint2) -"dZi" = ( -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/red/side, -/area/security/checkpoint/checkpoint2) -"dZj" = ( -/obj/machinery/computer/prisoner, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/red/side{ - dir = 6 - }, -/area/security/checkpoint/checkpoint2) -"dZk" = ( -/obj/machinery/computer/secure_data, -/turf/open/floor/plasteel/red, -/area/security/checkpoint/checkpoint2) -"dZl" = ( -/obj/machinery/computer/security, -/obj/machinery/status_display{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 10 - }, -/area/security/checkpoint/checkpoint2) -"dZm" = ( -/obj/structure/closet/secure_closet/security, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/obj/machinery/light, -/turf/open/floor/plasteel/red/side{ - dir = 6 - }, -/area/security/checkpoint/checkpoint2) -"dZn" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/light, -/obj/structure/sign/poster{ - icon_state = "poster22_legit"; - pixel_y = -32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 10 - }, -/area/security/checkpoint/checkpoint2) -"dZo" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/plasteel/red/side, -/area/security/checkpoint/checkpoint2) -"dZp" = ( -/obj/structure/table, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/structure/cable/white{ - icon_state = "1-4" - }, -/obj/item/restraints/handcuffs, -/obj/item/restraints/handcuffs, -/obj/item/device/assembly/flash/handheld, -/turf/open/floor/plasteel/red/side, -/area/security/checkpoint/checkpoint2) -"dZq" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/red/side, -/area/security/checkpoint/checkpoint2) -"dZr" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, +"eeH" = ( +/obj/structure/filingcabinet/security, /obj/machinery/firealarm{ - dir = 1; - pixel_y = -26 + dir = 8; + pixel_x = -24 + }, +/obj/machinery/light_switch{ + pixel_x = -26; + pixel_y = 26 }, -/obj/machinery/light, /obj/machinery/camera{ - c_tag = "Security - Departures Starboard"; - dir = 1; + c_tag = "Security - Departures Port"; + dir = 2; name = "security camera" }, /turf/open/floor/plasteel/red/side{ - dir = 6 + dir = 9 }, -/area/security/checkpoint/checkpoint2) -"dZs" = ( +/area/security/checkpoint/escape) +"eeI" = ( /obj/structure/cable/white{ - icon_state = "0-8" + icon_state = "1-2" }, -/obj/structure/cable/white, -/obj/structure/cable/white{ - icon_state = "0-2" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) -"dZt" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/status_display{ - pixel_x = -32 - }, -/turf/open/floor/mineral/plastitanium/brig, -/area/shuttle/escape) -"dZu" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium/brig, -/area/shuttle/escape) -"dZv" = ( -/obj/structure/table/reinforced, -/obj/item/storage/lockbox/loyalty, -/turf/open/floor/mineral/plastitanium/brig, -/area/shuttle/escape) -"dZw" = ( -/obj/structure/table/reinforced, -/obj/machinery/recharger, -/turf/open/floor/plasteel/red/corner{ - dir = 8 - }, -/area/shuttle/escape) -"dZx" = ( -/obj/structure/fireaxecabinet{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/shuttle/escape) -"dZy" = ( -/obj/machinery/door/airlock/external{ - name = "Emergency Recovery Airlock" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/red/side{ dir = 1 }, +/area/security/checkpoint/escape) +"eeJ" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/plasteel/red/side{ + dir = 5 + }, +/area/security/checkpoint/escape) +"eeK" = ( +/obj/structure/table/reinforced, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/item/folder/red, +/obj/item/pen, +/obj/machinery/door/window/brigdoor/southright{ + dir = 1; + name = "Security Desk"; + pixel_y = 8; + req_access_txt = "63" + }, +/turf/open/floor/plasteel/red, +/area/security/checkpoint/escape) +"eeL" = ( +/obj/structure/table/reinforced, +/obj/item/storage/fancy/donut_box, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/red/side{ + dir = 9 + }, +/area/security/checkpoint/escape) +"eeM" = ( +/obj/structure/closet/wardrobe/red, +/turf/open/floor/plasteel/red/side{ + dir = 5 + }, +/area/security/checkpoint/escape) +"eeN" = ( +/obj/structure/chair, +/turf/open/floor/plasteel/red/side{ + dir = 9 + }, +/area/security/checkpoint/escape) +"eeO" = ( +/obj/structure/chair, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/red/side{ + dir = 1 + }, +/area/security/checkpoint/escape) +"eeP" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/red/side{ + dir = 1 + }, +/area/security/checkpoint/escape) +"eeQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/red/side{ + dir = 1 + }, +/area/security/checkpoint/escape) +"eeR" = ( +/turf/open/floor/plasteel/red/side{ + dir = 5 + }, +/area/security/checkpoint/escape) +"eeS" = ( +/obj/machinery/door/airlock/external{ + cyclelinkeddir = 4; + name = "External Docking Port"; + req_access_txt = "63" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, +/area/security/checkpoint/escape) +"eeT" = ( +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/security/checkpoint/escape) +"eeU" = ( +/obj/machinery/door/airlock/external{ + cyclelinkeddir = 8; + name = "External Docking Port"; + req_access_txt = "63" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/security/checkpoint/escape) +"eeV" = ( +/obj/machinery/door/airlock/shuttle{ + name = "Emergency Shuttle Airlock"; + req_access_txt = "2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/white, /area/shuttle/escape) -"dZz" = ( +"eeW" = ( +/turf/open/floor/mineral/plastitanium/brig, +/area/shuttle/escape) +"eeX" = ( +/obj/structure/chair, +/turf/open/floor/mineral/plastitanium/brig, +/area/shuttle/escape) +"eeY" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger, +/turf/open/floor/mineral/plastitanium/brig, +/area/shuttle/escape) +"eeZ" = ( +/obj/machinery/button/flasher{ + id = "shuttleflash"; + pixel_x = -26; + pixel_y = 24 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel/red/corner{ + dir = 1 + }, +/area/shuttle/escape) +"efa" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/shuttle/escape) -"dZA" = ( -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, +"efb" = ( +/obj/structure/table, +/obj/item/clipboard, +/obj/item/toy/figure/ninja, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, /area/shuttle/escape) -"dZB" = ( +"efc" = ( +/obj/structure/chair, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"efd" = ( +/obj/structure/chair, +/obj/machinery/status_display{ + pixel_y = 32 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"efe" = ( /obj/structure/cable{ icon_state = "0-2" }, @@ -98360,12 +103739,12 @@ }, /turf/open/floor/plasteel/airless/solarpanel, /area/solar/port/aft) -"dZC" = ( +"eff" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/white, /turf/open/floor/plating, /area/maintenance/port/aft) -"dZD" = ( +"efg" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ id = "chapelprivacy"; @@ -98373,30 +103752,30 @@ }, /turf/open/floor/plating, /area/chapel/office) -"dZE" = ( +"efh" = ( /obj/structure/bed, /obj/item/bedsheet/black, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/chapel/office) -"dZF" = ( +"efi" = ( /turf/open/floor/plasteel/grimy, /area/chapel/office) -"dZG" = ( +"efj" = ( /obj/effect/landmark/start/chaplain, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/chapel/office) -"dZH" = ( +"efk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/grimy, /area/chapel/office) -"dZI" = ( +"efl" = ( /obj/machinery/light_switch{ pixel_x = 26; pixel_y = -26 @@ -98408,7 +103787,7 @@ dir = 5 }, /area/chapel/office) -"dZJ" = ( +"efm" = ( /obj/machinery/door/airlock/centcom{ name = "Chapel Quarters"; req_access_txt = "27" @@ -98420,7 +103799,7 @@ dir = 8 }, /area/chapel/office) -"dZK" = ( +"efn" = ( /obj/machinery/light_switch{ pixel_x = -26; pixel_y = 26 @@ -98432,19 +103811,19 @@ dir = 5 }, /area/chapel/office) -"dZL" = ( +"efo" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/black, /area/chapel/office) -"dZM" = ( +"efp" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, /turf/open/floor/plasteel/grimy, /area/chapel/office) -"dZN" = ( +"efq" = ( /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, @@ -98453,7 +103832,7 @@ }, /turf/open/floor/carpet, /area/chapel/office) -"dZO" = ( +"efr" = ( /obj/structure/chair/office/dark{ dir = 1 }, @@ -98463,7 +103842,7 @@ }, /turf/open/floor/carpet, /area/chapel/office) -"dZP" = ( +"efs" = ( /obj/structure/table/wood, /obj/item/storage/fancy/candle_box{ pixel_x = 3; @@ -98478,9 +103857,10 @@ }, /turf/open/floor/carpet, /area/chapel/office) -"dZQ" = ( +"eft" = ( +/obj/machinery/door/firedoor, /obj/machinery/door/airlock/external{ - cyclelinkeddir = 1; + cyclelinkeddir = 2; name = "External Airlock"; req_access_txt = "13" }, @@ -98492,63 +103872,197 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"dZR" = ( -/turf/closed/wall/r_wall, -/area/security/checkpoint/checkpoint2) -"dZS" = ( -/obj/structure/cable/white, +"efu" = ( +/obj/structure/table/reinforced, /obj/structure/cable/white{ icon_state = "0-4" }, -/obj/structure/cable/white{ - icon_state = "0-8" +/obj/machinery/light{ + dir = 8 }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) -"dZT" = ( -/obj/structure/cable/white{ - icon_state = "0-8" +/obj/machinery/power/apc{ + areastring = "/area/security/checkpoint/escape"; + dir = 8; + name = "Departures Checkpoint APC"; + pixel_x = -26; + pixel_y = 3 }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) -"dZU" = ( -/obj/structure/cable/white, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/security/checkpoint/checkpoint2) -"dZV" = ( -/obj/structure/chair{ +/obj/item/crowbar, +/obj/item/wrench, +/obj/item/device/radio, +/turf/open/floor/plasteel/red/side{ + dir = 8 + }, +/area/security/checkpoint/escape) +"efv" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/cable/white{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, -/turf/open/floor/mineral/plastitanium/brig, -/area/shuttle/escape) -"dZW" = ( -/obj/structure/table/reinforced, -/obj/item/storage/box/zipties, -/obj/item/device/radio/intercom{ - name = "Station Intercom"; - pixel_y = -26 +/turf/open/floor/plasteel/neutral, +/area/security/checkpoint/escape) +"efw" = ( +/obj/machinery/holopad, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/security/checkpoint/escape) +"efx" = ( +/obj/structure/chair/office/dark{ + dir = 1 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/neutral, +/area/security/checkpoint/escape) +"efy" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/neutral, +/area/security/checkpoint/escape) +"efz" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/red/side{ + dir = 4 + }, +/area/security/checkpoint/escape) +"efA" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/glass_security{ + name = "Holding Area"; + req_access_txt = "2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/security/checkpoint/escape) +"efB" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/red/side{ + dir = 8 + }, +/area/security/checkpoint/escape) +"efC" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/neutral, +/area/security/checkpoint/escape) +"efD" = ( +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/neutral, +/area/security/checkpoint/escape) +"efE" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/neutral, +/area/security/checkpoint/escape) +"efF" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel/red/side{ + dir = 4 + }, +/area/security/checkpoint/escape) +"efG" = ( +/obj/structure/cable/white{ + icon_state = "0-2" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/checkpoint/escape) +"efH" = ( +/obj/structure/chair{ + dir = 4 }, /turf/open/floor/mineral/plastitanium/brig, /area/shuttle/escape) -"dZX" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/pen, +"efI" = ( /turf/open/floor/plasteel/red/corner{ + dir = 1 + }, +/area/shuttle/escape) +"efJ" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 26 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/neutral/corner{ + dir = 4 + }, +/area/shuttle/escape) +"efK" = ( +/turf/open/floor/plasteel, +/area/shuttle/escape) +"efL" = ( +/obj/machinery/light, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"efM" = ( +/turf/open/floor/plasteel/neutral/corner, +/area/shuttle/escape) +"efN" = ( +/obj/item/device/radio/intercom{ + name = "Station Intercom"; + pixel_y = 58 + }, +/turf/open/floor/plasteel/neutral/side, +/area/shuttle/escape) +"efO" = ( +/turf/open/floor/plasteel/neutral/corner{ dir = 8 }, /area/shuttle/escape) -"dZY" = ( -/turf/open/floor/plasteel/blue/side, -/area/shuttle/escape) -"dZZ" = ( -/obj/machinery/door/airlock/command{ - name = "Emergency Recovery Airlock"; - req_access = null; - req_access_txt = "19" +"efP" = ( +/obj/machinery/door/airlock/external{ + name = "Emergency Recovery Airlock" }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -98558,12 +104072,7 @@ }, /turf/open/floor/plasteel, /area/shuttle/escape) -"eaa" = ( -/obj/machinery/suit_storage_unit/standard_unit, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"eab" = ( +"efQ" = ( /obj/structure/cable{ icon_state = "2-4" }, @@ -98573,7 +104082,7 @@ /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/port/aft) -"eac" = ( +"efR" = ( /obj/structure/cable{ icon_state = "2-4" }, @@ -98586,21 +104095,21 @@ /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/port/aft) -"ead" = ( +"efS" = ( /obj/structure/cable{ icon_state = "0-8" }, /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/port/aft) -"eae" = ( +"efT" = ( /obj/structure/cable{ icon_state = "0-4" }, /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/port/aft) -"eaf" = ( +"efU" = ( /obj/structure/cable{ icon_state = "1-8" }, @@ -98613,7 +104122,7 @@ /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/port/aft) -"eag" = ( +"efV" = ( /obj/structure/cable{ icon_state = "1-8" }, @@ -98623,7 +104132,7 @@ /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/port/aft) -"eah" = ( +"efW" = ( /obj/structure/dresser, /obj/structure/extinguisher_cabinet{ pixel_x = -26 @@ -98635,7 +104144,7 @@ dir = 8 }, /area/chapel/office) -"eai" = ( +"efX" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/snacks/grown/poppy/geranium{ pixel_x = 6; @@ -98644,7 +104153,7 @@ /obj/item/reagent_containers/food/snacks/grown/poppy/lily, /turf/open/floor/plasteel/grimy, /area/chapel/office) -"eaj" = ( +"efY" = ( /obj/structure/table/wood, /obj/item/storage/fancy/candle_box{ pixel_x = 3; @@ -98653,38 +104162,58 @@ /obj/item/storage/fancy/candle_box, /turf/open/floor/plasteel/grimy, /area/chapel/office) -"eak" = ( +"efZ" = ( /obj/structure/table/wood, /obj/item/folder/red, /obj/item/pen, /turf/open/floor/plasteel/grimy, /area/chapel/office) -"eal" = ( +"ega" = ( /obj/structure/closet/wardrobe/chaplain_black, /obj/machinery/airalarm{ dir = 1; pixel_y = -22 }, +/obj/item/grown/log, +/obj/item/grown/log, +/obj/item/grown/log, +/obj/item/grown/log, +/obj/item/grown/log, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/chapel/office) -"ean" = ( +"egb" = ( +/obj/structure/table/wood, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/obj/item/clipboard, +/obj/item/toy/figure/chaplain, +/obj/structure/sign/poster/official/bless_this_spess{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/chapel/office) +"egc" = ( /obj/machinery/photocopier, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/chapel/office) -"eao" = ( +"egd" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/plasteel/grimy, /area/chapel/office) -"eap" = ( +"ege" = ( /turf/open/floor/carpet, /area/chapel/office) -"eaq" = ( +"egf" = ( /obj/structure/table/wood, /obj/item/storage/crayons, /obj/item/storage/crayons, @@ -98704,7 +104233,198 @@ }, /turf/open/floor/carpet, /area/chapel/office) -"ear" = ( +"egg" = ( +/obj/structure/sign/directions/engineering{ + desc = "A sign that shows there are doors here. There are doors everywhere!"; + icon_state = "doors"; + name = "WARNING: EXTERNAL AIRLOCK"; + pixel_x = 32 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"egh" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger, +/obj/machinery/newscaster{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/red/side{ + dir = 10 + }, +/area/security/checkpoint/escape) +"egi" = ( +/obj/item/twohanded/required/kirbyplants/random, +/turf/open/floor/plasteel/red/side, +/area/security/checkpoint/escape) +"egj" = ( +/obj/machinery/computer/prisoner{ + dir = 1 + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/red/side{ + dir = 6 + }, +/area/security/checkpoint/escape) +"egk" = ( +/obj/machinery/computer/secure_data{ + dir = 1 + }, +/turf/open/floor/plasteel/red, +/area/security/checkpoint/escape) +"egl" = ( +/obj/machinery/computer/security{ + dir = 1 + }, +/obj/machinery/status_display{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/red/side{ + dir = 10 + }, +/area/security/checkpoint/escape) +"egm" = ( +/obj/structure/closet/secure_closet/security, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/red/side{ + dir = 6 + }, +/area/security/checkpoint/escape) +"egn" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/light, +/obj/structure/sign/poster{ + icon_state = "poster22_legit"; + pixel_y = -32 + }, +/turf/open/floor/plasteel/red/side{ + dir = 10 + }, +/area/security/checkpoint/escape) +"ego" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel/red/side, +/area/security/checkpoint/escape) +"egp" = ( +/obj/structure/table, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/structure/cable/white{ + icon_state = "1-4" + }, +/obj/item/restraints/handcuffs, +/obj/item/restraints/handcuffs, +/obj/item/device/assembly/flash/handheld, +/turf/open/floor/plasteel/red/side, +/area/security/checkpoint/escape) +"egq" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/red/side, +/area/security/checkpoint/escape) +"egr" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/machinery/light, +/obj/machinery/camera{ + c_tag = "Security - Departures Starboard"; + dir = 1; + name = "security camera" + }, +/turf/open/floor/plasteel/red/side{ + dir = 6 + }, +/area/security/checkpoint/escape) +"egs" = ( +/obj/structure/cable/white{ + icon_state = "0-8" + }, +/obj/structure/cable/white, +/obj/structure/cable/white{ + icon_state = "0-2" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/checkpoint/escape) +"egt" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/status_display{ + pixel_x = -32 + }, +/turf/open/floor/mineral/plastitanium/brig, +/area/shuttle/escape) +"egu" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/brig, +/area/shuttle/escape) +"egv" = ( +/obj/structure/table/reinforced, +/obj/item/storage/lockbox/loyalty, +/turf/open/floor/mineral/plastitanium/brig, +/area/shuttle/escape) +"egw" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger, +/turf/open/floor/plasteel/red/corner{ + dir = 8 + }, +/area/shuttle/escape) +"egx" = ( +/obj/structure/fireaxecabinet{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/neutral/corner, +/area/shuttle/escape) +"egy" = ( +/obj/machinery/door/airlock/external{ + name = "Emergency Recovery Airlock" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"egz" = ( +/turf/open/floor/plasteel/neutral/corner{ + dir = 4 + }, +/area/shuttle/escape) +"egA" = ( +/turf/open/floor/plasteel/neutral/corner{ + dir = 1 + }, +/area/shuttle/escape) +"egB" = ( /obj/structure/cable, /obj/machinery/power/solar{ id = "aftport"; @@ -98712,18 +104432,120 @@ }, /turf/open/floor/plasteel/airless/solarpanel, /area/solar/port/aft) -"eas" = ( +"egC" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/chapel/office) -"eat" = ( +"egD" = ( +/obj/machinery/door/airlock/external{ + cyclelinkeddir = 1; + name = "External Airlock"; + req_access_txt = "13" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"egE" = ( +/turf/closed/wall/r_wall, +/area/security/checkpoint/escape) +"egF" = ( +/obj/structure/cable/white, +/obj/structure/cable/white{ + icon_state = "0-4" + }, +/obj/structure/cable/white{ + icon_state = "0-8" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/checkpoint/escape) +"egG" = ( +/obj/structure/cable/white{ + icon_state = "0-8" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/checkpoint/escape) +"egH" = ( +/obj/structure/cable/white, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/checkpoint/escape) +"egI" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/brig, +/area/shuttle/escape) +"egJ" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/light, +/turf/open/floor/mineral/plastitanium/brig, +/area/shuttle/escape) +"egK" = ( +/obj/structure/table/reinforced, +/obj/item/storage/box/zipties, +/obj/item/device/radio/intercom{ + name = "Station Intercom"; + pixel_y = -26 + }, +/turf/open/floor/mineral/plastitanium/brig, +/area/shuttle/escape) +"egL" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/plasteel/red/corner{ + dir = 8 + }, +/area/shuttle/escape) +"egM" = ( +/turf/open/floor/plasteel/blue/side, +/area/shuttle/escape) +"egN" = ( +/obj/machinery/door/airlock/command{ + name = "Emergency Recovery Airlock"; + req_access = null; + req_access_txt = "19" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"egO" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/light/small, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"egP" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/shuttle/escape) +"egQ" = ( +/obj/item/stack/cable_coil, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solar/port/aft) +"egR" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, /turf/open/floor/plasteel/vault{ dir = 4 }, /area/shuttle/escape) -"eau" = ( +"egS" = ( /obj/machinery/light{ dir = 1 }, @@ -98734,25 +104556,32 @@ dir = 5 }, /area/shuttle/escape) -"eav" = ( +"egT" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/shuttle/escape) -"eaw" = ( +"egU" = ( /obj/structure/table/reinforced, /obj/item/storage/fancy/donut_box, /turf/open/floor/plasteel/vault{ dir = 4 }, /area/shuttle/escape) -"eax" = ( -/obj/machinery/computer/security, +"egV" = ( +/obj/structure/lattice/catwalk, +/obj/effect/landmark/xeno_spawn, +/turf/open/space, +/area/solar/port/aft) +"egW" = ( +/obj/machinery/computer/security{ + dir = 4 + }, /turf/open/floor/plasteel/darkred/side{ dir = 9 }, /area/shuttle/escape) -"eay" = ( +"egX" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -98760,7 +104589,7 @@ dir = 5 }, /area/shuttle/escape) -"eaz" = ( +"egY" = ( /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_x = 26; @@ -98770,7 +104599,7 @@ dir = 5 }, /area/shuttle/escape) -"eaA" = ( +"egZ" = ( /obj/structure/chair/office/dark{ dir = 4 }, @@ -98778,62 +104607,58 @@ dir = 5 }, /area/shuttle/escape) -"eaB" = ( -/obj/machinery/computer/station_alert, +"eha" = ( +/obj/machinery/computer/station_alert{ + dir = 8 + }, /turf/open/floor/plasteel/darkyellow/side{ dir = 5 }, /area/shuttle/escape) -"eaC" = ( -/obj/item/stack/cable_coil, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/port/aft) -"eaD" = ( -/obj/machinery/computer/secure_data, +"ehb" = ( +/obj/machinery/computer/secure_data{ + dir = 4 + }, /turf/open/floor/plasteel/darkred/side{ dir = 10 }, /area/shuttle/escape) -"eaE" = ( +"ehc" = ( /obj/structure/chair/office/dark{ dir = 8 }, /turf/open/floor/plasteel/vault, /area/shuttle/escape) -"eaF" = ( +"ehd" = ( /obj/structure/chair/office/dark, /turf/open/floor/plasteel/vault, /area/shuttle/escape) -"eaG" = ( +"ehe" = ( /obj/structure/table/reinforced, /obj/item/storage/firstaid/regular, /turf/open/floor/plasteel/vault, /area/shuttle/escape) -"eaH" = ( +"ehf" = ( /obj/structure/table/reinforced, /obj/item/folder/blue, /obj/item/pen, /turf/open/floor/plasteel/vault, /area/shuttle/escape) -"eaI" = ( +"ehg" = ( /obj/structure/chair/office/dark{ dir = 4 }, /turf/open/floor/plasteel/vault, /area/shuttle/escape) -"eaJ" = ( -/obj/machinery/computer/atmos_alert, +"ehh" = ( +/obj/machinery/computer/atmos_alert{ + dir = 8 + }, /turf/open/floor/plasteel/darkyellow/side{ dir = 6 }, /area/shuttle/escape) -"eaK" = ( -/obj/structure/lattice/catwalk, -/obj/effect/landmark/xeno_spawn, -/turf/open/space, -/area/solar/port/aft) -"eaL" = ( +"ehi" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/pen, @@ -98841,39 +104666,47 @@ dir = 4 }, /area/shuttle/escape) -"eaM" = ( +"ehj" = ( /obj/structure/table/reinforced, /obj/item/folder/red, /obj/item/restraints/handcuffs, /obj/item/device/assembly/flash/handheld, /turf/open/floor/plasteel/vault, /area/shuttle/escape) -"eaN" = ( -/obj/machinery/computer/crew, +"ehk" = ( +/obj/machinery/computer/crew{ + dir = 1 + }, /turf/open/floor/plasteel/darkblue/side, /area/shuttle/escape) -"eaO" = ( -/obj/machinery/computer/med_data, +"ehl" = ( +/obj/machinery/computer/med_data{ + dir = 1 + }, /turf/open/floor/plasteel/darkblue/side{ dir = 6 }, /area/shuttle/escape) -"eaP" = ( -/obj/machinery/computer/emergency_shuttle, +"ehm" = ( +/obj/machinery/computer/emergency_shuttle{ + dir = 1 + }, /turf/open/floor/plasteel/darkblue/side{ dir = 10 }, /area/shuttle/escape) -"eaQ" = ( -/obj/machinery/computer/communications, +"ehn" = ( +/obj/machinery/computer/communications{ + dir = 1 + }, /turf/open/floor/plasteel/darkblue/side, /area/shuttle/escape) -"eaR" = ( +"eho" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/mechanical, /turf/open/floor/plasteel/vault, /area/shuttle/escape) -"eaS" = ( +"ehp" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, /obj/item/stock_parts/cell/high, @@ -98881,3760 +104714,33 @@ dir = 4 }, /area/shuttle/escape) -"eaT" = ( -/obj/docking_port/stationary{ - dheight = 9; - dir = 2; - dwidth = 5; - height = 24; - id = "syndicate_sw"; - name = "southwest of station"; - turf_type = /turf/open/space; - width = 18 - }, -/turf/open/space, -/area/space) -"eaU" = ( -/obj/docking_port/stationary{ - dheight = 9; - dir = 2; - dwidth = 5; - height = 24; - id = "syndicate_se"; - name = "southeast of station"; - turf_type = /turf/open/space; - width = 18 - }, -/turf/open/space, -/area/space) -"eaV" = ( +"ehq" = ( /obj/structure/cable{ icon_state = "0-2" }, /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/port/aft) -"eaW" = ( +"ehr" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/port/aft) -"eaX" = ( +"ehs" = ( /obj/structure/cable, /obj/machinery/power/tracker, /turf/open/floor/plasteel/airless/solarpanel, /area/solar/port/aft) -"eaY" = ( -/obj/docking_port/stationary{ - dheight = 9; - dir = 2; - dwidth = 5; - height = 24; - id = "syndicate_s"; - name = "south of station"; - turf_type = /turf/open/space; - width = 18 - }, -/turf/open/space, -/area/space) -"eaZ" = ( -/obj/item/twohanded/required/kirbyplants/random, -/obj/machinery/light_switch{ - pixel_x = 24; - pixel_y = -24 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/chapel/main) -"eba" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/starboard/fore) -"ebb" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/starboard/fore) -"ebg" = ( -/obj/structure/chair/office/dark{ - dir = 4 - }, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/maintenance/solars/starboard/fore) -"ebB" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/port/fore) -"ebC" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/port/fore) -"ebD" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/starboard/aft) -"ebE" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/solar/starboard/aft) -"ebF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/end{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/science/mixing) -"ebG" = ( -/turf/open/floor/engine, -/area/engine/supermatter) -"ebJ" = ( -/obj/machinery/door/window/brigdoor/northleft{ - name = "Captain's Desk"; - req_access_txt = "20" - }, -/turf/open/floor/plasteel/grimy, -/area/crew_quarters/heads/captain) -"ebK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/window{ - dir = 8; - name = "Library Desk"; - req_access_txt = "0" - }, -/turf/open/floor/plasteel/grimy, -/area/library) -"ebP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/yellow, -/area/engine/atmospherics_engine) -"ebQ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/trinary/filter/critical{ - dir = 4; - filter_type = "freon"; - name = "gas filter (freon)" - }, -/turf/open/floor/plasteel/neutral, -/area/engine/atmospherics_engine) -"ebR" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/engine/atmospherics_engine) -"ebS" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/engine/atmospherics_engine) -"ebT" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/atmospherics_engine) -"ebU" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; - dir = 4 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/central) -"ebV" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/item/device/radio/beacon, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/aisat) -"ebW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) -"ebX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/red, -/area/maintenance/starboard/fore) -"ebY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/maintenance/starboard/fore) -"ebZ" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/ai_slipper{ - uses = 10 - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/ai_monitored/turret_protected/aisat_interior) -"ecb" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/crew_quarters/electronic_marketing_den) -"ecc" = ( -/obj/structure/closet/wardrobe/grey, -/turf/open/floor/plasteel/neutral, -/area/shuttle/arrival) -"ecd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/maintenance/port/fore) -"ece" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/port/fore) -"ecf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/hydroponics/garden/abandoned) -"ecg" = ( -/obj/item/twohanded/required/kirbyplants/random, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/hydroponics/garden/abandoned) -"ech" = ( -/obj/machinery/button/door{ - id = "Dorm2"; - name = "Dormitory Door Lock"; - normaldoorcontrol = 1; - pixel_x = -26; - pixel_y = 7; - req_access_txt = "0"; - specialfunctions = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/wood, -/area/crew_quarters/dorms) -"eci" = ( -/obj/machinery/button/door{ - id = "Dorm4"; - name = "Dormitory Door Lock"; - normaldoorcontrol = 1; - pixel_x = -26; - pixel_y = 7; - req_access_txt = "0"; - specialfunctions = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/wood, -/area/crew_quarters/dorms) -"ecj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/hydrofloor, -/area/hydroponics/garden/abandoned) -"eck" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/hydrofloor, -/area/hydroponics/garden/abandoned) -"ecl" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/barricade/wooden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/hydroponics/garden/abandoned) -"ecm" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/maintenance/port/fore) -"ecn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/side, -/area/maintenance/port/fore) -"eco" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall/r_wall, -/area/maintenance/disposal/incinerator) -"ecp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/crew_quarters/abandoned_gambling_den) -"ecq" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall/r_wall, -/area/maintenance/disposal/incinerator) -"ecr" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/engine/atmos) -"ecs" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/crew_quarters/abandoned_gambling_den) -"ecu" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/port/fore) -"ecv" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/primary/port) -"ecw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"ecx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/port) -"ecy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/crew_quarters/heads/hop) -"ecz" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden, -/turf/open/floor/plasteel/vault/telecomms{ - dir = 10 - }, -/area/tcommsat/server) -"ecA" = ( -/turf/open/floor/plasteel/vault/telecomms{ - dir = 6 - }, -/area/tcommsat/server) -"ecE" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden, -/turf/open/floor/plasteel/vault/telecomms{ - dir = 8 - }, -/area/tcommsat/server) -"ecG" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/general/hidden, -/turf/open/floor/plating, -/area/tcommsat/server) -"ecI" = ( -/turf/open/floor/plasteel/vault/killroom, -/area/science/xenobiology) -"ecQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"ecR" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/abandoned_gambling_den) -"ecS" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"ecT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"ecU" = ( -/obj/structure/chair/wood/normal, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"ecV" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/science/research) -"ecW" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical{ - name = "Surgery Observation"; - req_access_txt = "0" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/medical/surgery) -"ecX" = ( -/obj/structure/chair/wood/normal{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"ecY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/wood{ - icon_state = "wood-broken3" - }, -/area/crew_quarters/abandoned_gambling_den) -"ecZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"eda" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/wood, -/area/crew_quarters/abandoned_gambling_den) -"edb" = ( -/obj/machinery/deepfryer, -/turf/open/floor/plasteel/red, -/area/crew_quarters/kitchen) -"edc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/crew_quarters/electronic_marketing_den) -"edd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/hydrofloor, -/area/hydroponics/garden/abandoned) -"ede" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/hydrofloor, -/area/hydroponics/garden/abandoned) -"edf" = ( -/obj/structure/table/wood, -/obj/item/clothing/head/hardhat/cakehat, -/turf/open/floor/plasteel/redyellow, -/area/crew_quarters/bar/atrium) -"edg" = ( -/obj/machinery/doorButtons/airlock_controller{ - idExterior = "virology_airlock_exterior"; - idInterior = "virology_airlock_interior"; - idSelf = "virology_airlock_control"; - name = "Virology Access Console"; - pixel_x = -10; - pixel_y = 24; - req_access_txt = "39" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/medical/virology) -"edh" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/brown{ - dir = 1 - }, -/area/maintenance/starboard/fore) -"edi" = ( -/obj/structure/mining_shuttle_beacon, -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"edj" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/docking_port/stationary/public_mining_dock{ - dir = 4 - }, -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"edl" = ( -/obj/structure/shuttle/engine/heater{ - dir = 1 - }, -/obj/structure/window/reinforced, -/turf/open/floor/plating/airless, -/area/shuttle/transport) -"edo" = ( -/turf/closed/wall/mineral/titanium, -/area/shuttle/transport) -"edp" = ( -/turf/open/floor/pod/light, -/area/shuttle/transport) -"edz" = ( -/obj/machinery/door/airlock/titanium, -/turf/open/floor/pod/light, -/area/shuttle/transport) -"edC" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/shuttle/transport) -"edD" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/pod/dark, -/area/shuttle/transport) -"edF" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/pod/dark, -/area/shuttle/transport) -"edT" = ( -/obj/machinery/computer/shuttle/ferry/request, -/turf/open/floor/pod/dark, -/area/shuttle/transport) -"een" = ( -/obj/docking_port/mobile{ - dir = 1; - dwidth = 2; - height = 13; - id = "ferry"; - name = "ferry shuttle"; - port_direction = 1; - preferred_direction = 4; - roundstart_move = "ferry_away"; - width = 5 - }, -/obj/docking_port/stationary{ - dir = 1; - dwidth = 2; - height = 13; - id = "ferry_home"; - name = "port bay 2"; - turf_type = /turf/open/space; - width = 5 - }, -/obj/machinery/door/airlock/titanium, -/turf/open/floor/pod/dark, -/area/shuttle/transport) -"eeq" = ( -/obj/structure/shuttle/engine/propulsion{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/shuttle/transport) -"ees" = ( -/obj/structure/shuttle/engine/heater{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/shuttle/transport) -"eet" = ( -/obj/structure/shuttle/engine/heater{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/shuttle/transport) -"eev" = ( -/obj/machinery/door/airlock/external, -/turf/open/floor/pod/light, -/area/shuttle/transport) -"eex" = ( -/obj/structure/window/shuttle, -/obj/structure/grille, -/turf/open/floor/plating, -/area/shuttle/transport) -"eez" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/twohanded/required/kirbyplants/random, -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/vault{ - dir = 6 - }, -/area/maintenance/starboard/fore) -"eeA" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen, -/obj/structure/sign/poster/official/report_crimes{ - pixel_y = 32 - }, -/turf/open/floor/carpet, -/area/security/vacantoffice) -"eeB" = ( -/obj/structure/chair/office/dark{ - dir = 1 - }, -/obj/structure/sign/poster/official/do_not_question{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/grimy, -/area/security/vacantoffice) -"eeC" = ( -/obj/structure/sign/poster/contraband/random, -/turf/closed/wall, -/area/maintenance/starboard/fore) -"eeE" = ( -/obj/structure/table/wood, -/obj/structure/sign/barsign{ - pixel_y = 32 - }, -/obj/item/wirerod, -/obj/item/wrench, -/obj/item/clothing/under/waiter, -/obj/item/clothing/accessory/waistcoat, -/obj/structure/sign/poster/contraband/random{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/electronic_marketing_den) -"eeF" = ( -/obj/structure/table/wood, -/obj/item/poster/random_contraband{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/poster/random_contraband{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/poster/random_contraband, -/turf/open/floor/wood, -/area/crew_quarters/electronic_marketing_den) -"eeG" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/machinery/light/small, -/obj/structure/sign/poster/official/work_for_a_future{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/grimy, -/area/security/vacantoffice) -"eeH" = ( -/obj/structure/table/wood, -/obj/item/poster/random_contraband{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/poster/random_contraband{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/poster/random_contraband, -/turf/open/floor/plasteel/black, -/area/crew_quarters/electronic_marketing_den) -"eeI" = ( -/obj/structure/sign/poster/contraband/random, -/turf/closed/wall, -/area/crew_quarters/electronic_marketing_den) -"eeL" = ( -/obj/structure/sign/poster/contraband/random, -/turf/closed/wall, -/area/maintenance/port/fore) -"eeO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken7" - }, -/area/maintenance/port/fore) -"eeP" = ( -/obj/structure/janitorialcart, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/work_for_a_future{ - pixel_x = 32 - }, -/turf/open/floor/plating, -/area/janitor) -"eeQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/redblue, -/area/maintenance/port/fore) -"eeR" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt, -/obj/item/clothing/shoes/jackboots, -/obj/effect/spawner/lootdrop/costume, -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/cafeteria, -/area/maintenance/port/fore) -"eeS" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = -12 - }, -/obj/item/reagent_containers/glass/bucket, -/obj/item/reagent_containers/glass/bucket, -/obj/effect/decal/cleanable/dirt, -/obj/item/mop, -/obj/item/mop, -/obj/item/device/radio/intercom{ - name = "Station Intercom"; - pixel_y = -26 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/light/small, -/obj/effect/turf_decal/bot, -/obj/structure/sign/poster/official/cleanliness{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/neutral, -/area/janitor) -"eeT" = ( -/obj/structure/sign/poster/random, -/turf/closed/wall, -/area/crew_quarters/bar) -"eeU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/sign/poster/random, -/turf/closed/wall, -/area/crew_quarters/bar) -"eeV" = ( -/obj/structure/sign/poster/contraband/random, -/turf/closed/wall, -/area/crew_quarters/bar) -"eeW" = ( -/obj/structure/closet/radiation, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera{ - c_tag = "Atmospherics - Engine Access"; - name = "atmospherics camera" - }, -/obj/effect/turf_decal/bot, -/obj/structure/sign/poster/official/cleanliness{ - pixel_x = -32 - }, -/turf/open/floor/plasteel, -/area/engine/atmospherics_engine) -"eeX" = ( -/obj/structure/table/wood, -/obj/item/soap/nanotrasen, -/obj/structure/sign/poster/random{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/bar/atrium) -"eeY" = ( -/obj/structure/easel, -/obj/item/canvas/twentythreeXtwentythree, -/obj/item/canvas/twentythreeXtwentythree, -/obj/structure/sign/poster/random{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/grimy, -/area/crew_quarters/bar/atrium) -"eeZ" = ( -/obj/machinery/door/airlock{ - name = "Bathroom" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/sign/poster/official/cleanliness{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/floorgrime, -/area/security/prison) -"efa" = ( -/obj/machinery/computer/slot_machine, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken2" - }, -/area/crew_quarters/abandoned_gambling_den) -"efb" = ( -/obj/structure/table/wood, -/obj/item/device/instrument/eguitar, -/obj/item/toy/crayon/spraycan/lubecan{ - charges = 5 - }, -/obj/structure/sign/poster/contraband/clown{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/redblue, -/area/crew_quarters/theatre) -"efc" = ( -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, -/obj/structure/closet/crate/wooden/toy, -/turf/open/floor/plasteel/redblue, -/area/crew_quarters/theatre) -"efd" = ( -/obj/structure/sign/poster/random, -/turf/closed/wall, -/area/crew_quarters/bar/atrium) -"efe" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/sign/poster/official/help_others{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/vault, -/area/security/execution/education) -"eff" = ( -/obj/structure/sign/poster/contraband/random{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/grimy, -/area/crew_quarters/abandoned_gambling_den) -"efg" = ( -/obj/machinery/computer/slot_machine, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken4" - }, -/area/crew_quarters/abandoned_gambling_den) -"efh" = ( -/obj/machinery/computer/slot_machine, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken7" - }, -/area/crew_quarters/abandoned_gambling_den) -"efi" = ( -/obj/machinery/computer/slot_machine, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"efj" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/baguette, -/obj/item/toy/crayon/spraycan/mimecan{ - charges = 5 - }, -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/theatre) -"efk" = ( -/obj/structure/dresser, -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/theatre) -"efm" = ( -/obj/structure/table/wood, -/obj/item/clothing/mask/fakemoustache, -/obj/item/cane, -/obj/structure/sign/poster/random{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/crew_quarters/bar/atrium) -"efn" = ( -/obj/structure/chair/stool/bar, -/obj/structure/sign/poster/random{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/grimy, -/area/crew_quarters/bar/atrium) -"efo" = ( -/obj/structure/sign/poster/random, -/turf/closed/wall, -/area/maintenance/port/fore) -"efp" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/structure/window/reinforced, -/obj/item/reagent_containers/glass/bucket, -/obj/effect/turf_decal/bot, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_x = -32 - }, -/turf/open/floor/plasteel, -/area/hydroponics) -"efr" = ( -/obj/structure/table/glass, -/obj/machinery/computer/med_data/laptop, -/obj/structure/sign/poster/official/cleanliness{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/whitered/side{ - dir = 9 - }, -/area/security/brig) -"eft" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/obj/structure/sign/poster/official/do_not_question{ - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/kitchen) -"efu" = ( -/obj/structure/table/reinforced, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/microwave{ - desc = "Cooks and boils stuff, somehow."; - pixel_x = -3; - pixel_y = 5 - }, -/obj/effect/turf_decal/bot, -/obj/structure/sign/poster/official/cleanliness{ - pixel_x = 32 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/kitchen) -"efv" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/effect/turf_decal/bot, -/obj/structure/sign/poster/official/do_not_question{ - pixel_y = -32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"efx" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Air to External Air Ports"; - on = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/sign/poster/official/work_for_a_future{ - pixel_x = 32 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"efy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light/small, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/sign/poster/official/do_not_question{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/central) -"efz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light/small, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/sign/poster/official/report_crimes{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/primary/central) -"efA" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = -12 - }, -/obj/effect/turf_decal/bot, -/obj/structure/sign/poster/official/cleanliness{ - pixel_x = -32 - }, -/turf/open/floor/plasteel, -/area/hydroponics) -"efB" = ( -/obj/structure/table/glass, -/obj/item/reagent_containers/spray/plantbgone, -/obj/item/reagent_containers/spray/plantbgone{ - pixel_x = 16 - }, -/obj/item/watertank, -/obj/item/grenade/chem_grenade/antiweed, -/obj/effect/turf_decal/bot, -/obj/structure/sign/poster/official/ian{ - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/hydroponics) -"efC" = ( -/obj/structure/table/reinforced, -/obj/machinery/microwave{ - desc = "It looks really dirty."; - name = "maintenance microwave"; - pixel_y = 5 - }, -/obj/structure/sign/poster/official/help_others{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/redyellow, -/area/engine/break_room) -"efD" = ( -/obj/structure/chair/office/dark{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/sign/poster/official/do_not_question{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/main) -"efE" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/delivery, -/obj/structure/sign/poster/official/report_crimes{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/storage/primary) -"efF" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/camera{ - c_tag = "Security - Transfer Centre Aft"; - dir = 1; - name = "security camera" - }, -/obj/structure/sign/poster/official/work_for_a_future{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/red/side, -/area/security/execution/transfer) -"efG" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/security{ - name = "Brig"; - req_access_txt = "63" - }, -/obj/structure/disposalpipe/segment, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_x = -32 - }, -/turf/open/floor/plasteel, -/area/security/brig) -"efH" = ( -/obj/structure/table/wood, -/obj/item/clipboard, -/obj/item/toy/figure/detective, -/obj/structure/sign/poster/official/report_crimes{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/vault, -/area/security/detectives_office) -"efI" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/structure/sign/poster/official/help_others{ - pixel_x = -32; - pixel_y = -32 - }, -/turf/open/floor/plasteel/red/corner{ - dir = 8 - }, -/area/hallway/primary/starboard) -"efJ" = ( -/obj/item/twohanded/required/kirbyplants/random, -/obj/structure/extinguisher_cabinet{ - pixel_x = 26 - }, -/obj/structure/sign/poster/official/ian{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/ai_monitored/turret_protected/aisat_interior) -"efK" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Courtroom - Fore"; - dir = 2; - name = "security camera" - }, -/obj/structure/sign/poster/official/report_crimes{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/vault, -/area/security/courtroom) -"efL" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/structure/cable/white{ - icon_state = "1-4" - }, -/obj/machinery/door/window/brigdoor/northright{ - name = "Warden's Desk"; - req_access_txt = "3" - }, -/obj/machinery/door/window/southright{ - name = "Warden's Desk" - }, -/obj/item/folder/red, -/obj/item/pen, -/obj/item/poster/random_official{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/poster/random_official, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/security/warden) -"efM" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/item/pen, -/obj/structure/sign/poster/official/enlist{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/red/side{ - dir = 10 - }, -/area/security/brig) -"efN" = ( -/obj/structure/closet/wardrobe/red, -/obj/item/clothing/under/rank/security/grey, -/obj/item/clothing/under/rank/security/grey, -/obj/item/clothing/under/rank/security/grey, -/obj/structure/cable/white{ - icon_state = "1-4" - }, -/obj/item/storage/backpack/satchel/sec, -/obj/structure/sign/poster/official/do_not_question{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/red, -/area/security/brig) -"efO" = ( -/obj/machinery/vending/cola/random, -/obj/structure/sign/poster/official/ian{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/hallway/primary/central) -"efP" = ( -/obj/machinery/photocopier, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/sign/poster/official/work_for_a_future{ - pixel_x = 32 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) -"efQ" = ( -/obj/item/twohanded/required/kirbyplants/random, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/sign/poster/official/report_crimes{ - pixel_y = -32 - }, -/turf/open/floor/wood, -/area/lawoffice) -"efR" = ( -/obj/structure/closet/secure_closet/engineering_personal, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/requests_console{ - department = "Engineering"; - departmentType = 0; - name = "Engineering RC"; - pixel_y = -32 - }, -/obj/effect/turf_decal/delivery, -/obj/structure/sign/poster/official/do_not_question{ - pixel_x = 32 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"efS" = ( -/obj/structure/table/wood, -/obj/item/storage/briefcase, -/obj/structure/sign/poster/official/help_others{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/vault, -/area/security/courtroom) -"efT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/sign/poster/official/work_for_a_future{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/courtroom) -"efU" = ( -/obj/structure/table/reinforced, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/crowbar, -/obj/item/grenade/chem_grenade/smart_metal_foam, -/obj/item/grenade/chem_grenade/smart_metal_foam, -/obj/effect/turf_decal/bot, -/obj/structure/sign/poster/official/report_crimes{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/engine/storage) -"efV" = ( -/obj/structure/table/reinforced, -/obj/item/stack/rods{ - amount = 50 - }, -/obj/item/wrench, -/obj/item/storage/box/lights/mixed, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/bot, -/obj/structure/sign/poster/official/random{ - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/maintenance/port) -"efW" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/structure/sign/poster/official/help_others{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/maintenance/department/electrical) -"efX" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/rack, -/obj/item/storage/toolbox/mechanical{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/storage/toolbox/electrical, -/obj/effect/turf_decal/delivery, -/obj/structure/sign/poster/official/report_crimes{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/maintenance/department/electrical) -"efY" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/structure/sign/poster/official/science{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 1 - }, -/area/science/research) -"efZ" = ( -/obj/structure/mirror{ - pixel_x = 26 - }, -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/vomit/old, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/effect/landmark/blobstart, -/obj/structure/sign/poster/official/cleanliness{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"ega" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass_medical{ - name = "Medbay Storage"; - req_access_txt = "5" - }, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/structure/sign/poster/official/cleanliness{ - pixel_x = -32 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/medical/storage) -"egb" = ( -/obj/structure/table/reinforced, -/obj/item/clothing/gloves/color/yellow, -/obj/item/storage/toolbox/electrical, -/obj/structure/sign/poster/official/do_not_question{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/maintenance/department/electrical) -"egc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/sign/poster/official/help_others{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 1 - }, -/area/medical/medbay/central) -"egd" = ( -/obj/structure/table/glass, -/obj/item/clipboard, -/obj/item/toy/figure/md, -/obj/machinery/light/small, -/obj/structure/sign/poster/official/ian{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"ege" = ( -/obj/structure/table/wood, -/obj/item/storage/pill_bottle/dice, -/obj/structure/sign/poster/official/help_others{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"egf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/black, -/area/crew_quarters/abandoned_gambling_den) -"egg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/sign/poster/official/report_crimes{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/whiteblue/corner{ - dir = 4 - }, -/area/medical/medbay/central) -"egh" = ( -/obj/item/twohanded/required/kirbyplants/random, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 - }, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"egi" = ( -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/mechanical, -/obj/item/device/flashlight, -/obj/effect/turf_decal/bot, -/obj/structure/sign/poster/official/science{ - pixel_x = -32 - }, -/turf/open/floor/plasteel, -/area/science/explab) -"egj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/light, -/obj/machinery/camera{ - c_tag = "Medbay - Starboard"; - dir = 1; - name = "medbay camera" - }, -/obj/structure/sign/poster/official/work_for_a_future{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/whiteblue/corner, -/area/medical/medbay/central) -"egk" = ( -/obj/structure/table/reinforced, -/obj/item/stack/cable_coil/white{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stack/cable_coil/white, -/obj/item/device/geiger_counter, -/obj/effect/turf_decal/bot, -/obj/structure/sign/poster/official/cleanliness{ - pixel_x = 32 - }, -/turf/open/floor/plasteel, -/area/science/explab) -"egl" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/grimy, -/area/crew_quarters/abandoned_gambling_den) -"egm" = ( -/obj/structure/chair/stool/bar, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/sign/poster/contraband/random{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/grimy, -/area/crew_quarters/abandoned_gambling_den) -"egn" = ( -/obj/structure/closet/secure_closet/medical2, -/obj/structure/sign/poster/official/cleanliness{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/vault, -/area/medical/surgery) -"ego" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/sign/poster/official/do_not_question{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 8 - }, -/area/medical/medbay/central) -"egp" = ( -/obj/machinery/light/small, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/chem_dispenser/drinks/beer, -/obj/structure/table/wood/poker, -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"egq" = ( -/obj/machinery/vending/boozeomat{ - req_access_txt = "0" - }, -/obj/machinery/light/small, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"egr" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/sign/poster/official/science{ - pixel_x = 32 - }, -/turf/open/floor/plasteel, -/area/science/mixing) -"egs" = ( -/obj/structure/sign/poster/official/report_crimes{ - pixel_y = 32 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken5" - }, -/area/security/detectives_office/private_investigators_office) -"egt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera{ - c_tag = "Medbay - Morgue"; - dir = 1; - name = "medbay camera" - }, -/obj/structure/sign/poster/official/bless_this_spess{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/medical/morgue) -"egu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/item/twohanded/required/kirbyplants/random, -/obj/structure/sign/poster/official/do_not_question{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/detectives_office/private_investigators_office) -"egv" = ( -/obj/item/storage/toolbox/mechanical{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/storage/toolbox/electrical, -/obj/structure/table/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/obj/structure/sign/poster/official/report_crimes{ - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/science/mixing) -"egw" = ( -/obj/structure/table/wood, -/obj/item/storage/box/donkpockets, -/obj/structure/sign/poster/official/report_crimes{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 1 - }, -/area/science/research) -"egx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/sign/poster/official/cleanliness, -/turf/closed/wall, -/area/medical/virology) -"egy" = ( -/obj/structure/table/reinforced, -/obj/machinery/light{ - dir = 8 - }, -/obj/item/crowbar, -/obj/item/device/radio, -/obj/structure/sign/poster/official/do_not_question{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/blue/side{ - dir = 10 - }, -/area/security/checkpoint/customs) -"egz" = ( -/obj/machinery/disposal/bin, -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/delivery, -/obj/structure/sign/poster/official/help_others{ - pixel_x = 32 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/aft) -"egA" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"egB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"egC" = ( -/obj/machinery/power/apc/highcap/five_k{ - dir = 1; - name = "Departure Lounge APC"; - areastring = "/area/hallway/secondary/exit/departure_lounge"; - pixel_y = 28 - }, -/obj/machinery/camera{ - c_tag = "Departures - Fore"; - dir = 2; - name = "departures camera" - }, -/obj/structure/cable/white{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"egD" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"egF" = ( -/obj/effect/turf_decal/delivery, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"egG" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 1 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/obj/structure/sign/poster/official/work_for_a_future{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/vault, -/area/medical/virology) -"egH" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-22" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"egI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"egJ" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/exit/departure_lounge) -"egL" = ( -/obj/effect/turf_decal/delivery, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-22" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"egM" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"egP" = ( -/obj/structure/bodycontainer/morgue, -/obj/structure/sign/poster/official/ian{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/chapel/office) -"egQ" = ( -/obj/structure/chair, -/turf/open/floor/plasteel/red/side{ - dir = 9 - }, -/area/security/checkpoint/checkpoint2) -"egR" = ( -/obj/structure/table/wood, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/obj/item/clipboard, -/obj/item/toy/figure/chaplain, -/obj/structure/sign/poster/official/bless_this_spess{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/chapel/office) -"egS" = ( -/obj/docking_port/mobile/arrivals{ - dir = 2; - dwidth = 4; - height = 17; - name = "delta arrivals shuttle"; - width = 9 - }, -/obj/docking_port/stationary{ - dir = 2; - dwidth = 4; - height = 17; - id = "arrivals_stationary"; - name = "delta arrivals"; - width = 9 - }, -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/arrival) -"egT" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 4; - name = "External Docking Port" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"egU" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 8; - name = "External Docking Port" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"egV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 4; - name = "External Docking Port" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"egW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 8; - name = "External Docking Port" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"ehi" = ( -/obj/machinery/light/small{ - brightness = 3; - dir = 8 - }, -/turf/open/floor/pod/light, -/area/shuttle/transport) -"ehj" = ( -/obj/machinery/requests_console{ - department = "Arrival shuttle"; - name = "Arrivals Shuttle console" - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/shuttle/arrival) -"ehk" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/pod/light, -/area/shuttle/transport) -"ehl" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/shuttle/arrival) -"ehm" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/pod/light, -/area/shuttle/transport) -"ehn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/shuttle/supply) -"eho" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/shuttle/supply) -"ehp" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 1 - }, -/area/shuttle/escape) -"ehr" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 8; - heat_capacity = 1e+006 - }, -/area/shuttle/escape) -"ehs" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/shuttle/escape) "eht" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"ehv" = ( -/obj/machinery/light, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"ehw" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/light, -/turf/open/floor/mineral/plastitanium/brig, -/area/shuttle/escape) -"ehx" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/light/small, -/turf/open/floor/plasteel, -/area/shuttle/escape) -"ehy" = ( -/turf/closed/wall/r_wall, -/area/engine/supermatter) -"ehB" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/plating, -/area/engine/supermatter) -"ehF" = ( -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/circuit/green, -/area/engine/supermatter) -"ehJ" = ( -/obj/structure/sign/radiation, -/turf/closed/wall/r_wall, -/area/engine/supermatter) -"ehN" = ( -/obj/structure/chair/office/dark{ - dir = 8 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/neutral, -/area/engine/atmos) -"ehO" = ( -/obj/structure/displaycase/trophy, -/turf/open/floor/wood, -/area/library) -"ehS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/bot, -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - icon_state = "freezer"; - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/atmospherics_engine) -"ehT" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 5 - }, -/obj/machinery/meter, -/turf/open/floor/plasteel, -/area/engine/atmospherics_engine) -"ehV" = ( -/turf/closed/wall, -/area/quartermaster/office) -"ehW" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/quartermaster/office) -"eib" = ( -/obj/machinery/status_display, -/turf/closed/wall, -/area/quartermaster/office) -"eig" = ( -/turf/closed/wall/r_wall, -/area/maintenance/solars/starboard/aft) -"eik" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/maintenance/solars/starboard/aft) -"eil" = ( -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: EXTERNAL AIRLOCK" - }, -/turf/closed/wall/r_wall, -/area/maintenance/solars/starboard/aft) -"eip" = ( -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/solars/starboard/aft) -"eiq" = ( -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/landmark/blobstart, -/turf/open/floor/plating, -/area/maintenance/solars/starboard/aft) -"eir" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/solars/starboard/aft) -"eis" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 4; - name = "External Solar Access"; - req_access_txt = "10; 13" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/maintenance/solars/starboard/aft) -"eit" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/maintenance/solars/starboard/aft) -"eiv" = ( -/obj/structure/sign/electricshock, -/turf/closed/wall/r_wall, -/area/maintenance/solars/starboard/aft) -"eiE" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Port Primary Hallway APC"; - areastring = "/area/hallway/primary/port"; - pixel_x = 26 - }, -/obj/structure/cable/white{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/yellow/corner{ - dir = 4 - }, -/area/hallway/primary/port) -"eiF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/power/apc{ - dir = 2; - name = "Starboard Primary Hallway APC"; - areastring = "/area/hallway/primary/starboard"; - pixel_y = -26 - }, -/obj/structure/cable/white{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/starboard) -"eiG" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/white{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/neutral/side{ - dir = 8 - }, -/area/maintenance/starboard/aft) -"eiH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - dir = 4; - name = "Starboard Quarter Maintenance APC"; - areastring = "/area/hallway/primary/aft"; - pixel_x = 26 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) -"eiI" = ( -/obj/structure/cable/white{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/aft) -"eiJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/machinery/power/apc{ - dir = 4; - name = "Aft Primary Hallway APC"; - areastring = "/area/hallway/primary/aft"; - pixel_x = 26 - }, -/obj/structure/cable/white{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/primary/aft) -"eiK" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/aft) -"eiP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/hallway/secondary/command) -"eiQ" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/secondary/command) -"eiR" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/secondary/command) -"eiS" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/secondary/command) -"eiT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall, -/area/crew_quarters/dorms) -"eiU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/crew_quarters/dorms) -"eiZ" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/crew_quarters/dorms) -"eja" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 1 - }, -/area/crew_quarters/dorms) -"ejc" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/crew_quarters/dorms) -"eje" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/dorms) -"ejf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/dorms) -"ejg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/dorms) -"ejh" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/dorms) -"eji" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/dorms) -"ejj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8; - heat_capacity = 1e+006 - }, -/area/crew_quarters/dorms) -"ejl" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/turf/open/floor/plasteel/neutral/corner, -/area/crew_quarters/dorms) -"ejs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 1 - }, -/area/science/research) -"ejt" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/neutral, -/area/science/research) -"eju" = ( -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 - }, -/turf/open/floor/plasteel/whitepurple/corner{ - dir = 8 - }, -/area/science/research) -"ejv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light_switch{ - pixel_x = -26 - }, -/turf/open/floor/plating, -/area/quartermaster/warehouse) -"ejw" = ( -/obj/item/twohanded/required/kirbyplants/random, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/light_switch{ - pixel_x = 22; - pixel_y = -10 - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/engine/transit_tube) -"ejx" = ( -/obj/item/twohanded/required/kirbyplants/random, -/obj/machinery/light_switch{ - pixel_x = -26 - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/ai_monitored/turret_protected/aisat_interior) -"ejy" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/plasteel/brown, -/area/maintenance/disposal) -"ejz" = ( -/obj/item/twohanded/required/kirbyplants/random, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"ejA" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 - }, -/turf/open/floor/plating, -/area/maintenance/port) -"ejB" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/machinery/portable_atmospherics/pump, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/arrival{ - dir = 1 - }, -/area/crew_quarters/locker) -"epc" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 2; - name = "External Docking Port" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"eph" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Maintenance Hatch"; - req_access_txt = "12" - }, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/maintenance/port/fore) -"epi" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"epj" = ( -/obj/machinery/door/airlock/glass{ - name = "Holodeck Access" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) -"epk" = ( -/obj/machinery/door/airlock/glass{ - name = "Holodeck Access" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/recreation) -"epl" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/xenobiology) -"epm" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/xenobiology) -"epn" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/xenobiology) -"epo" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/engine/atmospherics_engine) -"eps" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/plating, -/area/engine/atmospherics_engine) -"ept" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/engine/atmospherics_engine) -"epu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/engine/atmospherics_engine) -"epv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/engine/atmospherics_engine) -"epw" = ( -/obj/machinery/light, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible, -/turf/open/floor/plasteel, -/area/engine/atmospherics_engine) -"epx" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/turf/open/floor/plasteel/neutral, -/area/engine/atmospherics_engine) -"epy" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/turf/open/floor/plasteel/yellow, -/area/engine/atmospherics_engine) -"epA" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/turf/closed/wall/r_wall, -/area/engine/supermatter) -"epB" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 8; - name = "External Solar Access"; - req_access_txt = "10; 13" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/maintenance/solars/starboard/fore) -"epC" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 1; - name = "External Docking Port" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"epD" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 8; - name = "External Solar Access"; - req_access_txt = "10"; - req_one_access = null; - req_one_access_txt = "13; 24" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/maintenance/solars/port/fore) -"epE" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/glass_command{ - cyclelinkeddir = 8; - name = "Bridge Access"; - req_access_txt = "19" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/bridge) -"epF" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/hatch{ - cyclelinkeddir = 8; - name = "MiniSat Exterior Access"; - req_one_access_txt = "32;19" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/engine/transit_tube) -"epG" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/glass_security{ - cyclelinkeddir = 8; - name = "Brig"; - req_access_txt = "63" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/brig) -"epH" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass_security{ - cyclelinkeddir = 8; - name = "Brig"; - req_access_txt = "63" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/brig) -"epI" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 8; - name = "External Containment Access"; - req_access_txt = "10; 13" - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"epJ" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 8; - name = "External Containment Access"; - req_access_txt = "10; 13" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"epK" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 8; - name = "External Airlock"; - req_access_txt = "13" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/maintenance/port) -"epL" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/research{ - cyclelinkeddir = 1; - name = "Research Division Access"; - req_access_txt = "47" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/research) -"epM" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/research{ - cyclelinkeddir = 1; - name = "Research Division Access"; - req_access_txt = "47" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/research) -"epN" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 8; - name = "External Solar Access"; - req_access_txt = "10; 13" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/maintenance/solars/starboard/aft) -"epO" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 8; - name = "External Docking Port" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit/departure_lounge) -"epQ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 8; - name = "External Solar Access"; - req_access_txt = "10; 13" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/maintenance/solars/port/aft) -"epS" = ( -/obj/machinery/door/airlock/external{ - cyclelinkeddir = 8; - name = "External Docking Port"; - req_access_txt = "63" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/checkpoint/checkpoint2) -"epT" = ( -/obj/structure/closet/toolcloset, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/construction/mining/aux_base) -"epU" = ( -/obj/machinery/atmospherics/pipe/manifold4w/general/visible, -/turf/open/floor/plasteel/neutral, -/area/engine/atmos) -"epV" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"epW" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/turf/open/floor/plating, -/area/engine/atmos) -"epX" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 10 - }, -/turf/open/floor/plasteel/neutral, -/area/engine/atmos) -"epY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/closed/wall/r_wall, -/area/engine/atmos) -"epZ" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ - dir = 8 - }, -/turf/open/floor/plasteel/neutral, -/area/engine/atmos) -"eqa" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/atmos) -"eqb" = ( -/obj/structure/sign/electricshock, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/closed/wall/r_wall, -/area/engine/atmospherics_engine) -"eqc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/engine/atmospherics_engine) -"eqd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Maintenance Hatch"; - req_access_txt = "12" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/barricade/wooden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/maintenance/starboard/fore) -"eqe" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/engine/gravity_generator) -"eqf" = ( -/obj/machinery/door/airlock/maintenance_hatch/abandoned{ - name = "Maintenance Hatch"; - req_access_txt = "12" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/construction) -"eqg" = ( -/turf/closed/wall, -/area/maintenance/department/medical) -"eqo" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/maintenance/department/medical) -"eqt" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/construction/mining/aux_base) -"equ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/arrival, -/area/hallway/secondary/entry) -"eqw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) -"eqx" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/carpet, -/area/hallway/secondary/entry) -"eqy" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plating, -/area/maintenance/port/fore) -"eqz" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel, -/area/engine/atmospherics_engine) -"eqA" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral/side{ - dir = 1 - }, -/area/maintenance/port/fore) -"eqB" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"eqC" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral/side, -/area/maintenance/port/fore) -"eqD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/quartermaster/storage) -"eqE" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral/corner{ - dir = 4 - }, -/area/hallway/secondary/service) -"eqF" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/redyellow, -/area/crew_quarters/bar/atrium) -"eqG" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/quartermaster/storage) -"eqH" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/grimy, -/area/crew_quarters/bar/atrium) -"eqI" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/quartermaster/office) -"eqJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/quartermaster/qm) -"eqL" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plating, -/area/maintenance/port/fore) -"eqM" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/greenblue/side, -/area/hydroponics) -"eqO" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/quartermaster/miningoffice) -"eqP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/engine/atmos) -"eqQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/fore) -"eqR" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/red, -/area/crew_quarters/kitchen) -"eqT" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/hydroponics) -"eqU" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"eqV" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"eqW" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/security/brig) -"eqX" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/engine/atmos) -"eqY" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"eqZ" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/bridge) -"era" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/security/execution/transfer) -"erb" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/storage/tech) -"erc" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/engine/break_room) -"erd" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/storage/primary) -"ere" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/darkblue/side, -/area/bridge) -"erf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/maintenance/port/fore) -"erg" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/red/side{ - dir = 8 - }, -/area/security/brig) -"eri" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"erj" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/security/detectives_office) -"erk" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"erl" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/grimy, -/area/tcommsat/computer) -"erm" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/port) -"ern" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/starboard) -"erp" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel, -/area/engine/engineering) -"erq" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/grimy, -/area/crew_quarters/heads/hop) -"err" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/maintenance/port) -"ers" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/grimy, -/area/library) -"eru" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plating, -/area/maintenance/starboard) -"erv" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/engine/engineering) -"erw" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/wood, -/area/library) -"erx" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral/corner{ - dir = 8 - }, -/area/hallway/secondary/command) -"ery" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral/corner, -/area/hallway/secondary/command) -"erz" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/central) -"erA" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/locker) -"erB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral/side, -/area/maintenance/starboard) -"erD" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"erE" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/yellow, -/area/engine/storage) -"erF" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/toilet/restrooms) -"erH" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral/side, -/area/crew_quarters/fitness/recreation) -"erI" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel, -/area/engine/engineering) -"erJ" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plating, -/area/maintenance/port) -"erO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plating, -/area/maintenance/port) -"erP" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) -"erQ" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"erR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/cmo, -/area/medical/medbay/central) -"erS" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/science/research) -"erT" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/crew_quarters/fitness/recreation) -"erU" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"erV" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/aft) -"erW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral/side{ - dir = 1; - heat_capacity = 1e+006 - }, -/area/maintenance/starboard/aft) -"erX" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/purple, -/area/science/research) -"erY" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/maintenance/port) -"erZ" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/blue, -/area/medical/medbay/central) -"esa" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral/side, -/area/maintenance/port) -"esb" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/science/research) -"esc" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/medical/medbay/central) -"esf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) -"esh" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral/side{ - dir = 1 - }, -/area/maintenance/port) -"esj" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/science/robotics/lab) -"esk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral/side, -/area/maintenance/starboard/aft) -"esl" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/purple, -/area/science/research) -"esm" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/science/mixing) -"esn" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/hallway/primary/aft) -"eso" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral/side, -/area/maintenance/aft) -"esp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"esq" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral, -/area/hallway/secondary/exit/departure_lounge) -"esr" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/maintenance/port/aft) -"ess" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel{ - dir = 1; - icon_state = "chapel" - }, -/area/chapel/main) -"est" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel{ - icon_state = "chapel" - }, -/area/chapel/main) -"esv" = ( -/obj/structure/closet/secure_closet/miner/unlocked, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/construction/mining/aux_base) -"esw" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"esx" = ( -/obj/machinery/computer/shuttle/mining, -/turf/open/floor/plasteel/yellow/side{ - dir = 4 - }, -/area/construction/mining/aux_base) -"esy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/structure/ore_box, -/turf/open/floor/plating, -/area/shuttle/auxillary_base) -"esz" = ( -/turf/closed/wall/r_wall, -/area/maintenance/department/medical/morgue) -"esB" = ( -/turf/closed/wall, -/area/maintenance/department/medical/morgue) -"esC" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/maintenance/department/medical/morgue) -"esD" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/maintenance/department/medical/morgue) -"esE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc{ - dir = 2; - name = "Morgue Maintenance APC"; - areastring = "/area/maintenance/department/medical/morgue"; - pixel_y = -26 - }, -/obj/structure/cable/white{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/maintenance/department/medical/morgue) -"YGI" = ( -/obj/docking_port/stationary{ - dheight = 9; - dir = 2; - dwidth = 5; - height = 24; - id = "syndicate_nw"; - name = "northwest of station"; - turf_type = /turf/open/space; - width = 18 - }, -/turf/open/space/basic, -/area/space) -"YGJ" = ( -/obj/structure/reflector/double/anchored{ - dir = 5 - }, -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/engine/atmospherics_engine) -"YGK" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 8 - }, -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/window/plasma/reinforced{ - dir = 4 - }, -/turf/open/floor/circuit/green, -/area/engine/supermatter) -"YGL" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 4 - }, -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/window/plasma/reinforced{ - dir = 8 - }, -/turf/open/floor/circuit/green, -/area/engine/supermatter) -"YGM" = ( /obj/machinery/vending/kink, /turf/open/floor/plating, /area/maintenance/port/fore) -"YGN" = ( +"ehu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_security{ name = "Security Desk"; @@ -102644,7 +104750,7 @@ dir = 8 }, /area/security/brig) -"YGO" = ( +"ehv" = ( /obj/machinery/vending/kink, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) @@ -105589,7 +107695,7 @@ aaa aaa aaa aaa -aad +aab aaa aaa aaa @@ -107394,21 +109500,21 @@ aaa aaa aaa aaa -agg -agg -agg -agg -aaf -agg -agg -agg -aaf -agg -agg -agg -aaf -agg -agg +ajr +ajr +ajr +ajr +aad +ajr +ajr +ajr +aad +ajr +ajr +ajr +aad +ajr +ajr aaa aaa aaa @@ -107651,21 +109757,21 @@ aaa aaa aaa aaa -agg +ajr aaa -biN -blN -biN -blN -biN -blN -biN -blN -biN -blN -biN +bmD +bpF +bmD +bpF +bmD +bpF +bmD +bpF +bmD +bpF +bmD aaa -agg +ajr aaa aaa aaa @@ -107908,21 +110014,21 @@ aaa aaa aaa aaa -aaf -bgO -bHj -bww -bLo -bww -bOZ -bRe -bTx -bww -bww -bww -bHt -bnP -agg +aad +bkE +bLt +bAw +bPB +bAw +bTm +bVs +bXS +bAw +bAw +bAw +bLD +brN +ajr aaa aaa aaa @@ -108152,34 +110258,34 @@ aaa aaa aaa aaa -aaf -agg -agg -agg -agg -agg -aaf -agg -agg -aaf -agg -agg -agg -agg -bgP -bHk -bJk -biR -bNj -bPa -bRf -bTy -bnN -biR -bkt -bHk -bnO -aaf +aad +ajr +ajr +ajr +ajr +ajr +aad +ajr +ajr +aad +ajr +ajr +ajr +ajr +bkF +bLu +bNu +bmH +bRx +bTn +bVt +bXT +brL +bmH +boj +bLu +brM +aad aaa aaa aaa @@ -108409,34 +110515,34 @@ aaa aaa aaa aaa -aaf +aad aaa -blN -biN -biN -blN -biN -biN -blN -biN -biN -blN -biN -blN -bko -bHk -bnQ -bLp -bLp -bLp -bRg -bTz -bLp -bLp -bNB -bHk -bnP -agg +bpF +bmD +bmD +bpF +bmD +bmD +bpF +bmD +bmD +bpF +bmD +bpF +boe +bLu +brO +bPC +bPC +bPC +bVu +bXU +bPC +bPC +bRO +bLu +brN +ajr aaa aaa aaa @@ -108666,42 +110772,42 @@ aaa aaa aaa aaa -agg -bgP -blO -bnM -bnM -bnM -bnM -btv -buR -bww -bww -bww -bww -bww -bww -bHl -bnP -bLp -bNk -bPb -bRh -bTA -bVC -bLp -bgO -bHk -bnO -agg -agg -agg -agg -agg -agg -aaf -agg -agg +ajr +bkF +bpG +brK +brK +brK +brK +bxu +byR +bAw +bAw +bAw +bAw +bAw +bAw +bLv +brN +bPC +bRy +bTo +bVv +bXV +bZZ +bPC +bkE +bLu +brM +ajr +ajr +ajr +ajr +ajr +ajr +aad +ajr +ajr aaa aaa aaa @@ -108923,42 +111029,42 @@ aaa aaa aaa aaa -agg -bgO -blP -bnN -bpI -biR -biR -biR -bpI -biR -biR -bpI -biR -biR -bpI -bHm +ajr +bkE +bpH +brL +btF +bmH +bmH +bmH +btF +bmH +bmH +btF +bmH +bmH +btF +bLw aaa -bLp -bNl -bPc -bRi -bTB -bVD -bLp -bgO -bHk -ccG -biN -blN -biN -biN -blN -biN -blN +bPC +bRz +bTp +bVw +bXW +caa +bPC +bkE +bLu +chh +bmD +bpF +bmD +bmD +bpF +bmD +bpF aaa -agg +ajr aaa aaa aaa @@ -109180,42 +111286,42 @@ aaa aaa aaa aaa -agg -bgO -blP -bnO -aaf -aaf -aaf -bpK -bpK -bpK -bpK -bpK -bpK -bpK -bpK -bpK -bpK -bLp -bNm -bPd -bRj -bTC -bVE -bLp -bNB -bHu -bww -bww -cfL -bnM -ciQ -bnM -bnM -cmZ -bnP -agg +ajr +bkE +bpH +brM +aad +aad +aad +btH +btH +btH +btH +btH +btH +btH +btH +btH +btH +bPC +bRA +bTq +bVx +bXX +cab +bPC +bRO +bLE +bAw +bAw +ckm +brK +cnt +brK +brK +crE +brN +ajr aaa aaa aaa @@ -109437,42 +111543,42 @@ aaa aaa aaa aaa -aaf -bgP -blP -bnP -aaf -aaf -bpK -bpK -bpK -bwx -bpK -bpK -bpK -bso -bpK -bwx -bpK -bLp -bNn -bPe -bRk -bTC -bVF -bLp +aad +bkF +bpH +brN +aad +aad +btH +btH +btH +bAx +btH +btH +btH +bwn +btH +bAx +btH +bPC +bRB +bTr +bVy +bXX +cac +bPC aaa -bpI -biR -biR -bpI -biR -biR -blV -clD -blP -bnO -agg +btF +bmH +bmH +btF +bmH +bmH +bpN +cqj +bpH +brM +ajr aaa aaa aaa @@ -109694,42 +111800,42 @@ aaa aaa aaa aaa -agg -bgO -blP -bnP +ajr +bkE +bpH +brN aaa -bpK -bpK -bpK -buS -bwy -bpK -bAc -bpK -bwy -bwG -bHn -bpK -bLp -bNo -bPf -bRl -bTD -bVG -bLp -bYV -bYV -ccH -cep -bYV -bYV -aaf -aaf -bgP -blP -bnP -aaf +btH +btH +btH +byS +bAy +btH +bEf +btH +bAy +bAG +bLx +btH +bPC +bRC +bTs +bVz +bXY +cad +bPC +cdt +cdt +chi +ciQ +cdt +cdt +aad +aad +bkF +bpH +brN +aad aaa aaa aaa @@ -109949,46 +112055,46 @@ aaa aaa aaa aaa -agg -agg -agg -bgP -blP -bnQ -aaf -bpK -bpK -btw -buT -bwz -byo -bAd -byt -byq -bFv -byq -btw -bLp -bNp -bLp -bRm -bTE -bLp -bLp -bYW -caV -ccI -bYX -cfM -bYV -bYV -aaf -bgO -blP -bnO -agg -agg -agg +ajr +ajr +ajr +bkF +bpH +brO +aad +btH +btH +bxv +byT +bAz +bCq +bEg +bCv +bCs +bJF +bCs +bxv +bPC +bRD +bPC +bVA +bXZ +bPC +bPC +cdu +cfs +chj +cdv +ckn +cdt +cdt +aad +bkE +bpH +brM +ajr +ajr +ajr aaa aaa aaa @@ -110206,46 +112312,46 @@ aaa aaa aaa aaa -agg +ajr aaa -biN -bko -blP -bnP +bmD +boe +bpH +brN aaa -bpK -bso -btx -buU -bwA -byp -bAe -byp -byp -bFw -bHo -bJl -bLq -bNq -bPg -bRn -bTF -bNq -bNp -bYX -caW -ccJ -ceq -cfN -chj -bYV -bYV -bgO -blP -bJr -blN +btH +bwn +bxw +byU +bAA +bCr +bEh +bCr +bCr +bJG +bLy +bNv +bPD +bRE +bTt +bVB +bYa +bRE +bRD +cdv +cft +chk +ciR +cko +clM +cdt +cdt +bkE +bpH +bNB +bpF aaa -agg +ajr aaa aaa aaa @@ -110463,46 +112569,46 @@ aaa aaa aaa aaa -agg -bgO -biO -bkp -blQ -bnR -bpJ -bpJ -bpJ -bty -buV -bwB -byq -byq -bBM -byq -byq -bHp -bJm -bLp -bNr -bPh -bRo -bTG -bVH -bLp -bYY -caX -ccK -cer -cfO -chk -ciR -ckt -clE -cna -coF -cqg -bnO -agg +ajr +bkE +bmE +bof +bpI +brP +btG +btG +btG +bxx +byV +bAB +bCs +bCs +bFS +bCs +bCs +bLz +bNw +bPC +bRF +bTu +bVC +bYb +cae +bPC +cdw +cfu +chl +ciS +ckp +clN +cnu +coX +cqk +crF +ctj +cuN +brM +ajr aaa aaa aaa @@ -110720,46 +112826,46 @@ aaa aaa aaa aaa -agg -bgP -biP -bkq -blR -bnP -bpK -bpK -bsp -btz -buW -bwB -bpK -bAf -bpK -bpK -bFx -bHp -bJn -bLr -bNs -bPi -bRp -bTH -bVI -bLr -bYZ -caY -ccL -ces -caX -caW -ciS -bYV -bgO -biP -coG -blR -bnP -agg +ajr +bkF +bmF +bog +bpJ +brN +btH +btH +bwo +bxy +byW +bAB +btH +bEi +btH +btH +bJH +bLz +bNx +bPE +bRG +bTv +bVD +bYc +caf +bPE +cdx +cfv +chm +ciT +cfu +cft +cnv +cdt +bkE +bmF +ctk +bpJ +brN +ajr aaa aaa aaa @@ -110977,59 +113083,59 @@ aaa aaa aaa aaa -aaf -bgO -biP -bkr -blS -bnS -bpK -bpK -bsq -btA -buX -bwC -byr -bAg -bBN -bpK -bFy -bHq -bAd -bLs -bNt -bPj -bRq -bTI -bVJ -bXn -bZa -caZ -ccM -cet -cfP -chl -ciT -cep -clF -biP -bkr -blR -bnO -aaf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa aad +bkE +bmF +boh +bpK +brQ +btH +btH +bwp +bxz +byX +bAC +bCt +bEj +bFT +btH +bJI +bLA +bEg +bPF +bRH +bTw +bVE +bYd +cag +cbM +cdy +cfw +chn +ciU +ckq +clO +cnw +ciQ +cql +bmF +boh +bpJ +brM +aad +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aab aaa aaa aaa @@ -111234,46 +113340,46 @@ aaa aaa aaa aaa -agg -bgP -biP -bkq -blR -bnP -bpK -bpK -bsr -btz -buY -bwB -bpK -bAh -bpK -bpK -bFz -bHr -bJo -bLt -bNu -bPk -bRr -bTJ -bVK -bLt -bZb -cba -ccN -ceu -caX -caW -ciU -bYV -bgO -biP -coG -blR -bnP -agg +ajr +bkF +bmF +bog +bpJ +brN +btH +btH +bwq +bxy +byY +bAB +btH +bEk +btH +btH +bJJ +bLB +bNy +bPG +bRI +bTx +bVF +bYe +cah +bPG +cdz +cfx +cho +ciV +cfu +cft +cnx +cdt +bkE +bmF +ctk +bpJ +brN +ajr aaa aaa aaa @@ -111491,46 +113597,46 @@ aaa aaa aaa aaa -agg -bgO -biQ -bks -blT -bnT +ajr +bkE +bmG +boi bpL -bpL -bpL -btB -buZ -bwD -btB -btB -bBO -btB -bFA -bHp -bJp -bLu -bNr -bPl -bRs -bTK -bVL -bLp -bYY -cbb -ccO -cev -cfQ -chm -ciV -cku -clG -cnb -coH -cqh -bnO -agg +brR +btI +btI +btI +bxA +byZ +bAD +bxA +bxA +bFU +bxA +bJK +bLz +bNz +bPH +bRF +bTy +bVG +bYf +cai +bPC +cdw +cfy +chp +ciW +ckr +clP +cny +coY +cqm +crG +ctl +cuO +brM +ajr aaa aaa aaa @@ -111748,46 +113854,46 @@ aaa aaa aaa aaa -agg +ajr aaa -biR -bkt -blP -bnP +bmH +boj +bpH +brN aaa -bpK -bso -btx -bva -bwE -bys -bAi -bys -bys -bFB -bHs -bJq -bLv -bNq -bPm -bRt -bTL -bVM -bLp -bZd -caW -ccJ -cew -cfR -chn -bYV -bYV -bgO -blP -bJk -blV +btH +bwn +bxw +bza +bAE +bCu +bEl +bCu +bCu +bJL +bLC +bNA +bPI +bRE +bTz +bVH +bYg +caj +bPC +cdA +cft +chk +ciX +cks +clQ +cdt +cdt +bkE +bpH +bNu +bpN aaa -agg +ajr aaa aaa aaa @@ -112005,46 +114111,46 @@ aaa aaa aaa aaa -agg -agg -agg -bgP -blP -bnQ -aaf -bpK -bpK -btw -bvb -bwF -byt -bAd -byo -byq -bFC -byq -btw -bLp -bNp -bPn -bRu -bTE -bLp -bLp -bYW -cbc -ccP -bYX -cfS -bYV -bYV -aaf -bgO -blP -bnO -agg -agg -agg +ajr +ajr +ajr +bkF +bpH +brO +aad +btH +btH +bxv +bzb +bAF +bCv +bEg +bCq +bCs +bJM +bCs +bxv +bPC +bRD +bTA +bVI +bXZ +bPC +bPC +cdu +cfz +chq +cdv +ckt +cdt +cdt +aad +bkE +bpH +brM +ajr +ajr +ajr aaa aaa aaa @@ -112264,42 +114370,42 @@ aaa aaa aaa aaa -agg -bgO -blP -bnP +ajr +bkE +bpH +brN aaa -bpK -bpK -bpK -bvc -bwG -bpK -bAj -bpK -bDD -bFD -bwy -bpK -bLp -bNw -bPo -ebZ -bTM -ejx -bLp -bYV -bYV -ccQ -cep -bYV -bYV -aaf -aaf -bgP -blP -bnP -agg +btH +btH +btH +bzc +bAG +btH +bEm +btH +bHM +bJN +bAy +btH +bPC +bRJ +bTB +bVJ +bYh +cak +bPC +cdt +cdt +chr +ciQ +cdt +cdt +aad +aad +bkF +bpH +brN +ajr aaa aaa aaa @@ -112521,42 +114627,42 @@ aaa aaa aaa aaa -aaf -bgO -blP -bnP -aaf -aaf -bpK -bpK -bpK -bwx -bpK -bpK -bpK -bso -bpK -bwx -bpK -bLp -bNx -bPp -bRv -bTB -bVN -bLp +aad +bkE +bpH +brN +aad +aad +btH +btH +btH +bAx +btH +btH +btH +bwn +btH +bAx +btH +bPC +bRK +bTC +bVK +bXW +cal +bPC aaa -bpM -biN -biN -bpM -biN -biN -blN -clH -blP -bnO -agg +btJ +bmD +bmD +btJ +bmD +bmD +bpF +cqn +bpH +brM +ajr aaa aaa aaa @@ -112778,42 +114884,42 @@ aaa aaa aaa aaa -agg -bgO -blP -bnO -aaf -aaf -aaf -bpK -bpK -bpK -bpK -bpK -bpK -bpK -bpK -bpK -bpK -bLp -bNy -bPp -bRj +ajr +bkE +bpH +brM +aad +aad +aad +btH +btH +btH +btH +btH +btH +btH +btH +btH +btH +bPC +bRL bTC -bVO -bLp -bNB -bHj -bww -bww -cfL -bnM -ciW -bnM -bnM -cnc -bnP -aaf +bVx +bXX +cam +bPC +bRO +bLt +bAw +bAw +ckm +brK +cnz +brK +brK +crH +brN +aad aaa aaa aaa @@ -113035,42 +115141,42 @@ aaa aaa aaa aaa -agg -bgO -blP -bnU -bpM -biN -biN -biN -bpM -biN -biN -bpM -biN -biN -bpM -biN +ajr +bkE +bpH +brS +btJ +bmD +bmD +bmD +btJ +bmD +bmD +btJ +bmD +bmD +btJ +bmD aaa -bLp -bNz -bPq -bRw -bTC -bVP -bLp -bgO -bHk -ccR -biR -blV -biR -biR -blV -biR -biR +bPC +bRM +bTD +bVL +bXX +can +bPC +bkE +bLu +chs +bmH +bpN +bmH +bmH +bpN +bmH +bmH aaa -agg +ajr aaa aaa aaa @@ -113292,42 +115398,42 @@ aaa aaa aaa aaa -agg -bgP -blU -bnM -bnM -bnM -bnM -btC -buR -bww -bww -bww -bBP -bww -bww -bHt -bnP -bLp -bNw -bPr -bRt -bTL -efJ -bLp -bgO -bHk -bnO -agg -agg -aaf -agg -agg -agg -aaf -agg -agg +ajr +bkF +bpM +brK +brK +brK +brK +bxB +byR +bAw +bAw +bAw +bFV +bAw +bAw +bLD +brN +bPC +bRJ +bTE +bVH +bYg +cao +bPC +bkE +bLu +brM +ajr +ajr +aad +ajr +ajr +ajr +aad +ajr +ajr aaa aaa aaa @@ -113549,37 +115655,37 @@ aaa aaa aaa aaa -agg +ajr aaa -blV -biR -biR -blV -biR -biR -blV -biR -biR -blV -biR -blV -bkt -bHk -bnQ -bLp -bLp -bPn -bRx -bTE -bLp -bLp -bNB -bHk -bnP -agg +bpN +bmH +bmH +bpN +bmH +bmH +bpN +bmH +bmH +bpN +bmH +bpN +boj +bLu +brO +bPC +bPC +bTA +bVM +bXZ +bPC +bPC +bRO +bLu +brN +ajr aaa aaa -aaf +aad aaa aaa aaa @@ -113806,37 +115912,37 @@ aaa aaa aaa aaa -agg -agg -agg -agg -aaf -agg -agg -agg -aaf -agg -agg -agg -agg -agg -bgP -bHk -bJr -biN -bNA -bPs -bRy -bTN -bnU -biN -bko -bHk -bnO -agg +ajr +ajr +ajr +ajr +aad +ajr +ajr +ajr +aad +ajr +ajr +ajr +ajr +ajr +bkF +bLu +bNB +bmD +bRN +bTF +bVN +bYi +brS +bmD +boe +bLu +brM +ajr aaa aaa -aaf +aad aaa aaa aaa @@ -114073,27 +116179,27 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf -agg -bgO -bHu -bJs -bLw -bww -bPt -bRz -bTO -bww -bww -bww -bHl -ccS -aaf -aaf -aaf -aaf +aad +ajr +bkE +bLE +bNC +bPJ +bAw +bTG +bVO +bYj +bAw +bAw +bAw +bLv +cht +aad +aad +aad +aad aaa aaa aaa @@ -114330,27 +116436,27 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf -aaf +aad +aad aaa -bkt -bJt -bJk -bNj -bPu -bRA -blR -bnN -biR -blV -biR +boj +bND +bNu +bRx +bTH +bVP +bpJ +brL +bmH +bpN +bmH aaa -agg +ajr aaa aaa -aaf +aad aaa aaa aaa @@ -114400,9 +116506,9 @@ aaa aaa aaa aaa -aaH +abj aaa -aaH +abj aaa aaa aaa @@ -114587,27 +116693,27 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf -agg -agg -bgP -bJu -bnO -bNB -bPu -ebV -blR -bnQ -agg -agg -agg -aaf -agg -aaf -aaf -agg +aad +ajr +ajr +bkF +bNE +brM +bRO +bTH +bVQ +bpJ +brO +ajr +ajr +ajr +aad +ajr +aad +aad +ajr aaa aaa aaa @@ -114657,9 +116763,9 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -114844,27 +116950,27 @@ aaa aaa aaa aaa -agg +ajr aaa -aaf +aad aaa -aaf +aad aaa -bJv +bNF aaa -bNB -bPu -bRC -blR -bnQ +bRO +bTH +bVR +bpJ +brO aaa -aaf +aad aaa aaa aaa -aaf +aad aaa -agg +ajr aaa aaa aaa @@ -114913,11 +117019,11 @@ aaa aaa aaa aaa -aaf -aaf +aad +aad aaa -aaf -aaf +aad +aad aaa aaa aaa @@ -115101,27 +117207,27 @@ aaa aaa aaa aaa -agg -aaf -agg +ajr +aad +ajr aaa -aaf +aad aaa -bJv +bNF aaa -bNB -bPu -bRB -blR -bnQ +bRO +bTH +bVS +bpJ +brO aaa -aaf +aad aaa aaa aaa -agg -aaf -agg +ajr +aad +ajr aaa aaa aaa @@ -115169,13 +117275,13 @@ aaa aaa aaa aaa -aaf -aaf -dBa -dAZ -dBa -aaf -aaf +aad +aad +dGX +dGW +dGX +aad +aad aaa aaa aaa @@ -115358,27 +117464,27 @@ aaa aaa aaa aaa -agg +ajr aaa -agg -aaf -aaf -aaf -bJv -aaf -bNC -bPu -bRD -bTP -aGe -aaf -aaf -aaf -aaf -aaf -agg +ajr +aad +aad +aad +bNF +aad +bRP +bTH +bVT +bYk +aJD +aad +aad +aad +aad +aad +ajr aaa -agg +ajr aaa aaa aaa @@ -115425,15 +117531,15 @@ aaa aaa aaa aaa -aaf -aaf -dAZ -dBa -dFD -dBa -dAZ -aaf -aaf +aad +aad +dGW +dGX +dLC +dGX +dGW +aad +aad aaa aaa aaa @@ -115615,27 +117721,27 @@ aaa aaa aaa aaa -aaf +aad aaa -agg +ajr aaa -aaf +aad aaa -bJv +bNF aaa -bgP -bPv -bRE -bTQ -bnO +bkF +bTI +bVU +bYl +brM aaa -aaf +aad aaa aaa aaa -agg -aaf -agg +ajr +aad +ajr aaa aaa aaa @@ -115681,17 +117787,17 @@ aaa aaa aaa aaa -aaf -aaf -dBa -dBa -dEw -dFE -dHn -dBa -dBa -aaf -aaf +aad +aad +dGX +dGX +dKw +dLD +dNo +dGX +dGX +aad +aad aaa aaa aaa @@ -115872,27 +117978,27 @@ aaa aaa aaa aaa -agg -aaf -agg +ajr +aad +ajr aaa -aaf +aad aaa -bJv +bNF aaa -bND -biR -bRF -biR -bVR +bRQ +bmH +bVV +bmH +cap aaa -aaf +aad aaa aaa aaa -aaf +aad aaa -agg +ajr aaa aaa aaa @@ -115936,21 +118042,21 @@ aaa aaa aaa aaa -aaH -aaf -aaf -dAZ -dAZ -dDG -dEx -dFF -dHo -dHV -dAZ -dAZ -aaf -aaf -aaH +abj +aad +aad +dGW +dGW +dJG +dKx +dLE +dNp +dNY +dGW +dGW +aad +aad +abj aaa aaa aaa @@ -116111,6 +118217,44 @@ aaa aaa aaa aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +ajr +aaa +ajr +aad +aad +aad +bNF +aad +bRR +aad +bVW +aad +bRR +aad +aad +aad +aad +aad +ajr +aaa aad aaa aaa @@ -116129,27 +118273,6 @@ aaa aaa aaa aaa -agg -aaa -agg -aaf -aaf -aaf -bJv -aaf -bNE -aaf -bRG -aaf -bNE -aaf -aaf -aaf -aaf -aaf -agg -aaa -aaf aaa aaa aaa @@ -116179,32 +118302,15 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -dBa -dCk -dDH -dDH -dFG -dHp -dFF -dII -dBa +dGX +dIi +dJH +dJH +dLF +dNq +dLE +dOL +dGX aaa aaa aaa @@ -116386,27 +118492,27 @@ aaa aaa aaa aaa -agg +ajr aaa -aaf +aad aaa -aaf -aaa -bJv +aad aaa bNF aaa -bRG +bRS aaa -bVS +bVW aaa -aaf +caq +aaa +aad aaa aaa aaa -agg -aaf -agg +ajr +aad +ajr aaa aaa aaa @@ -116450,21 +118556,21 @@ aaa aaa aaa aaa -aaH -aaf -aaf -dAZ -dAZ -dDI -dEy -dDH -dHq -dHW -dAZ -dAZ -aaf -aaf -aaH +abj +aad +aad +dGW +dGW +dJI +dKy +dJH +dNr +dNZ +dGW +dGW +aad +aad +abj aaa aaa aaa @@ -116643,35 +118749,32 @@ aaa aaa aaa aaa -aaf +aad aaa -agg -aaa -aaf -aaa -bJv -aaa -aaf -bPw -bRG -bTR -aaf -aaa -aaf -aaa -aaa -aaa -agg -aaa -agg +ajr aaa +aad aaa +bNF aaa +aad +bTJ +bVW +bYm +aad aaa aad aaa aaa aaa +ajr +aaa +ajr +aaa +aaa +aaa +aaa +aab aaa aaa aaa @@ -116709,17 +118812,20 @@ aaa aaa aaa aaa -aaf -aaf -dBa -dBa -dEz -dFF -dHr -dBa -dBa -aaf -aaf +aaa +aaa +aaa +aad +aad +dGX +dGX +dKz +dLE +dNs +dGX +dGX +aad +aad aaa aaa aaa @@ -116900,27 +119006,27 @@ aaa aaa aaa aaa -agg -aaf -agg +ajr +aad +ajr aaa -aaf +aad aaa -bJv +bNF aaa -aaf +aad aaa -bRH +bVX aaa -aaf +aad aaa -aaf +aad aaa aaa aaa -agg -aaf -agg +ajr +aad +ajr aaa aaa aaa @@ -116967,15 +119073,15 @@ aaa aaa aaa aaa -aaf -aaf -dAZ -dBa -dFH -dBa -dAZ -aaf -aaf +aad +aad +dGW +dGX +dLG +dGX +dGW +aad +aad aaa aaa aaa @@ -117157,27 +119263,27 @@ aaa aaa aaa aaa -agg +ajr aaa -agg -aaf -aaf -aaf -bJw -bLx +ajr +aad +aad +aad bNG -aaf -bRI -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf +bPK +bRT +aad +bVY +aad +aad +aad +aad +aad +aad +aad +aad aaa -agg +ajr aaa aaa aaa @@ -117225,13 +119331,13 @@ aaa aaa aaa aaa -aaf -aaf -dBa -dFI -dBa -aaf -aaf +aad +aad +dGX +dLH +dGX +aad +aad aaa aaa aaa @@ -117414,27 +119520,27 @@ aaa aaa aaa aaa -agg +ajr aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa -bJv +bNF aaa -bRJ +bVZ aaa -aaf +aad aaa -aaf +aad aaa aaa aaa -agg -aaf -agg +ajr +aad +ajr aaa aaa aaa @@ -117483,11 +119589,11 @@ aaa aaa aaa aaa -aaf -aaf +aad +aad aaa -aaf -aaf +aad +aad aaa aaa aaa @@ -117671,27 +119777,27 @@ aaa aaa aaa aaa -agg -aaf -agg +ajr +aad +ajr aaa -aaf +aad aaa -aaf +aad aaa -bJv +bNF aaa -bRJ +bVZ aaa -aaf +aad aaa -aaf +aad aaa aaa aaa -agg +ajr aaa -aaf +aad aaa aaa aaa @@ -117741,9 +119847,9 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -117928,27 +120034,27 @@ aaa aaa aaa aaa -aaf +aad aaa -agg -aaf -aaf -aaf -aaf -aaf -bJv -aaf -bRJ -aaf -aaf -aaf -aaf -aaf -aaf -aaf -agg +ajr +aad +aad +aad +aad +aad +bNF +aad +bVZ +aad +aad +aad +aad +aad +aad +aad +ajr aaa -agg +ajr aaa aaa aaa @@ -117998,9 +120104,9 @@ aaa aaa aaa aaa -aaH +abj aaa -aaH +abj aaa aaa aaa @@ -118185,27 +120291,27 @@ aaa aaa aaa aaa -agg +ajr aaa -aaf +aad aaa aaa aaa -aaf +aad aaa -bJv +bNF aaa -bRJ +bVZ aaa -aaf +aad aaa -aaf +aad aaa aaa aaa -agg -aaf -agg +ajr +aad +ajr aaa aaa aaa @@ -118222,6 +120328,41 @@ aaa aaa aaa aaa +aab +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aad +aaa aad aaa aaa @@ -118255,42 +120396,7 @@ aaa aaa aaa aaa -aaf aaa -aaf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -eaT aaa aaa aaa @@ -118442,27 +120548,27 @@ aaa aaa aaa aaa -agg -aaf -agg +ajr +aad +ajr aaa aaa aaa -aaf +aad aaa -bJv +bNF aaa -bRJ +bVZ aaa -aaf +aad aaa -aaf +aad aaa aaa aaa -aaf +aad aaa -agg +ajr aaa aaa aaa @@ -118512,9 +120618,9 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -118699,27 +120805,27 @@ aaa aaa aaa aaa -agg +ajr aaa -agg -aaf -aaf -aaf -aaf -aaf -bJv -aaf -bRI -aaf -aaf -aaf -aaf -aaf -aaf -aaf -agg -aaf -agg +ajr +aad +aad +aad +aad +aad +bNF +aad +bVY +aad +aad +aad +aad +aad +aad +aad +ajr +aad +ajr aaa aaa aaa @@ -118769,18 +120875,18 @@ aaa aaa aaa aaa -aaf -aaa -aaf -aaa -aaa -aaa -aaa -aaa -aaa -aaa aad aaa +aad +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aab +aaa aaa aaa aaa @@ -118909,6 +121015,73 @@ aaa aaa aaa aaa +aab +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +ajr +aad +ajr +aaa +aaa +aaa +aad +aaa +bNF +aaa +bVZ +aaa +aad +aaa +aad +aaa +aaa +aaa +ajr +aaa aad aaa aaa @@ -118956,79 +121129,12 @@ aaa aaa aaa aaa -agg -aaf -agg aaa aaa aaa -aaf +aad aaa -bJv -aaa -bRJ -aaa -aaf -aaa -aaf -aaa -aaa -aaa -agg -aaa -aaf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaa -aaf +aad aaa aaa aaa @@ -119138,7 +121244,6 @@ aaa aaa aaa aaa -YGI aaa aaa aaa @@ -119213,28 +121318,28 @@ aaa aaa aaa aaa -agg aaa -aaf +ajr aaa +aad aaa aaa -aaf aaa -bJv +aad aaa -bRJ +bNF aaa -aaf +bVZ aaa -aaf +aad aaa +aad aaa aaa -agg aaa -agg +ajr aaa +ajr aaa aaa aaa @@ -119283,9 +121388,10 @@ aaa aaa aaa aaa -aaf aaa -aaf +aad +aaa +aad aaa aaa aaa @@ -119426,13 +121532,13 @@ aaa aaa aaa aaa -aae -aaf -aae -aaf -aae -aae -aae +aac +aad +aac +aad +aac +aac +aac aaa aaa aaa @@ -119470,27 +121576,27 @@ aaa aaa aaa aaa -agg -aaf -agg -aaf -aaf -aaf -aaf -aaf -bJv -aaf -bRJ -aaf -aaf -aaf -aaf -aaf -aaf -aaf -agg -aaf -agg +ajr +aad +ajr +aad +aad +aad +aad +aad +bNF +aad +bVZ +aad +aad +aad +aad +aad +aad +aad +ajr +aad +ajr aaa aaa aaa @@ -119540,9 +121646,9 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -119679,21 +121785,21 @@ aaa aaa aaa aaa -aae -aae -aaf -aae -aae +aac +aac +aad +aac +aac aaa -aaf +aad aaa -aaf +aad aaa -aae -aae -aaf -aae -aae +aac +aac +aad +aac +aac aaa aaa aaa @@ -119727,27 +121833,27 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa -aaf +aad aaa -bJv +bNF aaa -bRJ +bVZ aaa -aaf +aad aaa -aaf +aad aaa aaa aaa -agg +ajr aaa -agg +ajr aaa aaa aaa @@ -119797,9 +121903,9 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -119936,21 +122042,21 @@ aaa aaa aaa aaa -aae +aac aaa -aaf +aad aaa -aaf +aad aaa -alO -ebB -anZ +aoG +apH +aqJ aaa -aaf +aad aaa -aaf +aad aaa -aae +aac aaa aaa aaa @@ -119978,33 +122084,33 @@ aaa aaa aaa aaa -agg -agg -aaf -agg -agg -agg -aaf -agg -agg -agg -aaf -agg -aaf -aaf -bJv +ajr +ajr +aad +ajr +ajr +ajr +aad +ajr +ajr +ajr +aad +ajr +aad +aad +bNF aaa -bRJ +bVZ aaa -aaf +aad aaa -aaf +aad aaa aaa aaa -agg +ajr aaa -aaf +aad aaa aaa aaa @@ -120054,9 +122160,9 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -120193,21 +122299,21 @@ aaa aaa aaa aaa -aae +aac aaa -alO -ebB -anZ +aoG +apH +aqJ aaa -alO -amW -anZ +aoG +apI +aqJ aaa -alO -ebB -anZ +aoG +apH +aqJ aaa -aaf +aad aaa aaa aaa @@ -120235,33 +122341,33 @@ aaa aaa aaa aaa -agg +ajr aaa aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa aaa -bJv -aaf -bRI -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf +bNF +aad +bVY +aad +aad +aad +aad +aad +aad +aad +aad +aad +aad aaa aaa aaa @@ -120276,7 +122382,7 @@ aaa aaa aaa aaa -aaH +abj aaa aaa aaa @@ -120311,9 +122417,9 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -120450,21 +122556,21 @@ aaa aaa aaa aaa -aaf +aad aaa -alO -amW -anZ +aoG +apI +aqJ aaa -alO -amW -anZ +aoG +apI +aqJ aaa -alO -amW -anZ +aoG +apI +aqJ aaa -aae +aac aaa aaa aaa @@ -120492,63 +122598,63 @@ aaa aaa aaa aaa -agg -aaf -agg -agg -aaf -agg -agg -agg -agg -aaf -agg -agg -agg -aaf -bJv +ajr +aad +ajr +ajr +aad +ajr +ajr +ajr +ajr +aad +ajr +ajr +ajr +aad +bNF aaa -bRJ +bVZ aaa -aaf +aad aaa -aaf +aad aaa -aaf -agg -agg -agg -agg -aaf -agg -agg -aaf -agg -agg -agg -agg -agg -agg -aaf -aaf -aaf -aaf -aaH -aaf -aaf -agg -agg -agg -aaf -agg -agg -agg -aaf -agg -agg -aaf -agg -agg +aad +ajr +ajr +ajr +ajr +aad +ajr +ajr +aad +ajr +ajr +ajr +ajr +ajr +ajr +aad +aad +aad +aad +abj +aad +aad +ajr +ajr +ajr +aad +ajr +ajr +ajr +aad +ajr +ajr +aad +ajr +ajr aaa aaa aaa @@ -120568,9 +122674,9 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -120707,21 +122813,21 @@ aaa aaa aaa aaa -aae -aaf -alO -amW -anZ -aaf -alO -amW -anZ -aaf -alO -amW -anZ -aaf -aae +aac +aad +aoG +apI +aqJ +aad +aoG +apI +aqJ +aad +aoG +apI +aqJ +aad +aac aaa aaa aaa @@ -120749,63 +122855,63 @@ aaa aaa aaa aaa -agg +ajr aaa -agg -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -agg +ajr +aad +aad +aad +aad +aad +aad +aad +aad +aad +ajr aaa -bJv +bNF aaa -bRJ +bVZ aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa aaa -aaf +aad aaa aaa aaa -aaf +aad aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa aaa aaa -aaH +abj aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa -aaf -aaf +aad +aad aaa -agg +ajr aaa aaa aaa @@ -120825,9 +122931,9 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -120964,21 +123070,21 @@ aaa aaa aaa aaa -aae +aac aaa -alO -amW -anZ +aoG +apI +aqJ aaa -apD -amW -anZ +asj +apI +aqJ aaa -alO -amW -anZ +aoG +apI +aqJ aaa -aaf +aad aaa aaa aaa @@ -121006,63 +123112,63 @@ aaa aaa aaa aaa -aaf +aad aaa -agg -aaf -btD -btD -btD -btD -btD -btD -btD -aaf -aaf -aaf -bJv -aaf -bRJ -aaf -aaf -aaf -agg -agg -agg -aaf -agg -agg -agg -aaf -agg -agg -agg -aaf -agg -agg -agg -aaf -agg -agg -agg -aaf -aaf -aaH -aaf -agg -agg -agg -aaf -agg -agg -agg -aaf -agg -aaf -agg -agg -aaf -aaf +ajr +aad +bxC +bxC +bxC +bxC +bxC +bxC +bxC +aad +aad +aad +bNF +aad +bVZ +aad +aad +aad +ajr +ajr +ajr +aad +ajr +ajr +ajr +aad +ajr +ajr +ajr +aad +ajr +ajr +ajr +aad +ajr +ajr +ajr +aad +aad +abj +aad +ajr +ajr +ajr +aad +ajr +ajr +ajr +aad +ajr +aad +ajr +ajr +aad +aad aaa aaa aaa @@ -121082,9 +123188,9 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -121218,24 +123324,24 @@ aaa aaa aaa aaa -aae -aaf -aae -aae +aac +aad +aac +aac aaa -alO -amW -anZ +aoG +apI +aqJ aaa -aaf -amX -aaf +aad +apJ +aad aaa -alO -amW -anZ +aoG +apI +aqJ aaa -aaf +aad aaa aaa aaa @@ -121263,63 +123369,63 @@ aaa aaa aaa aaa -agg -aaf -agg -aaf -btD -bwH -bwH -bAk -bwH -bwH -btD -aaf -agg +ajr +aad +ajr +aad +bxC +bAH +bAH +bEn +bAH +bAH +bxC +aad +ajr aaa -bJv +bNF aaa -bRJ +bVZ aaa aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa -aaH +abj aaa -aaf +aad aaa -aaf -aaf -aaf +aad +aad +aad aaa -aaf -aaf -aaf +aad +aad +aad aaa -aaf -aaf -aaf -agg +aad +aad +aad +ajr aaa aaa aaa @@ -121339,9 +123445,9 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -121475,24 +123581,24 @@ aaa aaa aaa aaa -aae +aac aaa -aaf -aaf -aaf -aaf -amX -aaf -aaf -aaf -apE -aaf -aaf -aaf -amX -aaf -aaf -aaf +aad +aad +aad +aad +apJ +aad +aad +aad +ask +aad +aad +aad +apJ +aad +aad +aad aaa aaa aaa @@ -121515,68 +123621,68 @@ aaa aaa aaa aaa +aab aaa aaa aaa aaa +ajr aaa -agg +aad +aad +bxC +bAH +bCw +bCx +bCy +bAH +bxC +aad +ajr aaa -aaf -aaf -btD -bwH -byu -byv -byw -bwH -btD -aaf -agg +bNF aaa -bJv +bVZ aaa -bRJ -aaa -aaf -bVT -bZe -bZe -bZe -bVT -bZe -bZe -bZe -bVT -bZe -bZe -bZe -bVT -bZe -bZe -bZe -bVT -bZe -bZe -bZe -bVT -aaf -aaH -bWg -bWg -cJc -bWg -bWg -bWg -cJc -bWg -bWg -bWg -cJc -bWg -bWg -aaf -agg +aad +car +cdB +cdB +cdB +car +cdB +cdB +cdB +car +cdB +cdB +cdB +car +cdB +cdB +cdB +car +cdB +cdB +cdB +car +aad +abj +caE +caE +cOj +caE +caE +caE +cOj +caE +caE +caE +cOj +caE +caE +aad +ajr aaa aaa aaa @@ -121596,9 +123702,9 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -121732,37 +123838,37 @@ aaa aaa aaa aaa -aae -aaf -aiV -ajJ -ajJ -ajJ -ajJ -ajJ -aoG -apE -aqX -ajJ -ate -auu -apE -awP -axK -axK -axK -axK -ate -apE -apE -aaf -aaH -aaH -aaH -aaH -aaH -aaf -aaf +aac +aad +alS +amF +amF +amF +amF +amF +arj +ask +atH +amF +avY +axo +ask +azM +aAP +aAP +aAP +aAP +avY +ask +ask +aad +abj +abj +abj +abj +abj +aad +aad aaa aaa aaa @@ -121777,63 +123883,63 @@ aaa aaa aaa aaa -agg -aaf -agg -aaf -btD -bwH -byv -bAl -bBQ -bwH -btD -aaf -aaf -aaf -bJv -aaf -bRI -aaf -aaf -bVT -bVT -bVT -bVT -bVT -bVT -bVT -bVT -bVT -bVT -bVT -bVT -bVT -bVT -bVT -bVT -bVT -bVT -bVT -bVT -bVT -bWg -cEM -bWg -chC -cJd -cKU -bWg -cOb -cQb -cRv -bWg -cUW -cWy -cBl -bWg +ajr +aad +ajr +aad +bxC +bAH +bCx +bEo +bFW +bAH +bxC +aad +aad +aad +bNF +aad +bVY +aad +aad +car +car +car +car +car +car +car +car +car +car +car +car +car +car +car +car +car +car +car +car +car +caE +cJI +caE +cme +cOk +cQc +caE +cTj +cVl +cWH +caE +dal +dbM +ddB +caE aaa -agg +ajr aaa aaa aaa @@ -121853,9 +123959,9 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -121989,108 +124095,38 @@ aaa aaa aaa aaa -aae +aac aaa -aaf -aaf -aaf -aaf -amY -aaf -aaf -aaf -apE -aaf -aaf -aaf -amY -aaf -aaf -aaf -aaf -aaf -aaf -aaf -apE -aaf -aHA -aaf +aad +aad +aad +aad +apK +aad +aad +aad +ask +aad +aad +aad +apK +aad +aad +aad +aad +aad +aad +aad +apK +aad +aLb +aad aaa -aaf -aaH +aad +abj aaa -aaf -aaf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaa -agg -aaf -btD -bwH -byw -byv -byu -bwH -btD -aaf -agg -aaa -bJv -aaa -bRJ -aaa -aaf -bVT -bZe -bZe -bZe -bVT -bZe -bZe -bZe -bVT -bZe -bZe -bZe -bVT -bZe -bZe -bZe -bVT -bZe -bZe -bZe -bVT -cDx -cme -bWg -cHH -cJe -cKV -bWg -cOc -cQc -cbu -bWg -cUX -cWz -cYo -bWg -aaf -aaf +aad +aad aaa aaa aaa @@ -122106,13 +124142,83 @@ aaa aaa aad aaa +ajr +aad +bxC +bAH +bCy +bCx +bCw +bAH +bxC +aad +ajr +aaa +bNF +aaa +bVZ +aaa +aad +car +cdB +cdB +cdB +car +cdB +cdB +cdB +car +cdB +cdB +cdB +car +cdB +cdB +cdB +car +cdB +cdB +cdB +car +cIp +cqI +caE +cMM +cOl +cQd +caE +cTk +cVm +cfT +caE +dam +dbN +ddC +caE +aad +aad aaa aaa aaa aaa -aaf aaa -aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aab +aaa +aaa +aaa +aaa +aaa +aad +aaa +aad aaa aaa aaa @@ -122246,108 +124352,108 @@ aaa aaa aaa aaa -aae -aae -aaf -aaf +aac +aac +aad +aad aaa -alO -amZ -anZ +aoG +apL +aqJ aaa -aaf -amY -aaf +aad +apK +aad aaa -alO -amZ -anZ +aoG +apL +aqJ aaa -aaf +aad aaa aaa -aaf -aBX -aEN -aBX -aaH -aIN -aKf -aIN -aNC -aaf -agg -aaf -aaf -agg -agg -agg -agg -agg -aaf -agg -agg -agg -agg -agg -aaf -agg -aaf -agg -aaf -btD -bwI -byx -bwH -bBR -bDE -btD -aaf -aaf +aad +aFp +aIj +aFp +abj +aMt +aNO +aMt +aRm +aad +ajr +aad +aad +ajr +ajr +ajr +ajr +ajr +aad +ajr +ajr +ajr +ajr +ajr +aad +ajr +aad +ajr +aad +bxC +bAI +bCz +bAH +bFX +bHN +bxC +aad +aad aaa -bJv +bNF aaa -bRJ +bVZ aaa -bVT -bVT -bVT -aaf +car +car +car +aad aaa -cex +ciY aaa aaa aaa -aaf +aad aaa aaa aaa -aaf +aad aaa aaa aaa -cvY +cAG aaa -aaf -bVT -bVT -bVT -epK -bWg -bWg -chF -bWg -bWg -bWg -chF -bWg -bWg -bWg -chF -bWg -bWg -aaf -agg +aad +car +car +car +cJJ +caE +caE +cmh +caE +caE +caE +cmh +caE +caE +caE +cmh +caE +caE +aad +ajr aaa aaa aaa @@ -122367,9 +124473,9 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -122506,105 +124612,105 @@ aaa aaa aaa aaa -aae +aac aaa -alO -amZ -anZ +aoG +apL +aqJ aaa -alO -amZ -anZ +aoG +apL +aqJ aaa -alO -amZ -anZ +aoG +apL +aqJ aaa -agg +ajr aaa -aaf -aaf -aBX -aEO -aBX -aaH -aBZ -aKg -aBZ -aND -aPf +aad +aad +aFp +aIk +aFp +abj +aFr +aNP +aFr +aRn +aSP aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa aaa -aaf -btD -bwJ -byy -bAm -byy -bDF -btD -aaf -bJx -bLx +aad +bxC +bAJ +bCA +bEp +bCA +bHO +bxC +aad bNH -aaf -bRJ -aaf -bVT -bXo -bZf -bZf +bPK +bRU +aad +bVZ +aad +car +cbN +cdC +cdC aaa -cey -cfT -cfT -ciX -cfT -cfT -ciX -cfT -cfT -ciX -cfT -cfT -cvZ +ciZ +cku +cku +cnA +cku +cku +cnA +cku +cku +cnA +cku +cku +cAH aaa -bZf -bZf -cCm -bVT -bZD -cGp -cHI -cJf -cHI -cMp -cOd -cQd -cHI -cHI -cMp -cWA -cYp -bWg -aaf -agg +cdC +cdC +cHb +car +ceb +cLr +cMN +cOm +cMN +cRy +cTl +cVn +cMN +cMN +cRy +dbO +ddD +caE +aad +ajr aaa aaa aaa @@ -122624,9 +124730,9 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -122763,105 +124869,105 @@ aaa aaa aaa aaa -aae -aaf -alO -amZ -anZ -aaf -alO -amZ -anZ -aaf -alO -amZ -anZ -aaf -agg -aaf -aaf -aBX -aBX -epD -aBX -aBZ -aBZ -aKh -aBZ -aBZ -aPg -agg -agg -agg -agg -agg -aaf -agg -agg -agg -agg -agg -aaf -agg -agg -agg -agg -agg -aaf -aaf -btD -bwK -byz -eqe -bBS -bDG -btD -aaf -bJv -aaf -aaf -aaf -bRJ -aaf -bVT -bXo -bZf -cbd -aaf -cez -cfU -cho -ciY -cho -cho -ciY -cho -cho -ciY -cho -cuI -cez -aaf -czj -bZf -cCm -bVT -cyh -duO -ceO -cJg -cdj -cMq -cMq -bZC -bZD -cdj -erY -duO -bZC -cJc -aaf -agg +aac +aad +aoG +apL +aqJ +aad +aoG +apL +aqJ +aad +aoG +apL +aqJ +aad +ajr +aad +aad +aFp +aFp +aIl +aFp +aFr +aFr +aNQ +aFr +aFr +aSQ +ajr +ajr +ajr +ajr +ajr +aad +ajr +ajr +ajr +ajr +ajr +aad +ajr +ajr +ajr +ajr +ajr +aad +aad +bxC +bAK +bCB +bEq +bFY +bHP +bxC +aad +bNF +aad +aad +aad +bVZ +aad +car +cbN +cdC +cfA +aad +cja +ckv +clR +cnB +clR +clR +crI +clR +clR +cnB +clR +czo +cja +aad +cDT +cdC +cHb +car +cCO +cLs +cjp +cOn +cjq +ced +ced +cea +ceb +cjq +dan +cLs +cea +cOj +aad +ajr aaa aaa aaa @@ -122881,9 +124987,9 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -123020,117 +125126,117 @@ aaa aaa aaa aaa -aae +aac aaa -alO -amZ -anZ +aoG +apL +aqJ aaa -alO -amZ -anZ +aoG +apL +aqJ aaa -alO -amZ -anZ +aoG +apL +aqJ aaa -agg +ajr aaa -aaf -aBY -aDs -aEP -aGf -aBZ -aIO -aKi -aLN -aNE -aPh -aaf -aaf +aad +aFq +aGM +aIm +aJE +aFr +aMu +aNR +aPx +aRo +aSR +aad +aad aaa -aaf -aaf -aaf +aad +aad +aad aaa -aaf -aaf -aaf +aad +aad +aad aaa -aaf -aaf -aaf +aad +aad +aad aaa -aaf -aaf -aaf -aaf -btD -bwL -byA -bAn -bBT -bDH -btD -bHv -bJy -bHv -bHv -aaf -bRJ -aaf -bVT -bXp -bZg -cbd +aad +aad +aad +aad +bxC +bAL +bCC +bEr +bFZ +bHQ +bxC +bLF +bNI +bLF +bLF +aad +bVZ +aad +car +cbO +cdD +cfA aaa -cez -cfV -clJ -aaf -aaf -cho +cja +ckw +clS +aad +aad +clR aaa -aaH -aaf -aaf -coI -cuJ -cez +abj +aad +aad +cxA +ctn +cja aaa -czj -cAU -cCn -bVT -bZD -duO -cHJ -cHJ -cHJ -cHJ -cHJ -cHJ -cHJ -cHJ -cHJ -cWB -cbu -bWg -aaf -aaf +cDT +cFH +cHc +car +ceb +cLs +cMO +cMO +cMO +cMO +cMO +cMO +cMO +cMO +cMO +dbP +cfT +caE +aad +aad aaa -dcs -dcs -aHW -dcs -aHW -dcs -dcs +dhD +dhD +dfY +dhD +dfY +dhD +dhD aaa aaa -agg -agg +ajr +ajr aaa aaa aaa @@ -123138,9 +125244,9 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -123277,127 +125383,127 @@ aaa aaa aaa aaa -aaf +aad aaa -alO -ebC -anZ +aoG +apM +aqJ aaa -alO -amZ -anZ +aoG +apL +aqJ aaa -alO -ebC -anZ +aoG +apM +aqJ aaa -aaf +aad aaa -aaf -aBY -aDt -aEQ -aGg -aBZ -aIP -aKj -aLO -aBZ -aPg -aNV -aNV -aNV -aNV -aNV -aNV -aNV -aNV -aNV -aNV -aNV -aNV -aNV -aNV -aNV -aNV -aNV -aaf -aaf -btD -bwM -byB -bAo -bBU -bDI -btD -bHw -bJz -bLy -bHv -bPx -bRK -bPx -bVT -bXq -bZf -cbd -aaf -ceA -cfW -aaf +aad +aFq +aGN +aIn +aJF +aFr +aMv +aNS +aPy +aFr +aSQ +aRF +aRF +aRF +aRF +aRF +aRF +aRF +aRF +aRF +aRF +aRF +aRF +aRF +aRF +aRF +aRF +aRF +aad +aad +bxC +bAM +bCD +bEs +bGa +bHR +bxC +bLG +bNJ +bPL +bLF +bTK +bWa +bTK +car +cbP +cdC +cfA +aad +cjb +ckx +aad aaa aaa -aaH -aaf -aaH +abj +aad +abj aaa aaa -aaf -cuK -cwa -aaf -czj -bZf -cAW -bVT -erJ -duK -cHJ -efW -cKW -cMr -cOe +aad +czp +cAI +aad +cDT +cdC +cFJ +car +cIu +cLt +cMO +cOo cQe -cRw -cTi -cHJ -cWC -cYq -bWg -aaf -aaf -aaf -dcs -aJm -egl -dks -egm -diJ -dcs -aaf -aaf -aaf -aaf -aaf +cRz +cTm +cVo +cWI +cYx +cMO +dbQ +ddE +caE +aad +aad +aad +dhD +dmi +dnZ +dpN +drs +dod +dhD +aad +aad +aad +aad +aad aaa aaa aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -123534,127 +125640,127 @@ aaa aaa aaa aaa -agg +ajr aaa -aaf +aad aaa -aaf +aad aaa -alO -ebC -anZ +aoG +apM +aqJ aaa -aaf +aad aaa -aaf +aad aaa -agg -aaf -aaf -aBY -aDu -aER -aGh -aBZ -aIQ -aKk -aLP -aBZ -aPh -aNV -aSH -aUh -aSH -aNV -aZi -baG -aZi -aNV -bfa -bgQ -bfa -aNV -blW -bnV -blW -aNV -aaf -aaf -btD -bwN -byC -bAp -bBV -bDJ -btD -bHx -epF -bLz -bHv -bPy -bRL -bTS -bVT -bXr -bZh -cbd +ajr +aad +aad +aFq +aGO +aIo +aJG +aFr +aMw +aNT +aPz +aFr +aSR +aRF +aWt +aXV +aWt +aRF +bcX +beu +bcX +aRF +biT +bkG +biT +aRF +bpO +brT +bpO +aRF +aad +aad +bxC +bAN +bCE +bEt +bGb +bHS +bxC +bLH +bNK +bPM +bLF +bTL +bWb +bYn +car +cbQ +cdE +cfA aaa -cez -cfV -aaf +cja +ckw +aad aaa -aaH -aaH -aaH -aaH -aaH +abj +abj +abj +abj +abj aaa -aaf -cuJ -cez +aad +ctn +cja aaa -czj -cAV -cCo -bVT -cEN -duM -cHK -cJi -cKX -cMs -cOf +cDT +cFI +cHd +car +cJK +cLu +cMP +cOp cQf -cRx -cTj -cHJ -cWD -cYr -bWg -aHW -dcs -aHW -dcs -aPD -diG -dkt -dlW -aNZ -dcs -aHW -dcs -aHW -aHW -aaf -agg +cRA +cTn +cVp +cWJ +cYy +cMO +dbR +ddF +caE +dfY +dhD +dfY +dhD +dmj +doa +dpO +drt +dsW +dhD +dfY +dhD +dfY +dfY +aad +ajr aaa aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -123790,128 +125896,128 @@ aaa aaa aaa aaa -aaf -agg -agg -aaf -agg -aaf +aad +ajr +ajr +aad +ajr +aad aaa -aaf +aad aaa -aaf +aad aaa -aaf -agg -aaf -agg -agg -aaf -aaf -aBY -aBY -aES -aGi -eco -ecq -aKl -aLO -aBZ -aPg -aNV -aSI -aUi -aSH -aNV -aZj -baH -aZi -aNV -bfb -bgR -bfa -aNV -blW -blW -bpN -aNV -aaf -btD -btD -btD -byD -bAq -bBW -btD -btD -bHy -bJA -bLA -bNI -bPz -bRM -bTT -bVT -bVT -bXq -cbd -aaH -cez -cfV -cfV -aaH -aaH -clJ -cho -coI -aaH -aaH -aaH -cuJ -cez -aaH -czj -cAW -bVT -bVT -bZD -cGt -cUY -cJj -cKY -cMt -cOg +aad +ajr +aad +ajr +ajr +aad +aad +aFq +aFq +aIp +aJH +aLc +aMx +aNU +aPy +aFr +aSQ +aRF +aWu +aXW +aWt +aRF +bcY +bev +bcX +aRF +biU +bkH +biT +aRF +bpO +bpO +btK +aRF +aad +bxC +bxC +bxC +bCF +bEu +bGc +bxC +bxC +bLI +bNL +bPN +bRV +bTM +bWc +bYo +car +car +cbP +cfA +abj +cja +ckw +ckw +abj +abj +cqo +clR +ctm +abj +abj +abj +ctn +cja +abj +cDT +cFJ +car +car +ceb +cLv +cMQ +cOq cQg -cKY -cTk -cUY -cWE -cYq -bWg -daN -dct -ddL -daP -aMr -diH -dku -dlW -aNZ -ddQ -dqt -drZ -daT -aHW -aaf -agg -agg +cRB +cTo +cVq +cQg +cYz +cMQ +dbS +ddE +caE +dfZ +dhE +dja +dgb +dmk +dob +dpP +drt +dsW +duf +dvT +dxB +dgf +dfY +aad +ajr +ajr aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -124047,128 +126153,128 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa -agg -agg -agg -agg -agg -agg -agg -agg -agg -aaf -aaf -aaf -aaf -aaf -aBZ -aDv -aET -aGj -aHB -aIR -aKm -aLQ -aBZ -aPh +ajr +ajr +ajr +ajr +ajr +ajr +ajr +ajr +ajr +aad +aad +aad +aad +aad +aFr +aGP +aIq +aJI +aLd +aMy aNV -aSJ -aUj -aWb -aNV -aZk -baI -bcd -aNV -bfc -bgS -biS -aNV -blX -bnW -bpO -aNV -aaH -btD -bvd -bwO -byE -bAr -bBX -bDK -bFE -bHz -bJB -bLB -bNJ -bPA -bRN -bTU -bVT -bVT -bXq -bZf -aaf -ceA -cfW +aPA +aFr +aSR +aRF +aWv +aXX +aZP +aRF +bcZ +bew +bfT +aRF +biV +bkI +bmI +aRF +bpP +brU +btL +aRF +abj +bxC +bzd +bAO +bCG +bEv +bGd +bHT +bJO +bLJ +bNM +bPO +bRW +bTN +bWd +bYp +car +car +cbP +cdC +aad +cjb +cky aaa -aaf -aaH -cfV -cnd -cuJ -aaH -aaf +aad +abj +ckw +crJ +ctn +abj +aad aaa -cuK -cwa -aaf -bZf -cAW -bVT -bVT -cEO -cGu -cHM -cJk -cKZ -cMu -cOh +czq +cAI +aad +cdC +cFJ +car +car +cJL +cLw +cMR +cOr cQh -cOh -cTl -cUZ -cWF -cYs -bWg -daO -dcu -ddM -dfE -dgR -dgR -dkv -dgR -dny -ddM -dqu -dsa -dlX -dcs -aaf -aaf -aaf -aaf -agg +cRC +cTp +cVr +cTp +cYA +dao +dbT +ddG +caE +dga +dhF +djb +dkU +dml +dml +dpQ +dml +dsX +djb +dvU +dxC +dru +dhD +aad +aad +aad +aad +ajr aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -124309,123 +126415,123 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa aaa -aaf +aad aaa aaa -agg +ajr aaa -aaH -aCa -aDw -aEU -aGk -aHC -aIS -aKn -aLR -aNF -aPi -aNV -aSK -aIU -aWc -aNV -aSK -aIU -aWc -aNV -aSK -aIU -aWc -aNV -aWc -aIU -aSK -aNV -aaH -btE -bve -bwP -byF -bAs -bBY -bDL -bFF -bHA -bJC -ejw -bNK -bLC -bRO -bTV -bVT -bVT -bXq -cbd -aaH -cez -cfV -aaH -aaH -aaH -clL -cne -coK -aaH -aaH -cuJ -cuJ -cez -aaH -czj -cAW -bVT -bVT -cEP -duO -cHJ -cJl -cLa -cMv -cOi +abj +aFs +aGQ +aIr +aJJ +aLe +aMz +aNW +aPB +aRp +aSS +aRF +aWw +aUY +aZQ +aRF +aWw +aUY +aZQ +aRF +aWw +aUY +aZQ +aRF +aZQ +aUY +aWw +aRF +abj +bxD +bze +bAP +bCH +bEw +bGe +bHU +bJP +bLK +bNN +bPP +bRX +bTO +bWe +bYq +car +car +cbP +cfA +abj +cja +ckw +abj +abj +abj +cqp +crK +cto +abj +abj +ctn +ctn +cja +abj +cDT +cFJ +car +car +cJM +cLs +cMO +cOs cQi -cRy -cTm -cHJ -cWG -cYt -bWg -daP -dcv -ecS -aKI -aPD -diI -dkw -dlX -diJ -aNZ -aMr -dfL -dtq -aHW -aaf +cRD +cTq +cVs +cWK +cYB +cMO +dbU +ddH +caE +dgb +dhG +djc +dkV +dmj +doc +dpR +dru +dod +dsW +dmk +dlc +dyW +dfY +aad aaa aaa -aaf -agg +aad +ajr aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -124566,123 +126672,123 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa -agg -agg -agg -agg -agg -agg -agg -aaf -aaf -aBZ -aDx -aEV -aGl -aHD -aIT -aKo -aLS -aBZ -aaf -aNU -aSL -aNU -aWd -aNU -aSL -aNU -aWd -aNU -aSL -aNU -aWd -aNU -aWd -aNU -aSL -aNU -aaH -btD -bvf -bwO -byG -bAt -bBZ -bDM -bDM -bDM -bDM -bDM -bDM -bDM -bDM -bDM -bVT -bXs -bZi -cbd +ajr +ajr +ajr +ajr +ajr +ajr +ajr +aad +aad +aFr +aGR +aIs +aJK +aLf +aMA +aNX +aPC +aFr +aad +aRE +aWx +aRE +aZR +aRE +aWx +aRE +aZR +aRE +aWx +aRE +aZR +aRE +aZR +aRE +aWx +aRE +abj +bxC +bzf +bAO +bCI +bEx +bGf +bHV +bHV +bHV +bHV +bHV +bHV +bHV +bHV +bHV +car +cbR +cdF +cfA aaa -cez -cfV -aaf +cja +ckw +aad aaa -aaH -aaH -aaH -aaH -aaH +abj +abj +abj +abj +abj aaa -aaf -cuJ -cez +aad +ctn +cja aaa -czj -cAX -cCp -bVT -cEQ -duM -cHJ -cHJ -cLb -cMw -cLb -cMw -cLb -cHJ -cHJ -cWH -cJw -bWg -daQ -dcw -ddN -dfF -dgS -dgS -dgS -dgS -dgS -doG -aMr -dsb -diK -dcs -dcs -dcs +cDT +cFK +cHe +car +cJN +cLu +cMO +cMO +cQj +cRE +cQj +cRE +cQj +cMO +cMO +dbV +cOD +caE +dgc +dhH +djd +dkW +dmm +dmm +dmm +dmm +dmm +dug +dmk +dxD +dyX +dhD +dhD +dhD aaa -aaf -agg -aaf -aaf -aaf +aad +ajr +aad +aad +aad aaa -aaf +aad aaa aaa aaa @@ -124823,154 +126929,154 @@ aaa aaa aaa aaa -agg -aaa -agg -aaa -aaf -aaa -aaf -aaa -aaf -aaf -aaf -aaf -aaf -aBZ -aDy -aEW -aGm -aHE -aIU -ecr -aIU -aIZ -aIZ -aIZ -aSM -aIU -aWe -aIZ -aSM -aIU -aWe -aIZ -aSM -aIU -aWe -aIZ -aWe -aIU -aSM -aIZ -aIZ -btF -bvg -bvg -byH -bAu -bvg -bDM -bFG -bHB -bJD -bLD -bNL -bPC -bRP -bTW -bVT -bXq -bZf -cbd -aaf -ceA -cfW -aaf -aaa -aaa -aaH -aaf -aaH -aaa -aaa -aaf -cuK -cwa -aaf -czk -bZf -cAW -bVT -cJA -duL -cHJ -cJm -cLc -cMx -cOj -cQj -cRz -cTn -cHJ -chI -cYu -bWg -daR -dcx -ddO -dfG -dfL -dfL -dkx -dkx -diJ -doH -dqv -aNZ -aNZ -aPD -diJ -dcs -aaa -aaf -aaa -aaa -aaa -aaf -aaa -aaf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +ajr aaa +ajr aaa +auP +avZ +auP +avZ +auP +avZ +auP +aDk +avZ +aFr +aGS +aIt +aJL +aLg +aMB +aNY +aMB +aMG +aMG +aMG +aWy +aMB +aZS +aMG +aWy +aMB +aZS +aMG +aWy +aMB +aZS +aMG +aZS +aMB +aWy +aMG +aMG +bxE +bzg +bzg +bCJ +bEy +bzg +bHV +bJQ +bLL +bNO +bPQ +bRY +bTP +bWf +bYr +car +cbP +cdC +cfA +aad +cjb +ckx +aad aaa aaa +abj +aad +abj aaa aaa +aad +czp +cAI +aad +cDU +cdC +cFJ +car +cCM +cLx +cMO +cOt +cQk +cRF +cTr +cVt +cWL +cYC +cMO +cmk +ddI +caE +dgd +dhI +dje +dkX +dlc +dlc +dpS +dpS +dod +duh +dvV +dsW +dsW +dmj +dod +dhD aaa +aad aaa aaa aaa aad aaa +aad +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aab +aaa aaa aaa aaa @@ -125080,139 +127186,139 @@ aaa aaa aaa aaa -agg -aaf -agg -aaf -asa -atf -asa -atf -asa -atf -asa -atf -aaH -aBZ -aDz -aEW -aGn -aHF -aIV -aKp -aLT -aNG -aPj -aQZ -aSN -aUk -aWf -aXM -aZl -aPj -bce -bdo -aZl -aPj -aWf -bku -blY -bnX +ajr +aad +ajr +atI +auQ +awa +awa +awa +auQ +awa +awa +aDl +azN +aFr +aGT +aIt +aJM +aLh +aMC +aNZ +aPD +aRq +aST +aUL +aWz +aXY +aZT +bbA +bda +aST +bfU +bhf +bda +aST +aZT +bok bpQ -brb -bss -btF -bvh -bwQ -byI -bAv -bCa -bDM -bFH -bHC -bJE -bLE -bLE -bLE -bRQ -bTX -bVT -bXt -bZg -cbd -aaa -cez -cfV -clL -aaf -aaf -aaH -aaa -cne -aaf -aaf -coK -cuJ -cez -aaa -czj -cAU -cCq -bVT -cER -duM -cHJ -cJn -cLd -cMy -cOk -cMy -cRA -egb -cHJ -cWJ -cYu +brV +btM +buY +bwr +bxE +bzh +bAQ +bCK +bEz +bGg +bHV +bJR +bLM +bNP +bPR +bPR +bPR bWg -daS -dcy -ecT -dfH -dgT -dgT -diJ -dlY -dfL -doH -diJ -dsc -dtr -dma -egp -aHW -aaf -aaH -aaa -aaa -aaa -aaf -aaa -aaf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bYs +car +cbS +cdD +cfA aaa +cja +ckw +clT +aad +aad +abj aaa +crK +aad +aad +cxB +ctn +cja aaa +cDT +cFH +cHf +car +cJO +cLu +cMO +cOu +cQl +cRG +cTs +cRG +cWM +cYD +cMO +dbW +ddI +caE +dge +dhJ +djf +dkY +dmn +dmn +dod +drv +dlc +duh +dod +dxE +dyY +dAo +dBP +dfY +aad +abj aaa aaa aaa aad aaa +aad +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aab +aaa aaa aaa aaa @@ -125337,123 +127443,123 @@ aaa aaa aaa aaa -aaf +aad aaa -agg -aaa -asb -atg -auv -atg -asb -atg -auv -ath -atf -aCa -aDA -aEX -aGo -aHG -aIW -aKq -aLU -aNH -aPk -aRa -aSO -aUl -aWg -aXN -aZm -baJ -bcf -aXN -bfd -bgT -biT -bkv -blZ -bnY +ajr +atJ +auQ +awa +axp +awa +auQ +awa +axp +aDl +avZ +aFs +aGU +aIu +aJN +aLi +aMD +aOa +aPE +aRr +aSU +aUM +aWA +aXZ +aZU +bbB +bdb +bex +bfV +bbB +biW +bkJ +bmJ +bol bpR -brc -bst -btF -bvi -bwR -byJ -bAw -bCb -bDM -bFI -bHD -bJF -bLF -bNM -bPD -bRR -bTY -bVT -bXq -bZf -cbd -aaf -ceB -cfX -chs -chs -chs -chs -cnf -chs -chs -chs -chs -cuL -cwb -aaf -czj -bZf -cAW -bVT -cES -duO -cHJ -cJo -cLe -cMz -cOl -cQk -cRB -cTp -cHJ -cWJ -cYv -bWg -daT -dcz -ddP -dfI -dgU -dgT -dky -dgU -aPD -doH -aPD -dsc -dts -diJ -dwe -dcs +brW +btN +buZ +bws +bxE +bzi +bAR +bCL +bEA +bGh +bHV +bJS +bLN +bNQ +bPS +bRZ +bTQ +bWh +bYt +car +cbP +cdC +cfA +aad +cjc +ckz +clU +clU +clU +clU +crL +clU +clU +clU +clU +czr +cAJ +aad +cDT +cdC +cFJ +car +cJP +cLs +cMO +cOv +cQm +cRH +cTt +cVu +cWN +cYE +cMO +dbW +ddJ +caE +dgf +dhK +djg +dkZ +dmo +dmn +dpT +dmo +dmj +duh +dmj +dxE +dyZ +dod +dBQ +dhD aaa -aaH -aaf -aaf -aaf -aaH +abj +aad +aad +aad +abj aaa -aaf +aad aaa aaa aaa @@ -125585,132 +127691,132 @@ aaa aaa aaa aaa -agg -aaf -agg -agg -agg -agg -agg -aaf -agg -agg -aaf -agg -aaf -asb -asb -asb -asb -asb -asb -asb -asa -awQ -aCa -aDB -aEY -aGp -aHH -aIU -aKq -aLV -aNI -aPl -aRb -aSP -aUm -aUm -aUm -aZn -aUm -aUm -aUm -bfe -bgU -biU -aPw -bma -bnZ +ajr +aad +ajr +ajr +ajr +ajr +ajr +aad +ajr +ajr +aad +ajr +aad +auR +auR +auR +auR +auR +auR +auR +auP +azN +aFs +aGV +aIv +aJO +aLj +aMB +aOa +aPF +aRs +aSV +aUN +aWB +aYa +aYa +aYa +bdc +aYa +aYa +aYa +biX +bkK +bmK +aTg bpS -baK -bsu -btG -bvj -bwS -byK -bAx -bCc -bDM -bFJ -bHD -bJG -bLG -bNN -bPE -bRS -bTZ -bVT -bXu -bZj -cbe +brX +btO +bey +bwt +bxF +bzj +bAS +bCM +bEB +bGi +bHV +bJT +bLN +bNR +bPT +bSa +bTR +bWi +bYu +car +cbT +cdG +cfB aaa -aaf +aad aaa -aaf -ceC -ceC -ceC -cng -ceC -ceC -ceC -aaf +aad +cjd +cjd +cjd +crM +cjd +cjd +cjd +aad aaa -aaf +aad aaa -czl -cAY -cCr -bVT -cER -duN -cHN -cJp -cLf -cMA -cOl -cQl -cRC -cTq -cHJ -cWK -cJA -bWg -egf -dcz -ecU -dfI -dgU -aPD -dkz -dfL -dgT -doH -aNZ -dsc -dtt -aNZ -egq -aHW -aaf -aaH +cDV +cFL +cHg +car +cJO +cLy +cMS +cOw +cQn +cRI +cTt +cVv +cWO +cYF +cMO +dbX +cCM +caE +dgg +dhK +djh +dkZ +dmo +dmj +dpU +dlc +dmn +duh +dsW +dxE +dza +dsW +dBR +dfY +aad +abj aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -125842,132 +127948,132 @@ aaa aaa aaa aaa -agg -aaf +ajr +aad aaa aaa -aaf +aad aaa -aaf +aad aaa -aaf -aaf -aaf -aaf -aaf -asb -ath -auw -ath -awQ -ath -auw -ath -atf -aBZ -aDC -aEZ -aGq -aHI -aIU -aKq -aLW -aNJ -aPm -aRc -aSQ -aUn -aWh -aWh -aZo -baK -aWq -aWq -bff -bgV -biV -bkw -bmb -boa +aad +aad +aad +aad +aad +auR +atJ +axq +atJ +azN +atJ +axq +atJ +avZ +aFr +aGW +aIw +aJP +aLk +aMB +aOa +aPG +aRt +aSW +aUO +aWC +aYb +aZV +aZV +bdd +bey +bae +bae +biY +bkL +bmL +bom bpT -brd -bsv -btH -bvk -bwR -byL -bAy -bCd -bDM -bFK -bHE -bJH -bLH -bNO -bPF -bRT -bUa -bVT -bVT -bZk -bVT -bVT -ceC -ceC -ceC -ceC -ckv -clM -cnh -clM -cqi -ceC -ceC -ceC -ceC -bVT -bVT -cAZ -bVT -bVT -cET -cGx -cHO -cJq -cLg -cMB -cOm -cQm -cRD -cTr -cVa -cWL -cYw -cuT -ecQ -ecR -ddR -dfI -aPD -diJ -diJ -dfL -dkx -doH -aMr -dsd -dtu -aPD -dwg -dcs +brY +btP +bva +bwu +bxG +bzk +bAR +bCN +bEC +bGj +bHV +bJU +bLO +bNS +bPU +bSb +bTS +bWj +bYv +car +car +cdH +car +car +cjd +cjd +cjd +cjd +coZ +cqq +crN +cqq +cuP +cjd +cjd +cjd +cjd +car +car +cFM +car +car +cJQ +cLz +cMT +cOx +cQo +cRJ +cTu +cVw +cWP +cYG +dap +dbY +ddK +czA +dgh +dhL +dji +dkZ +dmj +dod +dod +dlc +dpS +duh +dmk +dxF +dzb +dmj +dBS +dhD aaa -aaH -aaf -aaf -aaf -aaH +abj +aad +aad +aad +abj aaa -aaf +aad aaa aaa aaa @@ -126099,132 +128205,132 @@ aaa aaa aaa aaa -agg -aaf -aaf -agg -agg -agg -agg -aaf -agg -aaf -aiW -aoK -aoK -asc -aoK -aoK -aoK -aiW -aoK -aoK -aoK -asc -aiW -aBZ -aFa -aGr -aHJ -aIX -aKr -aLX -aNK -aPn -aRd -aSR -aUo -aWi -aXO -aUo -baL -bcg -aSR -bfg -bgW -biW -aPw -bmc -bob +ajr +aad +aad +ajr +ajr +ajr +ajr +aad +ajr +aad +alT +asl +asl +auS +asl +asl +asl +alT +asl +asl +asl +auS +alT +aFr +aIx +aJQ +aLl +aME +aOb +aPH +aRu +aSX +aUP +aWD +aYc +aZW +bbC +aYc +bez +bfW +aWD +biZ +bkM +bmM +aTg bpU -bre -bsw -btI -bvl -bwT -byM -bAz -bCe -bDM -bFL -bHF -bJI -bLI -bJI -bPG -bRU -bUb -bVT -bXv -bZl -cbf -ccT -ceD -ceD -ceD -ceC -ckw -clN -clN -clN -cqj -ceC -csV -ceD -cwc -cxJ -cbf -cBa -cCs -bVT -cEU -cGy -cHM -cJr -cLh -cMC -cOl -cQn -cRE -cRy -cHN -cWM -cYx -cZI -daV -dcA -ddS -dfJ -dgV -dgV -dgV -dlZ -dnz -doI -aNY -dse -dtv -dcs -dcs -dcs +brZ +btQ +bvb +bwv +bxH +bzl +bAT +bCO +bED +bGk +bHV +bJV +bLP +bNT +bPV +bNT +bTT +bWk +bYw +car +cbU +cdI +cfC +chu +cje +cje +cje +cjd +cpa +cqr +cqr +ctp +cuQ +cjd +cxC +cje +cAK +cCr +cfC +cFN +cHh +car +cJR +cLA +cMR +cOy +cQp +cRK +cTt +cVx +cWQ +cWK +cMS +dbZ +ddL +deU +dgi +dhM +djj +dla +dmp +dmp +dmp +drw +dsY +dui +dvW +dxG +dzc +dhD +dhD +dhD aaa -aaf +aad aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -126250,13 +128356,13 @@ aaa aaa aaa aaa -aae -aae -aae -aaf -aBW -aae -aae +aac +aac +aac +aad +aFo +aac +aac aaa aaa aaa @@ -126356,132 +128462,132 @@ aaa aaa aaa aaa -agg +ajr aaa -aaf +aad aaa -aaf -aaf -aaf -aaf -aaf -aaf -aiW -apF -aqY -asd -axL -aux -aux -awR -ehS -axL -axL -asd -aCb -aBZ -aFb -aGs -aHK -aIY -aKs -aLY -aNL -aPm -aRc -aSS -aUp -aWj -aXP -aZq -aZq -eqP -bdp -bfh -bgW -biX -bkx -bmd -boc +aad +aad +aad +aad +aad +aad +alT +asm +atK +auT +awb +axr +axr +azO +aAQ +awb +awb +auT +aFt +aFr +aIy +aJR +aLm +aMF +aOc +aPI +aRv +aSW +aUO +aWE +aYd +aZX +bbD +bde +bde +bfX +bhg +bja +bkM +bmN +bon bpV -brf -bsx -btJ -bvg -bvg -byH -bAA -bvg -bDM -bFM -bHG -bJJ -bLJ -bNP -bPH -bRV -bDM -bVT -bXw -epI -bVT -ccU -ceE -cfY -cht -ciZ -ckw -clN -clN -coN -cqk -ciZ -csW -cuM -cht -ccU -bVT -epJ -bXw -bVT -cEV -cGz -cHJ -efX -cLi -cMD -cOn -cQo -cRF -cTs -cHJ -cWN -cYy -cZJ -daW -dcB -ddT -dfK -dgW -ecX -dkA -ecY -ecZ -doJ -eda -dfL -dtw -aHW -aaf +bsa +btR +bvc +bww +bxI +bzg +bzg +bCJ +bEE +bzg +bHV +bJW +bLQ +bNU +bPW +bSc +bTU +bWl +bHV +car +cbV +cdJ +car +chv +cjf +ckA +clV +cnC +cpa +cqs +cqr +ctq +cuR +cnC +cjf +czs +clV +chv +car +cFO +cbV +car +cJS +cLB +cMO +cOz +cQq +cRL +cTv +cVy +cWR +cYH +cMO +dca +ddM +deV +dgj +dhN +djk +dlb +dmq +doe +dpV +drx +dsZ +duj +dvX +dlc +dzd +dfY +aad aaa aaa -aaf -agg +aad +ajr aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -126503,21 +128609,21 @@ aaa aaa aaa aaa -aae -aaf -aBW -aae -aae +aac +aad +aFo +aac +aac aaa aaa -aaf +aad aaa aaa -aae -aae -aaf -aae -aae +aac +aac +aad +aac +aac aaa aaa aaa @@ -126613,132 +128719,132 @@ aaa aaa aaa aaa -agg -aaf -agg -aaf -aiW -aiW -aiW -aiW -aiW -aiW -aiW -ept -epv -ase -aqZ -auy -avN -awS -axM -ehT -azZ -aAV -aCc -aBZ -aBZ -aGt -aBZ -aIZ -aKt -aLZ -aNM -aPo -aRd -aST -aUq -aWk -aXQ -aZr -baL -bch -epU -bfi -bgX -biY -bky -bme -bod +ajr +aad +ajr +aad +alT +alT +alT +alT +alT +alT +alT +asn +atL +auU +awc +axs +ayG +azP +aAR +aCh +aDm +aEl +aFu +aFr +aFr +aJS +aFr +aMG +aOd +aPJ +aRw +aSY +aUP +aWF +aYe +aZY +bbE +bdf +bez +bfY +bhh +bjb +bkN +bmO +boo bpW -brg -bsy -btK -bvm -bwU -byN -bAB -bCf -bDN -bFN -bHH -bJK -bDM -bNQ -bPI -bRW -bLJ -bVU -bXx -bZm -cbg -ccV -ceF -cfZ -chu -cja -ckx -clP -clN -coO -cql -cja -csX -cfZ -ccV -ccV -czm -bZm -cCt -bVT -cYz -cGA -cHJ -cJt -cLj -cME -cME -cQp -cRG -cTt -cHJ -cWD -cYz -bWg -daX -dcC -ddU -dfL -dfL -dfL -dfL -dgT -diL -dfL -dfL -dgT -ddV -dcs -aaf -aaf -aaf -aaf -agg -aaf -aaf -aaf +bsb +btS +bvd +bwx +bxJ +bzm +bAU +bCP +bEF +bGl +bHW +bJX +bLR +bNV +bHV +bSd +bTV +bWm +bPW +cas +cbW +cdK +cfD +chw +cjg +ckB +clW +cnD +cpb +cqt +crO +ctr +cuS +cnD +cxD +ckB +chw +chw +cDW +cdK +cHi +car +cJT +cLC +cMO +cOA +cQr +cRM +cRM +cVz +cWS +cYI +cMO +dbR +cJT +caE +dgk +dhO +djl +dlc +dlc +dlc +dlc +dmn +dof +dlc +dlc +dmn +djm +dhD +aad +aad +aad +aad +ajr +aad +aad +aad aaa -aaf +aad aaa aaa aaa @@ -126760,21 +128866,21 @@ aaa aaa aaa aaa -aae +aac aaa aaa -aaf +aad aaa aaa -dZB -eab -ear +efe +efQ +egB aaa aaa -aaf +aad aaa aaa -aae +aac aaa aaa aaa @@ -126870,132 +128976,132 @@ aaa aaa aaa aaa -aaf +aad aaa -agg -aaf -aiW -ajK -akP -akP -akP -akP -aoH -apH -ara -asf -atj -auz -epx -awT -axN -aza -epx -aAW -aCd -aDD -azd -aGu -aHL -aIZ -aKu -aMa -aNL -aPm -aRe -aSU -aUr -aWl -aWl -aWl -baM -aSY -bdq -bfj -epV -biZ -aPw -bmf -aIU -aIZ -aIZ -aIZ -btF -bvg -bvg -byO -bAC -bwR -bDO -bFO -bHI -bwR -bDM -bNR -bPJ -bRX -bUc -bVV -bXy -bZn -cbh -ccW -ceG -cga -chv -cjb -cky -clQ -clN -coP -cqm -cjb -chv -cuN -cwd -cxK -czn -bZp -cbh -bVT -cEX -cGB -cHJ -cJu -cLk -cMF -cOo -cQq -cRH -cTu -cHJ -cWD -cYA -bWg -daT -egh -ddV -dfM -ddV -diL -aJm -dmb -dnA -doK -dqw -YGO -aJm -aHW -aaf +ajr +aad +alT +amG +anF +anF +anF +anF +ark +aso +atM +auV +awd +axt +ayH +azQ +aAS +aCi +ayH +aEm +aFv +aGX +ayR +aJT +aLn +aMG +aOe +aPK +aRv +aSW +aUQ +aWG +aYf +aZZ +aZZ +aZZ +beA +aWK +bhi +bjc +bkO +bmP +aTg +bpX +aMB +aMG +aMG +aMG +bxE +bzg +bzg +bCQ +bEG +bAR +bHX +bJY +bLS +bAR +bHV +bSe +bTW +bWn +bYx +cat +cbX +cdL +cfE +chx +cjh +ckC +clX +cnE +cpc +cqu +cqr +cts +cuT +cnE +clX +czt +cAL +cCs +cDX +cFP +cHj +car +cJU +cLD +cMO +cOB +cQs +cRN +cTw +cVA +cWT +cYJ +cMO +dbR +ddN +caE +dgf +dhP +djm +dld +djm +dof +dmi +dry +dta +duk +dvY +ehv +dmi +dfY +aad aaa aaa -aaf -agg +aad +ajr aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -127017,21 +129123,21 @@ aaa aaa aaa aaa -aae +aac aaa -dZB -eab -ear +efe +efQ +egB aaa -dZB -eac -ear +efe +efR +egB aaa -dZB -eab -ear +efe +efQ +egB aaa -aBW +aFo aaa aaa aaa @@ -127127,132 +129233,132 @@ aaa aaa aaa aaa -agg -aaf -agg +ajr +aad +ajr aaa -aiW -ajL -akQ -ajL -ajL -ajL -aoH -apI -arb -asg -arm -ebT -avO -auA -axO -atk -atk -aAX -aCe -aDE -aFc -aGv -aHM -aJa -aKv -aMb -aNL -aPm -aRf -aSV -aUs -aIU -aSV -aIU -aSV -aSV -bdr -bfk -bgY -bja -bkz -bmg -boe -bpX -brh -aIZ -efC -bvn -bwV -byP -bAD -bCg -bDP -bFP -bHJ -bJL -bDM -bNS -bPK -bRY -bUd -bVW -bXz -bZo -cbh -ccW -ceH -cgb -chw -bVT -ckz -clR -cnm -clR -cqn -bVT -csY -ceM -cwe -cxK -czn -cBb -cCu -bVT -cEY -duO -cHJ -cHJ -cHJ -cHN -cOp -cHJ -cHJ -cHJ -cHJ -duO -cYz -bWg -bWg -dcE -dcE -dcE -dcE -dcE -dcE -dcE -dcE -dcE -dcE -dcE -dcE -dcE -dcE -dcE -dcE -aaf -agg +alT +amH +anG +amH +amH +amH +ark +asp +atN +auW +awe +axu +ayI +azR +aAT +aCj +aCj +aEn +aFw +aGY +aIz +aJU +aLo +aMH +aOf +aPL +aRv +aSW +aUR +aWH +aYg +aMB +aWH +aMB +aWH +aWH +bhj +bjd +bkP +bmQ +bop +bpY +bsc +btT +bve +aMG +bxK +bzn +bAV +bCR +bEH +bGm +bHY +bJZ +bLT +bNW +bHV +bSf +bTX +bWo +bYy +cau +cbY +cdM +cfF +chx +cji +ckD +clY +car +cpd +cqv +crP +cqv +cuU +car +cxE +cjn +cAM +cCs +cDY +cFQ +cHk +car +cJV +cLs +cMO +cMO +cMO +cMS +cTx +cMO +cMO +cMO +cMO +cLs +cJT +caE +caE +dhQ +dhQ +dhQ +dhQ +dhQ +dhQ +dhQ +dhQ +dhQ +dhQ +dhQ +dhQ +dhQ +dhQ +dhQ +dhQ +aad +ajr aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -127274,21 +129380,21 @@ aaa aaa aaa aaa -aaf +aad aaa -dZB -eac -ear +efe +efR +egB aaa -dZB -eac -ear +efe +efR +egB aaa -dZB -eac -ear +efe +efR +egB aaa -aae +aac aaa aaa aaa @@ -127365,6 +129471,150 @@ aaa aaa aaa aaa +aab +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +ajr +aaa +ajr +aad +alT +amI +amH +amH +amH +amH +ark +asq +atO +auX +awf +axv +axv +azS +awi +aCk +aDn +aEo +aFx +aGZ +aBf +aJV +aLp +aMG +aOg +aPK +aRv +aSW +aUS +aMB +aYh +baa +bbF +bdg +beB +bfZ +bhk +bje +bkQ +bmR +boq +bpZ +bsd +aYn +bvf +aMG +bxL +bzo +bAR +bCS +bEI +bGn +bHZ +bHZ +bLU +bNX +bHV +bSg +bTW +bWn +bTZ +cau +cbZ +cdN +cfG +chx +cjj +cjn +clZ +cnF +car +cqw +car +cqw +car +car +cxF +cjn +cAN +cCs +cDZ +cdN +cHl +cIq +cJW +cLE +cwp +cqL +cQt +cRO +cTy +cQt +cWU +cRO +cqL +cEo +ddO +cQt +dgl +dhQ +djn +dle +dmr +dog +dpW +drz +dhQ +dul +dvZ +dxH +dze +dAp +dBT +dDg +dhQ +aad +aaa +aaa +aaa +aad +aaa aad aaa aaa @@ -127384,168 +129634,24 @@ aaa aaa aaa aaa -agg -aaa -agg -aaf -aiW -ajM -ajL -ajL -ajL -ajL -aoH -apJ -arc -ash -atl -auB -auB -awU -atm -azc -aAb -aAY -aCf -aDF -aFd -aGw -aHN -aIZ -aKw -aMa -aNL -aPm -aRg -aIU -aUt -aWm -aXR -aZs -baN -bci -bds -bfl -bgZ -bjb -epX -epZ -bof -aUz -bri -aIZ -btM -bvo -bwR -byQ -bAE -bCh -bDQ -bDQ -bHK -bJM -bDM -bNT -bPJ -bRX -bPM -bVW -bXA -bZp -erp -ccW -ceI -ceM -chx -cjc -bVT -clS -bVT -clS -bVT -bVT -csZ -ceM -cwf -cxK -erI -bZp -cCv -cDy -cEZ -cGC -crJ -cmh -cLl -cMG -cOq -cLl -cRI -cMG -cmh -czC -cYB -cLl -daY -dcE -ddW -dfN -dgX -diM -dkB -dmc -dcE -doL -dqx -dsf -dtx -duE -dwh -dxn -dcE -aaf aaa aaa aaa -aaf -aaa -aaf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaf -dZB -eac -ear -aaf -dZB -eac -ear -aaf -dZB -eac -ear -aaf -aae +aad +aad +efe +efR +egB +aad +efe +efR +egB +aad +efe +efR +egB +aad +aac aaa aaa aaa @@ -127641,134 +129747,134 @@ aaa aaa aaa aaa -agg -aaf -aaf +ajr +aad +aad aaa -aiW -ajL -ajL -akQ -ajL -YGJ -eqb -eqc -ard -asi -ehy -auC -auC -auC -ehy -azc -aAc -aAZ -aCg -aDG -aiW -aiW -aiW -aIZ -aKx -aMd -aNN -aPp -aRh -aSW -aUu -aWn -aXS -aZt -baO -bcj -bdt -bfm -bgY -bjc -bkA -bmh -bkA -bpY -brj -bsz -btN -bvp -bwW -byR -erc -bCi -bDR -bFQ -bHL -bJN -bLK -bNU -bPL -bRZ -bLJ -bVX -bXA -bZq -cbh -ccX -ceJ -cgc +alT +amH +amH +anG +amH +aqK +arl +asr +atP +auY +awg +axw +axw +axw +awg +aCk +aDo +aEp +aFy +aHa +alT +alT +alT +aMG +aOh +aPM +aRx +aSZ +aUT +aWI +aYi +bab +bbG +bdh +beC +bga +bhl +bjf +bkP +bmS +bor +bqa +bor +btU +bvg +bwy +bxM +bzp +bAW +bCT +bEJ +bGo +bIa +bKa +bLV +bNY +bPX +bSh +bTY +bWp +bPW +cav +cbZ +cdO +cfF chy -cjd -ckA -clT -cnn -coQ -cqo -crF -cta -cgc -ceJ -cxL -czn -bZq -cCw -cDz -cFa -cGD -bXM -cJv -bXM -cMH -bXM -cQr -cQr -cQr -cMH -cMH -cYC -cZK -cFn -dcE -ddX -dfO -dgY -dgY -dkC -dfP -dnB -deb -dfO -dsg -dgY -dkE -dwi -ddX -dcE -aaf -aaf -aaH +cjk +ckE +cma +cnG +cpe +cqx +crQ +ctt +cuV +cwl +cxG +ckE +cjk +cCt +cDY +cdO +cHm +cIr +cJX +cLF +ccl +cOC +ccl +cRP +ccl +cVB +cVB +cVB +cRP +cRP +ddP +deW +cKk +dhQ +djo +dlf +dms +dms +dpX +dlg +dtb +djs +dlf +dxI +dms +dpZ +dBU +djo +dhQ +aad +aad +abj aaa -aaH -aaf -aaH -aaf -aaH +abj +aad +abj +aad +abj aaa aaa aaa @@ -127788,21 +129894,21 @@ aaa aaa aaa aaa -aae +aac aaa -dZB -eac -ear +efe +efR +egB aaa -dZB -eac -ear +efe +efR +egB aaa -dZB -eac -ear +efe +efR +egB aaa -aaf +aad aaa aaa aaa @@ -127898,138 +130004,138 @@ aaa aaa aaa aaa -aaf +aad aaa -agg -aaf -aiW -ajN -ajL -alQ -ana -ana -aoJ -apL -are -asj -ehy -auD -YGK -avP -axP -ehJ -ehy -aAY -ark -aDH -aiW -eeW -aHO -aIZ -aKy -aMe -aNL -aPm -aRg -aIU -aUv -aWo -aXT -aZu -baP -aIU -bdu -bfn -bgY -bjd -bkB -bmi -bog -bpZ -brk -aIZ -btF -btF -btF -byS -bAF -bCi -bDS -bFR -bHM -bJO -bDM -bDM -bPM -bDM -bDM -bNY -bXB -bZp -cbi -ccY -ccY -ccY -ccY -ccY -ccY -clU -cno -coR -ccY -ccY -ccY -ccY -ccY -cxM -czo -cBc -cCx -cDA -cFb -cGE -cHP -cJw -cHS -cHS -cHS -cHS -cHS -cHS -cHS -cHS -cHS -cJA -dba -dcF -ddY -dfP -dgZ -diN -dkD -dmd -dcE -doM -dfR -dkE -dty -duF -dkD -dxp -dcE -aaf +ajr +aad +alT +amJ +anH +aoH +apN +apN +arm +ass +atQ +auZ +awg +axx +ayJ +azT +aAU +aCl +awg +aEo +aFz +aHb +alT +aJW +aLq +aMG +aOi +aPN +aRv +aSW +aUS +aMB +aYj +bac +bbH +bdi +beD +aMB +bhm +bjg +bkP +bmT +bos +bqb +bse +btV +bvh +aMG +bxE +bxE +bxE +bCU +bEK +bGo +bIb +bKb +bLW +bNZ +bHV +bHV +bTZ +bHV +bHV +bSl +cca +cdN +cfH +chz +chz +chz +chz +chz +chz +cqy +crR +ctu +chz +chz +chz +chz +chz +cCu +cEa +cFR +cHn +cIs +cJY +cLG +cMU +cOD +cMY +cMY +cMY +cMY +cMY +cMY +cMY +cMY +cMY +cCM +dgm +dhR +djp +dlg +dmt +doh +dpY +drA +dhQ +dum +dli +dpZ +dzf +dAq +dpY +dDh +dhQ +aad aaa -aaH -aaf -aaf +abj +aad +aad aaa -aaf +aad aaa -aaH -aaf -aaf -aaf -aaH +abj +aad +aad +aad +abj aaa aaa aaa @@ -128039,30 +130145,30 @@ aaa aaa aaa aaa -agg -agg +ajr +ajr aaa -agg -agg +ajr +ajr aaa -aae +aac aaa -dZB -eac -ear +efe +efR +egB aaa -aaf -ead -aaf +aad +efS +aad aaa -dZB -eac -ear +efe +efR +egB aaa -aaf -aae -aae -aae +aad +aac +aac +aac aaa aaa aaa @@ -128155,171 +130261,171 @@ aaa aaa aaa aaa -agg -aaf -agg +ajr +aad +ajr aaa -aiW -ajL -ajL -ajL -ajL -ajL -epo -apM -arf -ask -ehy -auE -auE -auE -axQ -aze -aAd -aBa -aCh -aDI -aFe -aGy -aHP -aJb -aKz -aMf -aNO -aPm -aRg -aSX -aSV -aIU -aIU -aIU -baQ -aSV -bdv -bfn -bhb -bje -bkC -eqa -boh -bqa -brl -bsA -btO -bvq -bwX -byT -bAG -bCj -bDT -bFS -bHN -bJP -bLL -bNV -bPN -bSa -bUe -bVY -bXC -bZr -cbj -ccZ -ceK -ccZ -ceK -ccZ -erv -clV -cnp -coS -cqp -crG -cqp -crG -cqp -crG -czp -cBd -cCy -bVT -cFc -bZC -duO -cJx -cHS -cHX -cHX -cHX -cRJ -cHX -cHX -cHX -cHS -cJA -cFm -dcE -ddZ -dfQ -dha -diO -diO -dme -dnC -dkE -dfR -dsh -dsh -dsh -dwj -dfP -dcE -aaf -aaf -aaH +alT +amG +anI +aoI +aoI +aoI +arn +ast +atR +ava +awg +axy +axy +axy +aAV +aCm +aDp +aEq +aFA +aHc +aIA +aJX +aLr +aMI +aOj +aPO +aRy +aSW +aUS +aWJ +aWH +aMB +aMB +aMB +beE +aWH +bhn +bjg +bkR +bmU +bot +bqc +bsf +btW +bvi +bwz +bxN +bzq +bAX +bCV +bEL +bGp +bIc +bKc +bLX +bOa +bPY +bSi +bUa +bWq +bYz +caw +ccb +cdP +cfI +chA +cjl +chA +cjl +chA +cpf +cqz +crS +ctv +cuW +cwm +cuW +cwm +cuW +cwm +cEb +cFS +cHo +car +cJZ +cea +cLs +cOE +cMY +cNd +cNd +cNd +cWV +cNd +cNd +cNd +cMY +cCM +cKj +dhQ +djq +dlh +dmu +doi +doi +drB +dtc +dpZ +dli +dxJ +dxJ +dxJ +dBV +dlg +dhQ +aad +aad +abj aaa -aaH -aaf -aaH -aaf -aaH +abj +aad +abj +aad +abj aaa aaa aaa -aaH -aaf -aaf -aaf -aaH +abj +aad +aad +aad +abj aaa aaa -aaf -aaf -aaf -agg -aaf -aaf -aaf -aaf -aaf -aaf +aad +aad +aad +ajr +aad +aad +aad +aad +aad +aad aaa aaa -ead -aaf -aaf -aaf -dVu -aaf -aaf -aaf -ead -aaf +efS +aad +aad +aad +ebA +aad +aad +aad +efS +aad aaa aaa -aaf +aad aaa -aae +aac aaa aaa aaa @@ -128412,171 +130518,171 @@ aaa aaa aaa aaa -agg +ajr aaa -agg -aaf -aiW -ajO -ajL -akR -anb -ajL -epo -apN -arg -asl -ehB -ebG -avQ -ebG -axR -ebG -axR -aBb -aCi -aDJ -aFf -aGz -aHQ -aJc -aKA -aMg -aNP -aPq -aRg -aSY -aUw -aWp -aXU -aZv -baR -aSU -bdw -bfo -bhc -bjf -bkD -bmj -boi -bqb -brm -bsB -btP -bvr -bwY -byU -bAH -bCk -bDU -bFT -bHO -bJQ -bLM -bNW -bPO -bSb -bUf -bVZ -bXD -bZs -cbk -cda -cda -cgd -cda -cda -cda -clW -cnq -coT -cqq -crH -ctb -cda -cwg -cxN -czq -cBe -cCz -bVT -cFd -bZC -cHQ -cJy -cHS -cMJ -cOr -cJH -cJH -cJH -cJH -cWO -cHS -cZL -esa -dcG -dea -dfR -dhb -diP -dkE -diT -dcE -doN -dfR -dsi -dtz -duG -diO -diT -dcE -aaf +ajr +aad +alT +alT +anJ +aoJ +anF +aqL +arn +asu +atS +avb +awh +axz +ayK +axz +aAW +axz +aAW +aEr +aFB +aHd +aIB +aJY +aLs +aMJ +aOk +aPP +aRz +aTa +aUS +aWK +aYk +bad +bbI +bdj +beF +aWG +bho +bjh +bkS +bmV +bou +bqd +bsg +btX +bvj +bwA +bxO +bzr +bAY +bCW +bEM +bGq +bId +bKd +bLY +bOb +bPZ +bSj +bUb +bWr +bYA +cax +ccc +cdQ +cfJ +chB +chB +ckF +chB +chB +chB +cqA +crT +ctw +cuX +cwn +cxH +chB +cAO +cCv +cEc +cFT +cHp +car +cKa +cea +cMV +cOF +cMY +cRQ +cTz +cON +cON +cON +cON +dcb +cMY +deX +dgn +dhS +djr +dli +dmv +doj +dpZ +don +dhQ +dun +dli +dxK +dzg +dAr +doi +don +dhQ +aad aaa aaa aaa -aaf +aad aaa -aaf +aad aaa -aaH -aaf -aaf -aaf -aaH +abj +aad +aad +aad +abj aaa aaa aaa -aaH -aaf -aaf -aaH +abj +aad +aad +abj aaa aaa -agg -aaf -dVu -dVu -dVu -dVu -dVu -dVu -dVu -dVu -dVu -dVu -eaC -eaK -dVu -dVu -dVu -eaV -eaW -eaW -eaW -eaX -aaf -aaf +ajr +aad +ebA +ebA +ebA +ebA +ebA +ebA +ebA +ebA +ebA +ebA +egQ +egV +ebA +ebA +ebA +ehq +ehr +ehr +ehr +ehs +aad +aad aaa aaa aaa @@ -128669,171 +130775,171 @@ aaa aaa aaa aaa -agg +ajr aaa -aaf +aad aaa -aiW -ajL -ajL -ajL -ajL -ajL -epo -apO -arh -asm -ehy -auF -auF -auF -axS -azf -epA -aBc -arj -aDK -aFg -aGA -aHR -aJd -aKB -aMh -aNQ -aPr -aRi -aSZ -aUx -aWq -aWq -aWq -aWq -aSZ -bdx -bfp -bhd -bjg -bkE -efx -boj -bqc -brn -aJd -btQ -bvs -bwZ -byV -bAI -bCl -bDV -bFU -bDQ -bJR -bLN -bNX -bPP -bSc -bUg -bWa -bXE -bZt -cbl -cdb -ceL -cge -chz -cje -ckB -clX -cnr -coU -cqr -crI -crI -cuO -cwh -cxO -czr -cBf -crI -crI -cFe -cBp -erO -cJz -cHS -cHX -cHX -cHX -cHX -cHX -cHX -cHX -cHS -cZL -dbc -dcE -deb -dfR -dhc -diQ -dkF -dmf -dcE -doO -dha -dfP -dtA -dsk -diO -doN -dcE -aaf -agg +alT +amK +anK +aoK +aoK +aoK +arn +asv +atT +avc +awg +axA +axA +axA +aAX +aCn +aDq +aEs +aFC +aHe +aIC +aJZ +aLt +aMK +aOl +aPQ +aRA +aTb +aUU +aWL +aYl +bae +bae +bae +bae +aWL +bhp +bji +bkT +bmW +bov +bqe +bsh +btY +bvk +aMK +bxP +bzs +bAZ +bCX +bEN +bGr +bIe +bKe +bHZ +bOc +bQa +bSk +bUc +bWs +bYB +cay +ccd +cdR +cfK +chC +cjm +ckG +cmb +cnH +cpg +cqB +crU +ctx +cuY +cwo +cwo +czu +cAP +cCw +cEd +cFU +cwo +cwo +cKb +cGe +cMW +cOG +cMY +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cMY +deX +dgo +dhQ +djs +dli +dmw +dok +dqa +drC +dhQ +duo +dmu +dlg +dzh +dxM +doi +dun +dhQ +aad +ajr aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa -aaf +aad aaa -aaH -aaf -aaf -aaf -aaH +abj +aad +aad +aad +abj aaa aaa -aaH -aaf -aaf -aaf -aaf -dVu -aaf -aaf -aaf -aaf +abj +aad +aad +aad +aad +ebA +aad +aad +aad +aad aaa aaa -eae -aaf -aaf -aaf -dVu -aaf -aaf -aaf -eae -aaf +efT +aad +aad +aad +ebA +aad +aad +aad +efT +aad aaa aaa -aaf +aad aaa -aae +aac aaa aaa aaa @@ -128926,171 +131032,171 @@ aaa aaa aaa aaa -agg -aaf -agg -aaf -aiW -ajN -ajL -alR -anc -anc +ajr +aad +ajr +aad +alT +amL +anL aoL -apG -ari -asn -ehy -auG -YGL -avR -axT -ehJ -ehy -aBd -ark -aDL -aiW -aGB -aHS -aIZ -aKC -aMi -aNR -aPs -aRj -aTa -aUy -aWr -aXV -aWr -aWr -aWr -bdy -bfq -bhe -bjh -bkF -bml -bok -bqd -bro -aIZ -aIZ -aIZ -aIZ -aIZ -aIZ -bCm -bDW -bFV -bFQ -bJS -bvg -bNY -bPQ -bSd -bUh -bNY -bXF -bZu -cbm -ccW -ceM -cgf -chA -bVT -ckC -clY -cns -coV -ckC -crI -ctc -cuP -cwi -cxP -czs -cBg -cCA -crI -cFe -bZC -bZD -cJA -cHS -cHS -cOs -cHX -cHX -cTv -cOs -cHS -cHS -cZM -cFo -dcE -dec -dfQ -dhd -diR -dkG -dmg -dnB -doP -dfP -dsj -dtA -duH -dkD -dxr -dcE -aaf -agg +apO +apO +aro +asw +atU +avd +awg +axB +ayL +azU +aAY +aCl +awg +aEt +aFz +aHf +alT +aKa +aLu +aMG +aOm +aPR +aRB +aTc +aUV +aWM +aYm +baf +bbJ +baf +baf +baf +bhq +bjj +bkU +bmX +bow +bqf +bsi +btZ +bvl +aMG +aMG +aMG +aMG +aMG +aMG +bGs +bIf +bKf +bKa +bOd +bzg +bSl +bUd +bWt +bYC +bSl +cce +cdS +cfL +chx +cjn +ckH +cmc +car +cph +cqC +crV +cty +cph +cwo +cxI +czv +cAQ +cCx +cEe +cFV +cHq +cwo +cKb +cea +ceb +cCM +cMY +cMY +cTA +cNd +cNd +cYK +cTA +cMY +cMY +deY +cKl +dhQ +djt +dlh +dmx +dol +dqb +drD +dtb +dup +dlg +dxL +dzh +dAs +dpY +dDi +dhQ +aad +ajr aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa -aaf +aad aaa aaa aaa -aaf +aad aaa -aaH -aaf -aaf -aaH +abj +aad +aad +abj aaa aaa -agg -aaf -dVv -aaf +ajr +aad +ebB +aad aaa aaa -aae +aac aaa -dZB -eaf -ear +efe +efU +egB aaa -aaf -eae -aaf +aad +efT +aad aaa -dZB -eaf -ear +efe +efU +egB aaa -aBW -aae -aae -aae +aFo +aac +aac +aac aaa aaa aaa @@ -129183,168 +131289,168 @@ aaa aaa aaa aaa -agg -aaf -agg +ajr +aad +ajr aaa -aiW -ajL -ajL -ajL -ajL -ajL -aoI -apK -ebP -aso -ehy -auH -auC -auC -ehy -azg -aAe -aBe -aCj -aDM -aiW -aiW -aiW -aIZ -aKD -aMj -aNL -aPm -aRc -aTb -aUz -aWs -aUz -aUz -baS -bck -bdz -bfr -bhf -bji -epY -bmm -bol -bqe -brp -bsC -btR -bvt -bxa -byW -aIZ -bCn -bDX -bFW -bHP -bJT -bLO -bJU -bPR -bSe -bUi -bWb -bXG -bZv -cbn -cdc -ceN -cgg -efR -bVT -ckD -clZ -cnt -coW -cqs -crI -ctd -cuQ -cwj -erE -czt -cBh -cCB -crI -cFf -cGF -cHR -cJB -cHS -cMK -cOt -cQs -cRK -cTw -cVb -cWP -cHS -cJw -cFm -dcE -ded -dfS -dhe -diS -dkH -dme -dnB -doQ -dfQ -dsk -dtB -dtA -dwk -dxs -dcE -aaf -agg +alT +amH +amH +amH +amH +amH +arp +asx +atV +ave +awg +axC +axw +axw +awg +aCo +aDr +aEu +aFD +aHg +alT +alT +alT +aMG +aOn +aPS +aRv +aSW +aUO +aWN +aYn +bag +aYn +aYn +beG +bgb +bhr +bjk +bkV +bmY +box +bqg +bsj +bua +bvm +bwB +bxQ +bzt +bBa +bCY +aMG +bGt +bIg +bKg +bLZ +bOe +bQb +bOf +bUe +bWu +bYD +caz +ccf +cdT +cfM +chD +cjo +ckI +cmd +car +cpi +cqD +crW +ctz +cuZ +cwo +cxJ +czw +cAR +cCy +cEf +cFW +cHr +cwo +cKc +cLH +cMX +cOH +cMY +cRR +cTB +cVC +cWW +cYL +daq +dcc +cMY +cOD +cKj +dhQ +dju +dlj +dmy +dom +dqc +drB +dtb +duq +dlh +dxM +dzi +dzh +dBW +dDj +dhQ +aad +ajr aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa -aaf +aad aaa aaa aaa -aaf +aad aaa aaa aaa aaa -aaf -aaf -aaf -agg -aaf -dVw -aaf +aad +aad +aad +ajr +aad +ebC +aad aaa aaa -aae +aac aaa -dZB -eaf -ear +efe +efU +egB aaa -dZB -eaf -ear +efe +efU +egB aaa -dZB -eaf -ear +efe +efU +egB aaa -aaf +aad aaa aaa aaa @@ -129440,168 +131546,168 @@ aaa aaa aaa aaa -aaf -aaf -agg -aaf -aiW -ajL -ajL -ajL -ajL -ajL -epo -apQ -ebQ -epw -atm -auI -avS -auI -atl -azh -aAf -aBf -aCk -aDN -aFh -aGC -aHT -aIZ -aKD -aMk -aNL -aPt -aRk -aTc -aUA -aTc -aXX -aXX -baT -bcl -bdA -bfs -bhg -efv -aIZ -bmn -bom -bqf -brq -bsD -eqX -ehN -bvu -byX -aIZ -bCo -bDY -bFX -bHQ -bJU -bLP -bHQ -bPS -bSf -bUj -bLT -bXH -bZw -cbo -cdd -bVT -bVT -bVT -bVT -ckE -cma -cnu -coX -cqt -crI -cte -cuR -cwk -cxR -czu -cBi -cCC -crI -cFc -cGG -cHS -cJC -cHW -cML -cOu -cQt -cRL -cTx -cVc -cML -cHS -cZO -dbc -dcE -dee -dfT -dhf -diT -dkI -dmh -dnB -doR -dha -dsl -dtC -diT -diO -dxt -dcE -aaf -agg +aad +aad +ajr +aad +alT +amH +amH +amH +amH +amH +arq +asy +atW +avf +awi +axD +ayM +axD +awf +aCp +aDs +aEv +aFE +aHh +aID +aKb +aLv +aMG +aOn +aPT +aRv +aTd +aUW +aWO +aYo +aWO +bbK +bbK +beH +bgc +bhs +bjl +bkW +bmZ +aMG +bqh +bsk +bub +bvn +bwC +bxR +bzu +bBb +bCZ +aMG +bGu +bIh +bKh +bMa +bOf +bQc +bMa +bUf +bWv +bYE +bQg +ccg +cdU +cfN +chE +car +car +car +car +cpj +cqE +crX +ctA +cva +cwo +cxK +czx +cAS +cCz +cEg +cFX +cHs +cwo +cJZ +cLI +cMY +cOI +cNc +cRS +cTC +cVD +cWX +cYM +dar +cRS +cMY +deZ +dgo +dhQ +djv +dlk +dmz +don +dqd +drE +dtb +dur +dmu +dxN +dzj +don +doi +dDk +dhQ +aad +ajr aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa -aaf +aad aaa aaa aaa -aaf +aad aaa aaa -agg -agg -agg -aaf -aaf -aaf -aaf -dVw -aaf -aaf +ajr +ajr +ajr +aad +aad +aad +aad +ebC +aad +aad aaa -aae -aaf -dZB -eaf -ear -aaf -dZB -eaf -ear -aaf -dZB -eaf -ear -aaf -aae +aac +aad +efe +efU +egB +aad +efe +efU +egB +aad +efe +efU +egB +aad +aac aaa aaa aaa @@ -129697,140 +131803,140 @@ aaa aaa aaa aaa -agg -aaf -aaf -aaf -aiW -ajL -akR -ajL -akQ -ajL -eps -epu -arl -asp -atn -auJ -avT -awV -axU -azi -azi -aBg -aCl -aDO -aFi -aGD -aHU -aIZ -aKD -aMl -aNS -aPu -aRl -aTd -aUB -aWt -aXY -aZw -baU -bcm -bdB -bft -bhh -bjk -aIZ -bmo -bon -bqg -brr -bsE -btS -bvv -bxb -byY -bAJ -bCp -bDZ -bFY -bHR -bJV -bLQ -bNZ -bPT -bSg -bUk -bLT -bXI -bZx -cbp -cde -bVT -cgh -chC -bVT -ckF -cma -cnu -coY -cqu -crI -ctf -cuQ -cwl -cxQ -czv -cBh -cCD -crI -cFc -cGG -cHT -cJD -cHW -cMM -cOv -cQu -cRM -cQu -cVd -cWQ -cHS -cZL -dbc -dcE -dcE -dcE -dcE -diU -dkI -dmi -dcE -doS -dqy -diS -dtD -dhe -duI -deb -dcE -aaf +ajr +aad +aad +aad +alT +amH +anM +amH +anG +amH +arr +asz +atX +avg +awj +axE +ayN +azV +aAZ +aCq +aCq +aEw +aFF +aHi +aIE +aKc +aLw +aMG +aOn +aPU +aRC +aTe +aUX +aWP +aYp +bah +bbL +bdk +beI +bgd +bht +bjm +bkX +bna +aMG +bqi +bsl +buc +bvo +bwD +bxS +bzv +bBc +bDa +bEO +bGv +bIi +bKi +bMb +bOg +bQd +bSm +bUg +bWw +bYF +bQg +cch +cdV +cfO +chF +car +ckJ +cme +car +cpk +cqE +crX +ctB +cvb +cwo +cxL +czw +cAT +cCA +cEh +cFW +cHt +cwo +cJZ +cLI +cMZ +cOJ +cNc +cRT +cTD +cVE +cWY +cVE +das +dcd +cMY +deX +dgo +dhQ +dhQ +dhQ +dhQ +doo +dqd +drF +dhQ +dus +dwa +dom +dzk +dmy +dAt +djs +dhQ +aad aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa -aaf +aad aaa aaa aaa -aaf +aad aaa aaa aaa @@ -129838,27 +131944,27 @@ aaa aaa aaa aaa -aaf -dUl -dVx -dUl -aaf +aad +eak +ebD +eak +aad aaa -aae +aac aaa -dZB -eaf -ear +efe +efU +egB aaa -dZB -eaf -ear +efe +efU +egB aaa -dZB -eaf -ear +efe +efU +egB aaa -aae +aac aaa aaa aaa @@ -129954,168 +132060,168 @@ aaa aaa aaa aaa -agg +ajr aaa -agg -aaf -aiW -ajP -akP -akP -akP -aoa -aiW -apR -ebR -asq -ato -auK -avU -epy -axV -azj -aAg -aBh -aCm -aDP -aFj -aGE -aHV -aIZ -aKE -aMm -aNT -aPv -aMm -aTe -aUC -aWu -aXZ -aZx -baV -bcn -bdC -aZx -bhi -bjl -aIZ -bmp -boo -bqh -brs -bsF -aWq -bvw -bxc -byZ -bAK -bCq -bEa -bFZ -bHS -bJW -bLR -bOa -bPU -bSh -bUl -bWc -bXI -bZy -cbq -cdf -bVT -cgi -chD -bVT -ckG -cmb -cnv -coZ -cqv -crI +ajr +aad +alT +amK +anF +anF +anF +aqM +ars +asA +atY +avh +awk +axF +ayO +azW +aBa +aCr +aDt +aEx +aFG +aHj +aIF +aKd +aLx +aMG +aOo +aPV +aRD +aTf +aPV +aWQ +aYq +bai +bbM +bdl +beJ +bge +bhu +bdl +bkY +bnb +aMG +bqj +bsm +bud +bvp +bwE +bae +bzw +bBd +bDb +bEP +bGw +bIj +bKj +bMc +bOh +bQe +bSn +bUh +bWx +bYG +caA +cch +cdW +cfP +chG +car +ckK +cmf +car +cpl +cqF +crY +ctC +cvc +cwo +cxM +czy +cAU +cCB +cEi +cFY +cHu +cwo +cKa +cLI +cNa +cOK +cQu +cRU +cTE +cVF +cWZ +cYN +dat +dce +cMY +dfa +dgp +cIv +djw +dll +dhQ +dhQ +dqe +dhQ +dhQ +dut +dwb +dxO +dzl +dAt +dBX +dDl +dhQ +aad +aad +aad +aad +abj +aaa +abj +aad +aad +aad +ajr +ajr +aad +ajr +ajr +ajr +ajr +ajr +aad +ajr +ajr +aad +aad +eak +ebE +eak +aad +aad +aFo +aaa +efe +efV +egB +aaa +efe efU -cuS -cwm -cxS -czw -cBj -cCE -crI -cFd -cGG -cHU -cJE -cLm -cMN -cOw -cQv -cRN -cTy -cVe -cWR -cHS -cZP -dbe -cDC -def -dfU -dcE -dcE -dkJ -dcE -dcE -doT -dqz -dsm -dtE -duI -dwl -dxv -dcE -aaf -aaf -aaf -aaf -aaH +egB aaa -aaH -aaf -aaf -aaf -agg -agg -aaf -agg -agg -agg -agg -agg -aaf -agg -agg -aaf -aaf -dUl -dVy -dUl -aaf -aaf -aBW +efe +efV +egB aaa -dZB -eag -ear -aaa -dZB -eaf -ear -aaa -dZB -eag -ear -aaa -aBW +aFo aaa aaa aaa @@ -130211,168 +132317,168 @@ aaa aaa aaa aaa -agg -aaf -agg -aaf -aiW -aiW -aiW -aiW -aiW -aiW -aiW -apS -ebS -asr -atp -auL -avV -eqz -axW -azk -aAh -aBi -aCn -aiW -aiW -aiW -aiW -aJe -aIZ -aIZ -aIZ -aPw -aIU -aPw -aIZ -aSM -aIU -aWe -aIZ -aSM -aIU -aWe -aIZ -epW -aIZ -bmq -bop -bqi -brt -bsG -btT -bvx -bxd -bza -bAK -bCr -bEb -bGa -bHT -bJX -bLS -bOb -bPV -bSi -bUm -bLT -bXJ -bZz -cbr -cdg -bVT -cgj -chE -bVT -ckG -cmc -cnw -cpa -cqv -crI -crI -crI -crI -crI -crI -crI -crI -crI -cFg -cGG -cHV -cJF -cHW -cMO -cOx -cQw -cRO -cTz -cVf -cWS -cYD -cZQ -dbf -dcH -deg -dfV -bWg -diV -dkK -dmj -dcE -dcE -dcG -dcE -dtF -dcE -dcE -dcE -dcE -aaf +ajr +aad +ajr +aad +alT +alT +alT +alT +alT +alT +alT +asB +atZ +avi +awl +awe +awe +azX +aBb +aCs +aDu +aEy +aFH +alT +alT +aKe +alT +aML +aMG +aMG +aMG +aTg +aMB +aTg +aMG +aWy +aMB +aZS +aMG +aWy +aMB +aZS +aMG +bnc +aMG +bqk +bsn +bue +bvq +bwF +bxT +bzx +bBe +bDc +bEP +bGx +bIk +bKk +bMd +bOi +bQf +bSo +bUi +bWy +bYH +bQg +cci +cdX +cfQ +chH +car +ckL +cmg +car +cpl +cqG +crZ +ctD +cvc +cwo +cwo +cwo +cwo +cwo +cwo +cwo +cwo +cwo +cKd +cLI +cNb +cOL +cNc +cRV +cTF +cVG +cXa +cYO +dau +dcf +ddQ +dfb +dgq +dhT +djx +dlm +caE +dop +dqf +drG +dhQ +dhQ +dhS +dhQ +dzm +dhQ +dhQ +dhQ +dhQ +aad aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa aaa -aaf +aad aaa aaa aaa -aaf +aad aaa aaa aaa -aaf +aad aaa -aaf -dUl -dUl -epQ -dUl -dUl -aaf -aae +aad +eak +eak +ebF +eak +eak +aad +aac aaa aaa -aaf +aad aaa aaa -dZB -eag -ear +efe +efV +egB aaa aaa -aaf +aad aaa aaa -aae +aac aaa aaa aaa @@ -130441,6 +132547,28 @@ aaa aaa aaa aaa +aav +aav +aav +aav +aav +aav +aav +aav +aav +aav +aav +acR +acR +aav +aav +aav +aav +acR +acR +acR +aav +aav aaa aaa aaa @@ -130448,188 +132576,166 @@ aaa aaa aaa aaa +ajr +aad +aad +aaa +aad +aaa +aad +aaa +alT +asC +aua +avj +avj +axG +ayP +azY +aBc +aCt +aDv +aEz +aFI +aHk +aIG +aKf +aLy +alT +aad +aad +aRE +aTh +aRE +aTh +aRE +aWx +aRE +aZR +aRE +aWx +aRE +aZR +bkZ +aMN +aMG +bql +bso +buf +bvr +bwG +bxU +bzy +bBf +aMG +bEP +bGy +bIl +bKl +bMe +bOj +bQg +bQg +bQg +bQg +bQg +bQg +car +car +car +car +car +caE +cmh +cnI +cnI +cnI +cnI +cnI +cnI +cnI +cxN +czz +cAV +cCC +czz +cFZ +czz +cAV +cKe +cLI +cNc +cNc +cNc +cNc +cTG +cVH +cXb +cYP +cTG +cNc +cMY +cMY +cMY +cMY +djy +dgp +dmA +doq +dqg +cMN +dtd +duu +djw +djw +cOm +dAu +caE +aaa +aad +aad +aad +aad +aad +abj +aaa +abj +abj +abj +aad +aaa +ajr +ajr +ajr +ajr +ajr +aad +ajr +ajr +ajr +aaa +aad +eal +eaR +ebG +eck +eal +aad +aac +aac +aac +aFo +aac aaa aaa +aad aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -agg -aaf -aaf -aaa -aaf -aaa -aaf -aaa -aiW -apT -arn -ass -atq -auM -atq -awW -axX -azl -aAi -aBj -aCo -aiW -aaf -aaf -aaf -aaf -aaf -aaf -aNU -aPx -aNU -aPx -aNU -aSL -aNU -aWd -aNU -aSL -aNU -aWd -bhj -aJg -aIZ -bmr -boq -bqj -bru -bsH -btU -bvy -bxe -aIZ -bAK -bCs -bEc -bGb -bHU -bJY -bLT -bLT -bLT -bLT -bLT -bLT -bVT -bVT -bVT -bVT -bVT -bWg -chF -cjf -cjf -cjf -cjf -cjf -cjf -cjf -cth -cbw -cwn -cxT -cbw -cBk -cbw -cwn -cFh -cGG -cHW -cHW -cHW -cHW -cOy -epl -epm -epn -cOy -cHW -cHS -cHS -cHS -cHS -deh -dbe -dhg -diW -dkL -cHI -dnD -doU -def -def -cJf -duJ -bWg -aaa -aaf -aaf -aaf -aaf -aaf -aaH -aaa -aaH -aaH -aaH -aaf -aaa -agg -agg -agg -agg -agg -aaf -agg -agg -agg -aaa -aaf -dUm -dUR -dVz -dWh -dUm -aaf -aae -aae -aae -aBW -aae -aaa -aaa -aaf -aaa -aaa -aBW -aae -aae -aaf -aae +aFo +aac +aac +aad +aac aaa aaa aaa @@ -130697,6 +132803,29 @@ aaa aaa aaa aaa +aap +aaw +aaF +aaT +aav +abw +abI +abU +acg +acw +aav +adk +adz +adS +ael +aeI +aav +afH +aga +agu +agP +ahd +aav aaa aaa aaa @@ -130705,184 +132834,161 @@ aaa aaa aaa aaa +aad +aad +aad +aad +aad +aad +aad +alT +alT +alT +avk +avk +alT +alT +azZ +aBd +alT +alT +alT +alT +alT +alT +alT +alT +alT +aaa +aad +aRF +aTi +aUY +aWR +aRF +baj +aUY +bdm +aRF +baj +aUY +bdm +aRF +aMN +alf +bqm +bsp +bug +bvs +bwH +bxV +bzz +bBg +bzz +bBg +bGz +bIm +bKm +bMf +bKm +bQh +bKm +bKm +bWz +bYI +caB +caE +cdY +cfR +chI +ceb +cfU +cmi +cnI +cpm +cqH +csa +ctE +cvd +cnI +cxO +caE +caE +caE +caE +caE +caE +caE +cJZ +cLI +cNd +cNd +cNd +cRW +cTH +cVI +cRS +cYQ +dav +dcg +ddR +cNd +cNd +cMY +djz +dln +dhT +dor +dqh +drH +dhT +duv +dwc +drH +dzn +cLt +caE +aad +drP +dEn +dEn +drP +dEn +drP +dLI +drP +dOa +dOM +aad +aad +aad +aad +aad +aad +aad +aad +aad +aad +aad +aad +aad +eal +eaS +ebH +ecl +eal +aad aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aiW -aiW -aiW -aiW -atr -aoK -atr -aiW -axY -aoK -aoK -aiW -aiW -aiW -aaa -aaf -aaa -aaf -aaa -aaf -aNV -aPy -aIU -aTf -aNV -aWv -aIU -aZy -aNV -aWv -aIU -aZy -aNV -aJg -aib -bms -bor -bqk -brv -bsI -btV -bvz -bxf -bvz -bxf -bCt -bEd -bGc -bHV -bGc -bLU -bGc -bGc -bSj -bUn -bWd -bWg -bZA -cbs -cdh -bZD -cbv -chG -cjf -ckH -cmd -cnx -cpb -cqw -cjf -cti -bWg -bWg -bWg -bWg -bWg -bWg -bWg -cFc -cGG -cHX -cHX -cHX -cMP -cOz -cQy -cML -cTB -cVg -cWT -cYE -cHX -cHX -cHS -dei -dfW -dcH -diX -dkM -dmk -dcH -doV -dqA -dmk -dtG -duK -bWg -aaf -dms -dyv -dyv -dms -dyv -dms -dFJ -dms -dHX -dIJ -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -dUm -dUS -dVA -dWi -dUm -aaf -aaa -aaa -aaa -aaf -aae -aae -aae -aaf -aae -aae -aBW +aad +aac +aac +aac +aad +aac +aac +aFo aaa aaa aaa @@ -130954,187 +133060,187 @@ aaa aaa aaa aaa +aap +aaw +aaG +aaU +aav +abx +abI +aaL +ach +abo +aav +adl +adA +adT +aem +aeJ +aav +afI +aen +agv +aen +ahe +aav +aav +aav +acR +acR aaa aaa aaa aaa aaa +aad +aaa +aad +aaa +aad aaa aaa +aad aaa +avl +avl +alT +ayQ +aAa +aBe +aCu +aDw +aEA +aDw +aEA +aDw +aEA +aDw +aMM +aad +aad +aRF +aTj +aUZ +aWS +aRF +bak +bbN +bdn +aRF +bgf +bhv +bjn +aRF +aMO +alf +bqn +bsq +buh +bvt +bwI +bxW +bzA +bBh +bDd +bEQ +bGA +bIn +bKn +bKn +bOk +bQi +bKn +bUj +bWA +bYJ +caC +ccj +cdZ +cfS +chJ +cfS +ckM +cmj +cnI +cpn +cpn +csb +ctF +cve +cnI +cxP +caE +cAW +cCD +cEj +cGa +cHv +caE +cKf +cLI +cNe +cOM +cNd +cRX +cTI +cVJ +cWY +cYR +daw +dch +cNd +cON +dgr +cMY +djA +djA +djA +dos +dqi +djA +djA +djA +djA +djA +cJT +cLx +cOj aaa +dEn +dFz +dGY +dIj +dJJ +dEn +dLJ +drP +dOb +dON +dON +dON +dON +dON +dON +dON +dON +dON +dON +dON +dON +dON +aad +eal +eaT +ebI +ecm +eal +aad +aad +aad aaa +aad aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaa -aaf -aaa -aaf -aaa -aaa -aaf -aaa -aaf -ats -aaf -ats -aaf -axZ -azm -aAj -azm -aAj -azm -aAj -azm -aAj -aJf -aaf -aaf -aNV -aPz -aRn -aTg -aNV -aWw -aYa -aZz -aNV -bco -bdD -bfx -aNV -aJh -aib -bmt -bos -bql -brw -bsJ -btW -bvA -bxg -bzb -bAL -bCu -bEe -bGd -bGd -erk -bLV -bGd -bPW -bSk -bUo -bWe -bXK -bZB -cbt -cdi -cbt -cgk -chH -cjf -ckI -ckI -cny -cpc -cqx -cjf -ctj -bWg -cwo -cxU -czx -ejA -cCF -bWg -cFi -cGG -cHY -cJG -cHX -cMQ -cOA -cQz -cRM -cTC -cVh -cWU -cHX -cJH -dbg -cHS -dej -dej -dej -diY -dkN -dej -dej -dej -dej -dej -cYz -duL -cJc -aaa -dyv -dzE -dBb -dCl -dDJ -dyv -dFK -dms -dHY -dIK -dIK -dIK -dIK -dIK -dIK -dIK -dIK -dIK -dIK -dIK -dIK -dIK -aaf -dUm -dUT -dVB -dWj -dUm -aaf -aaf -aaf -aaa -aaf -aaa -aaf +aad aaa aaa aaa @@ -131208,205 +133314,205 @@ aaa aaa aaa aaa -aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiX -aiX -aiY -aiY -aiY -aiX -aiX -aib -aib -aib -aok -aok -aok -aib -aok -aok -aok -aib -aib -aib -aib -aib -aib -aJg -aaa -aaf -aNV -aPA -aRo -aPB -aNV -aWx -aYb -aWy -aNV -bcp -bdE -bcq -aNV -aJg -aib -bmu -bot -eiE -brx -brx -btX -bvB -bxh -bot -bAM -bCv -bEf -bCv -bCv -bCv -bLW -bOc -bPX -bSl -bUp -bWf -bWg -bZC -cbu -err -bZC -cdj -chI -cjf -ckJ -cme -cnz -cpd -cqy -cjf -ctk -bWg -cwp -bZD -czy -cBm -efV -bWg -cFd -cGG -cHX -cHX -cLn -cMR -cOB -cQA -cRQ -cTD -cVi -cWV -cHX -cHX -cHX -cHS -egi -dfX -dhh -diZ -dkO -dml -dnE -doW -dqB -dej -cEV -duM -cJc -aaf -dyv -dzF -dBc -dCm -dDK -dEA -dFL -dms -dHZ -dIK -dJt -dKr -dLo -dMu -dNt -dMv -dPc -dPT -dQJ -dRA -dSr -dIK -dIJ -dUm -dUU -dVC -dWk -dUm -dIJ -dIJ -aaf -agg -aaf -aaa -agg -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aab +aaa +aaa +aaa +aav +aav +aaV +aaq +aaq +abJ +aaL +aci +acx +aav +adm +adB +adU +aen +aeK +aav +afJ +aen +agw +agQ +ahf +aav +ahI +ahZ +ait +acR +acR aaa aaa aaa aaa +alU +alU +alV +alV +alV +alU +alU +alf +alf +aqV +aqV +alT +ayR +azZ +aBf +alT +alf +alf +alf +alf +alf +alf +alf +aMN aaa aad +aRF +aTk +aVa +aTl +aRF +bal +bbO +bam +aRF +bgg +bhw +bgh +aRF +aMN +alf +bqo +bsr +bui +bvu +bvu +bxX +bzB +bBi +bsr +bER +bGB +bIo +bGB +bGB +bGB +bQj +bSp +bUk +bWB +bYK +caD +caE +cea +cfT +chK +cea +cjq +cmk +cnI +cpo +cqI +csc +ctG +cvf +cnI +cxQ +caE +cAX +ceb +cEk +cGb +cHw +caE +cKa +cLI +cNd +cNd +cQv +cRY +cTJ +cVK +cXc +cYS +dax +dci +cNd +cNd +cNd +cMY +djB +dlo +dmB +dot +dqj +drI +dte +duw +dwd +djA +cJS +cLu +cOj +aad +dEn +dFA +dGZ +dIk +dJK +dKA +dLK +drP +dOc +dON +dPu +dQq +dRo +dSp +dTl +dSq +dUR +dVI +dWC +dXp +dYj +dON +dOM +eal +eaU +ebJ +ecn +eal +dOM +dOM +aad +ajr +aad +aaa +ajr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aab aaa aaa aaa @@ -131469,186 +133575,186 @@ aaa aaa aaa aaa +aav +aaH +aaW +abk +aaq +aav +aav +acj +aav +aav +aav +aav +acR +aeo +aeL +aav +acR +agb +agx +aav +aav +aav +ahJ +aci +ahh +aiK +acR aaa aaa aaa aaa +alU +amM +anN +aoM +apP +aqN +alU +alg +alg +avm +alg +arB +ayS +avm +alg +arB +arB +aug +alg +alg +aAd +aKg +alf +aMO +aad +aad +aRF +aTl +aVb +aTl +aRF +bam +bbP +bam +aRF +bgh +bhx +bgh +aRF +aMO +alf +bqp +bss +bss +bss +bst +bss +bss +bss +bss +bss +bss +bss +bss +bss +bss +bss +bSq +bUl +bWC +bYL +caE +caE +ceb +cea +caE +cjp +cea +cmk +cnI +cpp +cqJ +csd +ctH +cvg +cnI +cxO +caE +cAY +cCE +cEl +cGc +cHx +caE +cJZ +cLI +cNc +cNc +cNc +cNc +cTK +cVK +cXd +cYT +cTN +cNc +cNc +cNc +cNc +cMY +djC +dlp +dmC +dou +dqk +drJ +dtf +dux +dwe +djA +dzo +cLt +caE aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiX -eeE -akS -alS -and -aob -aiX -aic -aic -ast -aic -aoT -avW -ast -aic -aoT -aoT -ars -aic -aic -awY -aGF -aib -aJh -aaf -aaf -aNV -aPB -aRp -aPB -aNV -aWy -aYc -aWy -aNV -bcq -bdF -bcq -aNV -aJh -aib -bmv -bou -bou -bou -bov -bou -bou -bou -bou -bou -bou -bou -bou -bou -bou -bou -bOd -bPY -epi -bUq -bWg -bWg -bZD -bZC -bWg -ceO -bZC -chI -cjf -ckK -cmf -cnA -cpe -cqz -cjf -cti -bWg -cwq -cxV -czz -cBn -cCH -bWg -cFc -cGG -cHW -cHW -cHW -cHW -cOC -cQA -cRR -cTE -cOF -cHW -cHW -cHW -cHW -cHS -del -dfY -dhi -dja -dkP -dmm -dnF -doX -dqC -dej -dtH -duK -bWg -aaa -dms -dzG -dBd -dCn -dDL -dyv -ebF -dms -dIa -dIK -dJu -dKs -dLp -dMv -dNu -dLr -dMz -dMu -dQK -dRB -dSs -dIK -dTK -dUn -dUV -dVD -dVK -dFW -dWU -dXt -aaf -agg -agg -aaf -agg +drP +dFB +dHa +dIl +dJL +dEn +dLL +drP +dOd +dON +dPv +dQr +dRp +dSq +dTm +dRr +dSu +dSp +dWD +dXq +dYk +dON +dZH +eam +eaV +ebK +ebR +dLW +ecQ +edl +aad +ajr +ajr +aad +ajr aaa aaa aaa @@ -131726,186 +133832,186 @@ aaa aaa aaa aaa +aav +aaI +aaX +abl +aby +abK +abV +ack +acy +acR +adn +adC +adV +aep +aeM +afl +afK +agc +agy +aaW +aaW +ahy +aci +aci +aiu +aiL +acR aaa aaa aaa aaa +alU +amN +anO +aoN +anO +aqO +alU +alg +aub +avn +alg +axH +ary +aAb +aAb +aAb +aAb +aAb +aAb +aAb +arB +aKh +alf +aMN aaa +aad +aRF +aRF +aRF +aRF +aRF +aRF +aRF +aRF +aRF +aRF +aRF +aRF +aRF +aMN +alf +bqq +bss aaa +aad aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiX -ajR -akT -alT -akT -aoc -aiX -aic -eeL -asu -aic -auN -aoQ -awX -awX -awX -awX -awX -awX -awX -aoT -aGG -aib -aJg -aaa -aaf -aNV -aNV -aNV -aNV -aNV -aNV -aNV -aNV -aNV -aNV -aNV -aNV -aNV -aJg -aib -bmw -bou -aaa -aaf -aaa -aaf -btY -bxi -bzc -bAN -bCw -bEg -bGe -bHW -bJZ -bLX -bou -bPZ -bSn -bUr -bWg -bXL -bZC -cbv -cdk -bZD -bZC -chJ -cjf -cjf -cmg -cnB -cjf -cjf -cjf -ctl -bWg -cwr -cxW -czA -bZD -cCI -bWg -cFj -cGG -cHX -cHX -cHX -cMS -cOD -cQA -cRR -cTF -cVj -cWW -cYE -cHX -cHX -cHS -dem -dfZ -dhj -djb -dkQ -dmn -dnF -doY -dqB -dej -dtI -duN -cJc -aaf -dyv -dzH -dBe -dCo -dDM -dEB -dFM -dms -dIb -dIL -dJv -dKt -dLq -dMw -dNv +aad +bxY +bBj +bDe +bES +bGC +bIp +bKo +bMg +bOl +bQk +bss +bUm +bWD +bYM +caE +cck +cea +cfU +chL +ceb +cea +cml +cnI +cnI +cqK +cse +cnI +cnI +cnI +cxR +caE +cAZ +cCF +cEm +ceb +cHy +caE +cKg +cLI +cNd +cNd +cNd +cRZ +cTL +cVK +cXd +cYU +day +dcj +ddR +cNd +cNd +cMY +djD +dlq +dmD +dov +dql +drK +dtf +duy +dwd +djA +dzp +cLy +cOj +aad +dEn +dFC +dHb +dIm +dJM +dKB +dLM +drP +dOe +dOO +dPw +dQs +dRq +dSr +dTn +dUc +dUS +dUf +dSu +dUT +dYl +dON dOl -dPd -dOo -dMz -dPe -dSt -dIK -dIi -dUo -dFW -dTm -dFW -dQQ -dXn -dXt -aaf -aaf -aaf +ean +dLW +dZg +dLW +ecv +edf +edl +aad +aad +aad aaa -agg +ajr aaa aaa aaa @@ -131982,188 +134088,188 @@ aaa aaa aaa aaa +aaq +aaq +aaq +aaY +abc +aaW +abL +aaW +acl +aaW +acS +aaW +abc +adW +aeq +aaW +afm +afL +agd +agz +agR +abn +aav +ahK +aia +aci +aiM +acR aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiY -ajS -akU +alV +amO +anP +aoO +apQ +aqP alU -ane -eeH -aiX -apU -aoQ -asv -att -aic -avX -awX -aya -azn -aAk -azo -aCp -awX -axa -ame -aib -axZ -aAj -azm -aAj -azm -aAj -azm -aAj -azm -aAj -azm -aAj -azm -aAj -azm -aAj -bjn -aib -bmx -bou -aaf -bry -brz -btY -btY -bxj -bzd -bzd -bzd -bEh -bzd -bzd -bzd -bLY -bou -bQa -bSn -bUs -bWh -bXM -bZE -bXM -bXM -bXM -cgl -chK -cjg -bXM -bXM -cnC -cpf -cqA -bXM -ctm -cuT -cuT -cuT -czB -cuT -cuT -cuT -cFk -cGH -cHZ -cJH -cHX -cMT -cOA -cQB -cRS -cTG -cVh -cWX -cHX -cJG -dbh -cHS -den -dga -dhk -djc -dkR -dmo -dnF -doZ -dqB -dej -esh -duK -cJc +asD +ary +avo +awm +alg +ayT +aAb +aBg +aCv +aDx +aCw +aFJ +aAb +aIH +aoY +alf +aMP +aDw +aEA +aDw +aEA +aDw +aEA +aDw +aEA +aDw +aEA +aDw +aEA +aDw +aEA +aDw +bnd +alf +bqr +bss +aad +bvv +bvw +bxY +bxY +bBk +bDf +bDf +bDf +bIq +bDf +bDf +bDf +bQl +bss +bUn +bWD +bYN +caF +ccl +cec +ccl +ccl +ccl +ckN +cmm +cnJ +ccl +ccl +csf +ctI +cvh +ccl +cxS +czA +czA +czA +cEn +czA +czA +czA +cKh +cLJ +cNf +cON +cNd +cSa +cTI +cVL +cXe +cYV +daw +dck +cNd +cOM +dgs +cMY +djE +dlr +dmE +dow +dqm +drL +dtf +duz +dwd +djA +dzq +cLt +cOj aaa -dyv -dzI -dBf -dCp -dDN -dyv -dFN -dms -dFW -dIM -dJw -dJA -dJA -dMx -dNw -dJA -dJA -dJw -dJw -dRC -dSu -dIK -dTL -dUo -dFY -dFY -dFY -dFY -dFY -dFY -dFY -dFY -aaf -aaf -aaf -aaf +dEn +dFD +dHc +dIn +dJN +dEn +dLN +drP +dLW +dOP +dPx +dPB +dPB +dSs +dTo +dPB +dPB +dPx +dPx +dXr +dYm +dON +dZI +ean +dLY +dLY +dLY +dLY +dLY +dLY +dLY +dLY +aad +aad +aad +aad aaa aaa aaa @@ -132239,188 +134345,188 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiX -ajT -akV -alV -anf -anf -aiX -apV -arp -eqy -atu -auO -avY -awX -ayb -azo -azo -azn -aCq -aDQ -axa -aoQ +aar +aax +aaJ +aaZ +aaW +abz +aaW +abc +aaW +acz +acT +ado +abc +abc +aaW +aaW +afn +abc +afn +aaW +aaW +ahg +aav +ahL aib -aib -aib -aib -aib -aok -aok -aok -aib -aok -aok -aok -aib -aok -aok -aok -aib -aib -aib -bmy -bou +aiv +aiN +acR aaa -brz -bsK -btZ -brz -bxk -bze -bAO -bCx -bEi -bGf -bHX -bKa -bLZ -bOe -bQb -bSo -bUt -bWg -bXN -bZF -cbw -bZF -ceP -cbw -chL -cjh -ckL -cmh -cnD -ckL -cmh -crJ -ctn -cuU -crJ -cxX -czC -crJ -cCJ -cDB -cFl -cGG -cHX -cHX -cLn -cMU -cOE -cQA -cRR -cTF -cVk -cWY -cHX -cHX -cHX -cHS -deo -dgb -dhl -djd -dkS -dmp -dnF -dpa -dqD -dej -cEV -duM -bWg -aaf -dms -dzJ -dBg -dCq -dDO -dEC -dFO -dms -dIc -dIN -dJx -dKu -dJx -dMy -dNx -dOm -dOm -dOm -dOm -dRD -dSv -dIK -dIi -dUp -dUW -dVE -dWl -dWN -dXo -dYd -dYN -dUW -aaf -agg aaa -agg +aaa +aaa +alU +amP +anQ +aoP +apR +apR +alU +asE +auc +avp +awn +axI +ayU +aAb +aBh +aCw +aCw +aCv +aFK +aHl +aIH +ary +alf +alf +alf +alf +alf +aqV +aqV +aqV +alf +aqV +aqV +aqV +alf +aqV +aqV +aqV +alf +alf +alf +bqs +bss +aaa +bvw +bwJ +bxZ +bvw +bBl +bDg +bET +bGD +bIr +bKp +bMh +bOm +bQm +bSr +bUo +bWE +bYO +caE +ccm +ced +cea +ced +cjq +cea +cmn +cnK +cpq +cqL +csg +cpq +cqL +cwp +cxT +czB +cwp +cCG +cEo +cwp +cHz +cIt +cKi +cLI +cNd +cNd +cQv +cSb +cTM +cVK +cXd +cYU +daz +dcl +cNd +cNd +cNd +cMY +djF +dls +dmF +dox +dqn +drM +dtf +duA +dwf +djA +cJS +cLu +caE +aad +drP +dFE +dHd +dIo +dJO +dKC +dLO +drP +dOf +dOQ +dPy +dQt +dPy +dSt +dTp +dUd +dUd +dUd +dUd +dXs +dYn +dON +dOl +eao +eaW +ebL +eco +ecJ +edg +edJ +een +eaW +aad +ajr +aaa +ajr aaa aaa aaa @@ -132496,188 +134602,188 @@ aaa aaa aaa aaa +aaq +aay +aaq +aba +abm +aaW +aaW +abW +aaW +aaW +acS +aaW +aaW +adX +abc +aaW +afo +afM +age +aaW +aaW +ahh +aav +aaY +aci +aci +aiO +acR aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiY -ajU -akW alV -ala -akW -eeI -apW -aic -asw -atv -auP -ame -awX -ayc -azo -azo -aBk -aCr -awX -aoT -aic -ast -aoT -aoT -aMn -ast -aic -aoT -aoT -aoT -ars -ars -ast -aic -aic -ast -ars -bhk -aoQ -ars -bmz -bov -aaf -brA -bsL -bua -bvC -bxl -bzf -bzf -bzf -bEj -bzf -bzf -bzf -bxl -bOf -bQc -bSp -bUu -bWi -bWi -bWi -bWi -bWi -bWi -bWi -chM -cji -bWi -bWi -bWi -bWi -bWi -bWi -bWi -bWi -bWi -bWi -bWi -bWi -cCK -bZD -cFm -cGG -cHW -cHW -cHW -cHW -cOF -cQC -erU -cTF -cOC -cHW -cHW -cHW -cHW -cHS -dep -dgc -dhm -dje -dkT -dmp -dnF -dpb -dqB -dej -dtI -duO -bWg -bWg -dms -dms -dms -dCr -dDP -dms -dms -dms -dId -dIL -dJy -dKv -dLr -dMz -dMv -dOn -dMu -dPU -dOo -dRE -dSw -dIK -dTM -dUq -dUX -dFW -dWm -dWO -dSC -dYe -dYO -dZC -aaf -agg -aaf -agg +amQ +anR +aoP +apS +anR +art +asF +alg +avq +awo +axJ +aoY +aAb +aBi +aCw +aCw +aEB +aFL +aAb +arB +alg +avm +arB +arB +aPW +avm +alg +arB +arB +arB +aug +aug +avm +alg +alg +avm +aug +bla +ary +aug +bqt +bst +aad +bvx +bwK +bya +bzC +bBm +bDh +bDh +bDh +bIs +bDh +bDh +bDh +bBm +bSs +bUp +bWF +bYP +caG +caG +caG +caG +caG +caG +caG +cmo +cnL +caG +caG +caG +caG +caG +caG +caG +caG +caG +caG +caG +caG +cHA +ceb +cKj +cLI +cNc +cNc +cNc +cNc +cTN +cVM +cXf +cYU +cTK +cNc +cNc +cNc +cNc +cMY +djG +dlt +dmG +doy +dqo +drM +dtf +duB +dwd +djA +dzp +cLs +caE +caE +drP +drP +drP +dIp +dJP +drP +drP +drP +dOg +dOO +dPz +dQu +dRr +dSu +dSq +dUe +dSp +dVJ +dUf +dXt +dYo +dON +dZJ +eap +eaX +dLW +ecp +ecK +dYu +edK +eeo +eff +aad +ajr +aad +ajr aaa aaa aaa @@ -132754,187 +134860,187 @@ aaa aaa aaa aaa +aav +aaK +aaY +abn +abA +abM +abX +acm +acA +acR +adp +adD +aaW +aer +aaW +afp +afN +agf +agA +aaW +ahi +ahy +aci +aci +aiw +aiP +acR aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiY -ajV -akX -alW -ang -aoe -aoN -apX -aib -aib -aib -aib -aib -awX -ayd -azn -azo -aBl -aCs -awX -aic +alV +amR +anS aoQ -aHW -aHW -aHW -aHW -aNW -aPC -aHW -aHW -avX -aWz -aoT -aZA -aoT -bcr -bcr -aic -bhl -aic -aoT -aUG -bou +apT +aqQ +aru +asG +alf +alf +alf +alf +alf +aAb +aBj +aCv +aCw +aEC +aFM +aAb +alg +ary +aLz +aLz +aLz +aLz +aRG +aTm +aLz +aLz +ayT +ban +arB +bdo +arB +bgi +bgi +alg +blb +alg +arB +bqu +bss aaa -brB -bsM -bub -brB -bxk -erb -bAP -bCy -bEk -bGg -bHY -bze -bMa -bou -bQd -bSn -bUr -bWi -bXO -bZG -cbx -cdl -ceQ -ceR -chN -cjj -ckM -cmi -cnE -cpg -bWi -bXT -cto -cuV -cws -cxY -czD -bWi -cCL -ceO -cFn -cGG -cHX -cHX -cHX -cMV -cOG -cQD -cRT -cTF -cVg -cWZ -cYE -cHX -cHX -cHS -deq -dgd -dhn -djf -dkU -dmq -dnG -dpc -dqB -dej -cYz -duN -dwm -bZC -dyw -dzK -dBh -dCs -dDQ -dzK -dFP -dHs -dIe -dIK -dJz -dKt -dLs -dMz -dMz -dOo -dPe -dOo -dOl -dRF -dSx -dIK -dMI -dUo -dUY -dVF -dWn -dWP -dWP -dYf -dYP -dZC -aaf -agg +bvy +bwL +byb +bvy +bBl +bDi +bEU +bGE +bIt +bKq +bMi +bDg +bQn +bss +bUq +bWD +bYM +caG +ccn +cee +cfV +chM +cjr +cjs +cmp +cnM +cpr +cqM +csh +ctJ +caG +ccs +cxU +czC +cBa +cCH +cEp +caG +cHB +cjp +cKk +cLI +cNd +cNd +cNd +cSc +cTO +cVN +cXg +cYU +dav +dcm +ddR +cNd +cNd +cMY +djH +dlu +dmH +doz +dqp +drN +dtg +duC +dwd +djA +cJT +cLy +dBY +cea +dEo +dFF +dHe +dIq +dJQ +dFF +dLP +dNt +dOh +dON +dPA +dQs +dRs +dSu +dSu +dUf +dUT +dUf +dUc +dXu +dYp +dON +dSD +ean +eaY +ebM +ecq +ecL +ecL +edL +eep +eff +aad +ajr aaa -agg +ajr aaa aaa aaa @@ -133011,187 +135117,187 @@ aaa aaa aaa aaa +aav +aaL +aaW +abo +aaq +aav +aav +abY +aav +aav +aav +aav +adY +aav +aeN +acR +afO +aav +aav +adY +aav +aav +ahM +aci +aix +aiy +acR aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiY -ajW -eeF -alX -anh -aof -eeI -apY -aib -asx -atw -auQ -YGM -awX -aye -azn -azo -aBl -aCt -awX -aoS -aGH -aHW -aJj -aKF -eff -aNX -aPD -aJm -aHW -aoQ -aGI -efo -aic -baW -bcs -aib -efo -aoQ -aib -aib -bmA -bou -aaf -bry -brB -btY -btY -bxn -bzg -bzg -bzg -bEl -bzg -bzg -bzg -bMb -bou -bQd -bSn -bUr -bWj -bXP -bZH -cby -cdm -ceR -cgm +alV +amS +anT +aoR +apU +aqR +art +asH +alf +avr +awp +axK +eht +aAb +aBk +aCv +aCw +aEC +aFN +aAb +arA +aKi +aLz +aMQ +aOp +aPX +aRH +aTn +aVc +aLz +ary +aKj +bbQ +alg +beK +bgj +alf +bbQ +ary +alf +alf +bqv +bss +aad +bvv +bvy +bxY +bxY +bBn +bDj +bDj +bDj +bIu +bDj +bDj +bDj +bQo +bss +bUq +bWD +bYM +caH +cco +cef +cfW chN -cjj -ckN -cmj -chQ -cpg -bWj -crK -ctp -cuW -cwt -ctp -czE -bWi -cCM -bZC -cFn -cGG -cIa -cJG -cHX -cMW -cOA -cQE -cRU -cTH -cVh -cXa -cHX -cJH -dbi -cHS -der -dgd -dho -djg -dkV -dmo -dnH -dpd -dqC -dej -dtJ -duP -cmh -dxw -cOq -dzL -dBi -dCt -dDR -dED -dFQ -dHt -dIf -dIK -dJA -dKw -dLt -dMA -dNy -dMv -dMz -dMv -dQL -dRG -dSy -dIK -dTN -dUr -dUZ -dVG -dSC -dWQ -dXp -dYg -dYQ -dFY -aaf -aaf +cjs +ckO +cmp +cnM +cps +cqN +cmt +ctJ +caH +cwq +cxV +czD +cBb +cxV +cEq +caG +cHC +cea +cKk +cLI +cNg +cOM +cNd +cSd +cTI +cVO +cXh +cYW +daw +dcn +cNd +cON +dgt +cMY +djI +dlu +dmI +doA +dqq +drL +dth +duD +dwe +djA +dzr +dAv +cqL +dDm +cTy +dFG +dHf +dIr +dJR +dKD +dLQ +dNu +dOi +dON +dPB +dQv +dRt +dSv +dTq +dSq +dSu +dSq +dWE +dXv +dYq +dON +dZK +eaq +eaZ +ebN +dYu +ecM +edh +edM +eeq +dLY +aad +aad aaa -aaf +aad aaa aaa aaa @@ -133268,187 +135374,187 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiY -ajX -akZ -alY -ani -aog -aoO -apZ -aib -aoT -aoT -auR -eeQ -awX -ayf -azo -aAl -aBm -aCu -aDR -aFk -aGI -aHW -aJk -aKG -aMp -aNY -aNZ -aRr -aHW -aUD -eqL -aib -aoQ -efo -aib -aib -bfy +aav +aav +abb +aaq +aaq +abN +abY +aci +acB +acB +aav +adE +aci +aav +aeO +afq +aci +agg +aav +aci +ahj +aav +ahN aic +aiy +acR +acR +aaa +aaa +aaa +aaa +alV +amT +anU +aoS +apV +aqS +arv +asI +alf +arB +arB +axL +ayV +aAb +aBl +aCw +aDy +aED +aFO +aHm +aII +aKj +aLz +aMR +aOq +aPY +aRI +aRJ +aVd +aLz +aYr +bao +alf +ary +bbQ +alf +alf bjo -efo -aUG -bou +alg +bne +bbQ +bqu +bss aaa -aaf +aad aaa -aaf -bvD -bxo -bzh -bAQ -bCz -bEm -bGh -bHZ -bKb -bMc -bou -bQe -bSn -bUs -bWk -bXQ -bXQ -cbz -bXQ -bXQ -cgn -chO -cjk -ckO -bXQ -bXQ -bXQ -cqB -bXQ -ctq -cuX -cwu -cxZ -crK -bWi -cCK -bZD -cFn -cGG -cHX -cHX -cLn -cMX -cOB -cQy -cML -cTB -cVl -cXb -cHX -cHX -cHX -cHS -des -egk -dhp -djh -dkW -dmr -dnH -dpe -dqB -dej -dtK -cMH -dwn -cMH -dyx -dzM -dBj -dCu -dDS -dzM -dFR -dHu -dIg -dIK -dJB -dKx -dLu -dJA -dNz -dMv -dPf -dLr -dQM -dRH -dSz -dIK -dIi -dUr -dFY -dVH -dWo -dWR -dXq -dYh -dIJ -dFY -aaf -agg -aaf -agg +aad +bzD +bBo +bDk +bEV +bGF +bIv +bKr +bMj +bOn +bQp +bss +bUr +bWD +bYN +caI +ccp +ccp +cfX +ccp +ccp +ckP +cmq +cnN +cpt +ccp +ccp +ccp +cvi +ccp +cxW +czE +cBc +cCI +cwq +caG +cHA +ceb +cKk +cLI +cNd +cNd +cQv +cSe +cTJ +cVI +cRS +cYQ +daA +dco +cNd +cNd +cNd +cMY +djJ +dlv +dmJ +doB +dqr +drO +dth +duE +dwd +djA +dzs +cRP +dBZ +cRP +dEp +dFH +dHg +dIs +dJS +dFH +dLR +dNv +dOj +dON +dPC +dQw +dRu +dPB +dTr +dSq +dUU +dRr +dWF +dXw +dYr +dON +dOl +eaq +dLY +ebO +ecr +ecN +edi +edN +dOM +dLY +aad +ajr +aad +ajr aaa aaa aaa @@ -133524,188 +135630,188 @@ aaa aaa aaa aaa +aap +aaw +aaM +abc +aav +aav +aav +aav +acn +acC +acU +aav +adF +aci +aes +aeP +afr +afP +agh +aes +aci +acU +aav +aav +aav +acR +acR aaa aaa aaa aaa aaa +alV +amQ +anR +aoT +apW +anQ +art +asJ +aud +avs +awq +axM +ayW +aAb +aBm +aCw +aCw +aEE +aFP +aHn +aIJ +aKj +aLz +aMS +aOr +aPZ +aRJ +aTo +aVe +aLz +aAe +alg +alg +alg +avm +aug +alg +avm +alg +aug +aug +bqw +bsu +bss +bss +bst +bss +bxY +bxY +bxY +bxY +bxY +bxY +bxY +bxY +bxY +bxY +bxY +bUs +bWG +bYQ +caJ +ccq +ceg +ccq +chO +ceg +ckQ +cmr +ccq +ceg +ccq +ccq +ccq +cvj +ccq +cxX +czF +cBd +cCJ +cEr +caG +cHA +cIu +cKl +cLI +cNc +cNc +cNc +cNc +cTP +cVH +cXb +cYP +cTP +cNc +cNc +cMY +cMY +dhU +djK +djK +djK +doC +dqs +drP +drP +drP +drP +drP +drP +drP +drP +drP +drP +drP +drP +dIt +drP +drP +dLS +dNw +dOk +dON +dPD +dQx +dRv +dSw +dTs +dON +dON +dON +dON +dXx +dON +dON +dZL +ear +eba +ebP +ecs +dYu +edj +edO +eer +dLY +aad +ajr aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiY -ajU -akW -alZ -anj -akV -eeI -aqa -arq -asy -atx -auS -awa -awX -ayg -azo -azo -aBn -aCv -aDS -aFl -aGI -aHW -aJl -aKH -aMq -aNZ -aPE -efh -aHW -awZ -aic -aic -aic -ast -ars -aic -ast -aic -ars -ars -bmB -bow -bou -bou -bov -bou -btY -btY -btY -btY -btY -btY -btY -btY -btY -btY -btY -ecv -ecw -ecx -bWl -bXR -bZI -bXR -ers -bZI -cgo -chP -bXR -bZI -bXR -bXR -bXR -cqC -bXR -ctr -cuY -cwv -cya -czG -bWi -cCK -erJ -cFo -cGG -cHW -cHW -cHW -cHW -cOH -epl -epm -epn -cOH -cHW -cHW -cHS -cHS -dcI -det -det -det -dji -dkX -dms -dms -dms -dms -dms -dms -dms -dms -dms -dms -dms -dms -dCv -dms -dms -dFS -dHv -dIh -dIK -dJC -dKy -dLv -dMB -dNA -dIK -dIK -dIK -dIK -dRI -dIK -dIK -dTO -dUs -dVa -dVI -dWp -dSC -dXr -dYi -dYR -dFY -aaf -agg -aaa -agg +ajr aaa aaa aaa @@ -133781,6 +135887,29 @@ aaa aaa aaa aaa +aap +aaz +aaN +abd +aav +abB +abO +abY +aci +acD +acD +aav +adG +aci +aav +aeQ +afs +afs +agi +aav +aci +ahk +aav aaa aaa aaa @@ -133790,179 +135919,156 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiX -ajZ -ecb -ama -ank -aoi -aiX -aqb -aib -aic -aty -aic -eeR -awX -ayh -edd -azo -azo +alU +amU +anV +aoU +apX +aqT +alU +asK +alf +alg +awr +alg +ayX +aAb +aBn +aCx aCw -awX -aqg -aoT -aHW -ejz -ecs -aMr -aOa -aPF -efi -aHW -aUE -aWA -aWA -aZB -baX -aWA -aZB -aZB -bhm -bjp -aZB -bmC -box -bqm -aBo -aCy -buc -bvE -bxp -akm -ajl -ajl -erf -akm -ajl -bKc -aip -eph -bQf -bSn -bUr -bWj -bXS -bZJ -cbA -cdn -ceS -cgp -ehO -cjl -ckP -cjl -chQ -cpg -bWj -crL -cts -cuZ -cww -cgp -czH -bWi -cCK -ceO -cFo -cGG -ecI -ecI -ecI -cHW -cOI -cQy -cML -cTB -cVm -cXc -cYF -cZR -dbj -dcJ -eju -dad -dhq -djj -dkY -dmt -dnI -dpf -dqE -dsn -dtL -duQ -dwo -dxx -dyy -dzN -dBk -dCw -dDT -dms -dFT -dHw -dIh -dIK -dJD -dKz -dLw -dJw -dNB -dIK -dPg -dPV -dQN -dRJ -dSA -dIK -dTM -dUt -dVb -dVF -dWn -dWP -dWP -dYj -dYS -dZC -aaf -aaf +aCw +aFQ +aAb +asQ +arB +aLz +aMT +aOs +aQa +aRK +aTp +aVf +aLz +aYs +bap +bap +bdp +beL +bap +bdp +bdp +blc +bnf +bdp +bqx +bsv +buj +aEG +aFS +byc +bzE +bBp +anh +ami +ami +bIw +anh +ami +bOo +alt +aqW +bUt +bWD +bYM +caH +ccr +ceh +cfY +chP +cjt +ckR +cms +cnO +cpu +cnO +cmt +ctJ +caH +cwr +cxY +czG +cBe +ckR +cEs +caG +cHA +cjp +cKl +cLI +cNh +cNh +cNh +cNc +cTQ +cVI +cRS +cYQ +daB +dcp +ddS +dfc +dgu +dhV +djL +dfp +dmK +doD +dqt +drQ +dti +duF +dwg +dxP +dzt +dAw +dCa +dDn +dEq +dFI +dHh +dIu +dJT +drP +dLT +dNx +dOk +dON +dPE +dQy +dRw +dPx +dTt +dON +dUV +dVK +dWG +dXy +dYs +dON +dZJ +eas +ebb +ebM +ecq +ecL +ecL +edP +ees +eff +aad +aad aaa -agg +ajr aaa aaa aaa @@ -134039,6 +136145,28 @@ aaa aaa aaa aaa +aav +aav +aav +aav +aav +aav +aav +aav +aav +aav +aav +adH +adZ +aav +aav +acR +acR +aav +aav +agS +adH +aav aaa aaa aaa @@ -134048,178 +136176,156 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aiY -aka -alb -amb -anl -aoj -edc -aUJ -ecd -asz -ece -auT -awc -ecf -ecg -ede -ecj -eck -aCx -ecl -ecm -ecn -ecp -aJn -aKJ -aMs -aOb -aPG -aRu -ecp -aUF -boy -boy -boy -boy -boy -boy -boy -boy -boy -boy -boy -boy -boy -boy -boy -boy -bvF -bxq -bzi -bzi -bzi -bzi -bzi -bzi -bzi -bzi -bzi -bQg -bSo -bUt -bWi -bXT -bZK -cbB -cdo -ceS -cgq -ehO -cjl -ckP -cjl +alV +amV +anW +aoV +apY +aqU +arw +asL +aue +avt +aws +axN +ayY +aAc +aBo +aCy +aDz +aEF +aFR +aHo +aIK +aKk +aLA +aMU +aOt +aQb +aRL +aTq +aVg +aLA +aYt +baq +baq +baq +baq +baq +baq +baq +baq +baq +baq +baq +baq +baq +baq +baq +baq +bzF +bBq +bDl +bDl +bDl +bDl +bDl +bDl +bDl +bDl +bDl +bUu +bWE +bYO +caG +ccs +cei +cfZ chQ -cpg -bWi -crM -ctt -cva -cwx -cyc -czI -bWi -cCL -ceO -cFm -cGG -ecI -cJI -cLo -cMY -cOJ -cQF -cRV -cTI -cVn -cXd -cYG -cZS -dbk +cjt +ckS +cms +cnO +cpu +cnO +cmt +ctJ +caG +cws +cxZ +czH +cBf +cCK +cEt +caG +cHB +cjp +cKj cLI -deu -dgf -dhr -djk -dkZ -dmu -dnJ -dnJ -dqF -dso -dtM -duR -dwp -dxy -dyz -dzO -dBl -dCx -dDU -dms -dFU -dHw -dIi -dIK -dIK -dIK -dIK -dIK -dNC -dIK -dPh -dMA -dQO -dRK -dSB -dIK -dIi -dUq -dUX -dSC -dWq -dWS -dSC -dYk -dYT -dZC -aaf -agg -aaf -agg +cNh +cOO +cQw +cSf +cTR +cVP +cXi +cYX +daC +dcq +cTT +dfd +dgv +cQQ +djM +dlw +dmL +doE +dqu +drR +dtj +dtj +dwh +dxQ +dzu +dAx +dCb +dDo +dEr +dFJ +dHi +dIv +dJU +drP +dLU +dNx +dOl +dON +dON +dON +dON +dON +dTu +dON +dUW +dSv +dWH +dXz +dYt +dON +dOl +eap +eaX +dYu +ect +ecO +dYu +edQ +eet +eff +aad +ajr +aad +ajr aaa aaa aaa @@ -134299,184 +136405,184 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aax -egV -aax -aaf +aad +aad +aad +aad +aad +aad +aad +aad +aaO +aea +aaO +aad aaa aaa -aaf -aax -egV -aax -aaf -aaf -aaf -aaf -aaf -aax -aax -aax -aax +aad +aaO +aea +aaO +aad +aad +aad +aad +aad +aaO +aaO +aaO +aaO aaa -aiY -aiY -aiY -aiY -aiX -aiX -aiX -aqc -aib -aib -eeL -aib -aib -awX -ayi -azo -aAm -azn -aCp -awX -aFm -aGJ -aHW -aJo -efa -efg -aNZ -aPH -aJm -aHW -ecu -aWB -aYd -efp -baY -aWB -bdG -bfz -bhn -bjq -bkG -bmD -boz -bjq -efA -bsN -aWB -aqu -bxr -bzj -bAR -bCA -bEn -bGi -bIa -bKd -bMd -bzr -bQh -bSm +alV +alV +alV +alV +alU +alU +alU +asM +alf +alf +aub +alf +alf +aAb +aBp +aCw +aDA +aCv +aFJ +aAb +aIL +aKl +aLz +aMV +aOu +aQc +aRJ +aTr +aVc +aLz +aYu +bar +bbR +bdq +beM +bar +bhy +bjp +bld +bng +boy +bqy +bsw +bng +bvz +bwM +bar +ate +bBr +bDm +bEW +bGG +bIx +bKs +bMk +bOp +bQq +bDu bUv -bWi -bWi -bWi -bWi -cdp -ceS -cgp -chQ -chQ -ckP -erw -chQ -cph -cqD -crN -ctu -cvb -cwy -cyd -czJ -bWi -cCN -bWg -cFp -cGG -cIb -cJJ -cLp -cMZ -cOK -cQG -cRW -cTJ -cVo -cXe -cOK -cZT -dbk -cLH -dev -dgg -dhs -djl -dla -dmv -dnK -dpg -dqG -dsp -dtN -duS -dwq -dxz -dyA -dxz -esm -dCy -dDV -dEE -dFV -dHx -dIi -dIO -dJE -dFW -dLx -dIK -dIK -dIK -dIK -dIK -dIK -dIK -dIK -dIK -dTM -dUo -dVc -dVJ -dWr -dWT -dXs -dYl -dYU -dUW -aaf -agg +bWH +bYR +caG +caG +caG +caG +chR +cjt +ckR +cmt +cmt +cpu +cqO +cmt +ctK +cvk +cwt +cya +czI +cBg +cCL +cEu +caG +cHD +caE +cKm +cLI +cNi +cOP +cQx +cSg +cTS +cVQ +cXj +cYY +daD +dcr +cTS +dfe +dgv +cQP +djN +dlx +dmM +doF +dqv +drS +dtk +duG +dwi +dxR +dzv +dAy +dCc +dDp +dEs +dDp +dHj +dIw +dJV +dKE +dLV +dNy +dOl +dOR +dPF +dLW +dRx +dON +dON +dON +dON +dON +dON +dON +dON +dON +dZJ +ean +ebc +ebQ +ecu +ecP +edk +edR +eeu +eaW +aad +ajr aaa -aaf +aad aaa aaa aaa @@ -134555,185 +136661,185 @@ aaa aaa aaa aaa -aaf -aaf +aad +aad aaa aaa -aaf +aad aaa aaa -aaf +aad aaa -aax -ack -aax -aax -aax -aax -aax -aax -ack -aax +aaO +aeb +aaO +aaO +aaO +aaO +aaO +aaO +aeb +aaO aaa -aaf +aad aaa aaa aaa -aax -agh -agJ -aax -aaf -aaf -aaf -aaf -aaf -aaf -aok -aoP -aqd -aib -asA -atz -auU -awd -awX -awX -awX -awX -awX -awX -awX -aFm -aoT -aHW -aHW -aHW -aHW -aNW -aPI -aHW -aHW -aUH -aWC -aYe -aZD -baZ -bct -bdH -bfA -bho -bho -bho -bho -bho -bho -brD -bsO -aWB -bvG -bxr -efE -bAS -bCB -bCB -bCB -bCB -bKe -bMe -bAZ -bQd -erm -bUr -bWi -bXU -bZL -bWi -cdq -ceS -cgp -ehO -cjm -ckP -cmk -chQ -cmk -bWi -crO -ctv -cvc -cwz -cyc -czK -bWi -cCL -ceO -cFn -cGG -ecI -cJK -cLq -cNa -cYG -cQH -cRX -cTK -cRX -cXf -cYH -cZU -dbl -dcK -dew -ecV -dht -djm -dlb -dmu -dnL -dnL -dqH -dsq -dtO -duT -dwr -dxA -dyB -dzP -dBm -dCz -dDW -dms -dFW -dHy -dIj -dIP -dJF -dKA -dLy -dMC -dIP -dOp -dPi -dPW -dQP -dRL -dQP -dTl -dTP -dUu -dFY -dFY -dFY -dFY -dFY -dFY -dFY -dFY -aaf -agg -aaf -aaf +aaO +ajs +ajR +aaO +aad +aad +aad +aad +aad +aad +aqV +arx +asN +alf +avu +awt +axO +ayZ +aAb +aAb +aAb +aAb +aAb +aAb +aAb +aIL +arB +aLz +aLz +aLz +aLz +aRG +aTs +aLz +aLz +aYv +bas +bbS +bdr +beN +bgk +bhz +bjq +ble +ble +ble +ble +ble +ble +bvA +bwN +bar +bzG +bBr +bDn +bEX +bGH +bGH +bGH +bGH +bOq +bQr +bFe +bUq +bWI +bYM +caG +cct +cej +caG +chS +cjt +ckR +cms +cnP +cpu +cqP +cmt +cqP +caG +cwu +cyb +czJ +cBh +cCK +cEv +caG +cHB +cjp +cKk +cLI +cNh +cOQ +cQy +cSh +cTT +cVR +cXk +cYZ +cXk +dcs +ddT +dff +dgw +dhW +djO +dly +dmN +doG +dqw +drR +dtl +dtl +dwj +dxS +dzw +dAz +dCd +dDq +dEt +dFK +dHk +dIx +dJW +drP +dLW +dNz +dOm +dOS +dPG +dQz +dRy +dSx +dOS +dUg +dUX +dVL +dWI +dXA +dWI +dZf +dZM +eat +dLY +dLY +dLY +dLY +dLY +dLY +dLY +dLY +aad +ajr +aad +aad aaa aaa aaa @@ -134811,186 +136917,186 @@ aaa aaa aaa aaa -aax -aax -aaD -aax -aax -aaD -aax -aax -aaD -abP -aax -egU -aax -acC -acT -ack +aaO +aaO +abf +aaO +aaO +abf +aaO +aaO +abf adq -aax -egW -aax -abR -aaD -aax -aax -aaD -aaD -agi -agK -aaD -aib -aib -aib -aib -aib -aib -aib -aoQ -aqc -eeL -asB -atA -auV -aib -aib -ayj -azp -aAn -aBo -aCy -aDT -aFn -aBo -aHX -aCy -aBo -aMu -aOc -aPJ -aBo -aMu -aUI -aWD -aYf -aZE -bba -bcu -bdI -bfB -bhp +aaO +aec +aaO +aeR +aft +aeb +agj +aaO +aej +aaO +ads +abf +aaO +aaO +abf +abf +ajt +ajS +abf +alf +alf +alf +alf +alf +alf +alf +ary +asM +aub +avv +awu +axP +alf +alf +aBq +aCz +aDB +aEG +aFS +aHp +aIM +aEG +aLB +aFS +aEG +aQd +aRM +aTt +aEG +aQd +aYw +bat +bbT +bds +beO +bgl +bhA bjr -bjt -eqT -boA -bjt -bbf -bsO -aWB -aqu -bxr -bzl -bAT -bCC -bEo -bCC -erd -bKf -bCF -bAZ -bQd -bSn -bUr -bWi -bXV -bZM -cbC -cdr -ceT -cgp -ehO -cjn -ckP -cmk -cby -cmk -bWi -bWi -bWi -bWi -bWi -cji -czL -bWi -cCK -bZD -cFn -cGG -ecI -ecI -ecI -cHW -cOM -cQI -cRY -cTL -cVp -cXg -cYI -cHS -dbm -dcL -cPe -dgh -dhu -djj -dkY -dmw -dnM -dph -dqI -dsr -dtP -duU -dws -dxB -egr -dzQ -duU -dCA -egv -dms -dFX -dHz -dIk -dIk -dJG -dKB -dLz -dMD -dND -dOq -dPj -dPX -esr -dFW -dSC -dTm -dSC -dSC -dTm -dVK -dFW -dWU -dXt -aaf +blf +bnh +bnj +bqz +bsx +bnj +bvB +bwN +bar +ate +bBr +bDo +bEY +bGI +bIy +bGI +bGK +bOr +bGM +bFe +bUq +bWD +bYM +caG +ccu +cek +cga +chT +cju +ckR +cms +cnQ +cpu +cqP +cfW +cqP +caG +caG +caG +caG +caG +cnL +cEw +caG +cHA +ceb +cKk +cLI +cNh +cNh +cNh +cNc +cTU +cVS +cXl +cZa +daE +dct +ddU +cMY +dgx +dhX +cUm +dlz +dmO +doD +dqt +drT +dtm +duH +dwk +dxT +dzx +dAA +dCe +dDr +dEu +dFL +dAA +dIy +dJX +drP +dLX +dNA +dOn +dOn +dPH +dQA +dRz +dSy +dTv +dUh +dUY +dVM +dWJ +dLW +dYu +dZg +dYu +dYu +dZg +ebR +dLW +ecQ +edl +aad aaa aaa -aaf +aad aaa aaa -aaf +aad aaa aaa aaa @@ -135068,186 +137174,186 @@ aaa aaa aaa aaa -aax -aaC -aaI -aaP -aaP -aba -aaP -aaP -abB -aaP -aaP -aaP -aaP -aaP -aaP -aaP -aaP -adH -adZ -adZ -adZ -aeJ -adZ -adZ -afx -afO -agj -agL -aaD -aic -aiZ -akb -aic -amc -aic -aib -aoR -aqe -arr -aoT -atB -auW -aib -awY -ayk -azq -aAo -aAo -aAo -aAo -aAo -aAo -aAo -aJp -aJp -aJp -aOd -aPK -aJp -aJp -aUJ -aWE -aYg -aZF -bbb -bcv -bdJ -bfC -bhq +aaO +abe +abp +abC +abC +abZ +abC +abC +acV +abC +abC +abC +abC +abC +abC +abC +abC +agB +agT +agT +agT +ahO +agT +agT +aiQ +ajd +aju +ajT +abf +alg +alW +amW +alg +aoW +alg +alf +arz +asO +auf +arB +awv +axQ +alf +aAd +aBr +aCA +aDC +aDC +aDC +aDC +aDC +aDC +aDC +aMW +aMW +aMW +aRN +aTu +aMW +aMW +asL +bau +bbU +bdt +beP +bgm +bhB bjs -bkH -bmE -boB -bqn -bbf -bsP -aWB -aqu -bxs -bzm -bAU -bCD -bEp -bEq -bIb -bKg -bMf -bOg -bQi -bSn -bUr -bWi -bXW -bZN -bWi -cds -ceS -cgp -chQ -cjo -ebK -cml -cnF -cpi -bWi -crP -ctw -cvd -bWi -cJA -czM -cBo -cCO -cDC -cFq -cGI -cjf -cHS -cHS -cHS -cON -cQJ -cRZ -cTM -cRZ -cXh -cYJ -cHS -dbn -cLI -cPe -cJL -cJL -djn -dlc -dms -dms -dms -dms -dms -dms -dms -dms -dms -dms -dms -dmt -dCB -dDY -dms -dFY -dFY -dFY -dFY -dJH -dKC -dLA -dME -dNE -dNE -dNE -dNE -dNE -dNE -dNE -dNE -dFX -dFW -dFW -dFW -dQQ -dHs -dXt -aaf -aaf -aaf -aaf -aaf -aaf -aaf +blg +bni +boz +bqA +bsy +buk +bvB +bwO +bar +ate +bBs +bDp +bEZ +bGJ +bIz +bIA +bMl +bOs +bQs +bSt +bUw +bWD +bYM +caG +ccv +cel +caG +chU +cjt +ckR +cmt +cnR +cpv +cqQ +csi +ctL +caG +cwv +cyc +czK +caG +cCM +cEx +cGd +cHE +cIv +cKn +cLK +cnI +cMY +cMY +cMY +cTV +cVT +cXm +cZb +cXm +dcu +ddV +cMY +dgy +cQQ +cUm +cOR +cOR +doH +dqx +drP +drP +drP +drP +drP +drP +drP +drP +drP +drP +drP +drQ +dIz +dJY +drP +dLY +dLY +dLY +dLY +dPI +dQB +dRA +dSz +dTw +dTw +dTw +dTw +dTw +dTw +dTw +dTw +dLX +dLW +dLW +dLW +ecv +dNt +edl +aad +aad +aad +aad +aad +aad +aad aaa aaa aaa @@ -135325,186 +137431,186 @@ aaa aaa aaa aaa -aax -aaC -aaJ -aaQ -aaQ -aba -aaQ -aaQ -abC -abQ -abQ -abQ -abQ -abQ -abQ -abQ -abQ -adI -abQ -abQ -abQ -aeK -abQ -afl -afy -afP -agk -agM -aht -aid -aja -akc -alc -amd -anm -eph -aip -aqf -aib -asC -atC -eeO -aib -awZ -ayl -azr -aAp -aBp -aCz -aAu -aFo -aGK -aHY -aJq -aKL -aMv -aOe -aPL -aRv -aJq -aUK -aWF -aYh -aZG -bbc -aWB -bdK -bfD -bhr +aaO +abe +abq +abD +abD +abZ +abD +abD +acW +adr +adr +adr +adr +adr +adr +adr +adr +agC +adr +adr +adr +ahP +adr +aiz +aiR +aje +ajv +ajU +akx +alh +alX +amX +anX +aoX +apZ +aqW +alt +asP +alf +avw +aww +axR +alf +aAe +aBs +aCB +aDD +aEH +aFT +aDI +aIN +aKm +aLC +aMX +aOv +aQe +aRO +aTv +aVh +aMX +aYx +bav +bbV +bdu +beQ +bar +bhC bjt -bkI -bmF -bjt -bqo -bbf -bsQ -aWB -bvH -bxt -bzn -bAV -bCC -bEq -bGj -bCC -bGk -bGl -bOh -bQd -bSn -bUw -bWi -bWi -bWi -bWi -cdt -ceS -cgr -chR -cjp -ckQ -cmm -cnG -cpj -cqE -crQ -ctx -cve -bWi -cyg -bXM -bXM -cCP -bXM -cFr -cGJ -cIc -cJL -cLr -cHS -cHS -cHS -cHS -cHS -cHS -cHS -cHS -cHS -dbo -cLH -cPe -dgi -dhv -djo -dld -dmx -dnN -dpi -dqJ -dss -dtQ -duV -dwt -dxC -dyD -dzR -dBn -dCC -dDZ -dEF -dFZ -dFZ -dIl -dIQ -dJI -dKD -dLB -dME -dNF -dOr -dNF -dPY -dNF -dRM -egP -dNE -dTQ -dTQ -dTQ -dTQ -dTQ -dNE -dNE -dNE -dNE -dZD -dNE -dNE -aaf -agg +blh +bnj +boA +bqB +bnj +bul +bvB +bwP +bar +bzH +bBt +bDq +bFa +bGI +bIA +bKt +bGI +bKu +bKv +bSu +bUq +bWD +bYS +caG +caG +caG +caG +chV +cjt +ckT +cmu +cnS +cpw +cqR +csj +ctM +cvl +cww +cyd +czL +caG +cCN +ccl +ccl +cHF +ccl +cKo +cLL +cNj +cOR +cQz +cMY +cMY +cMY +cMY +cMY +cMY +cMY +cMY +cMY +dgz +cQP +cUm +dlA +dmP +doI +dqy +drU +dtn +duI +dwl +dxU +dzy +dAB +dCf +dDs +dEv +dFM +dHl +dIA +dJZ +dKF +dLZ +dLZ +dOo +dOT +dPJ +dQC +dRB +dSz +dTx +dUi +dTx +dVN +dTx +dXB +dYv +dTw +dZN +dZN +dZN +dZN +dZN +dTw +dTw +dTw +dTw +efg +dTw +dTw +aad +ajr aaa aaa aaa @@ -135582,186 +137688,186 @@ aaa aaa aaa aaa -aax -aax -aaD -aax -aax -aaD -aax -aax -aaD -aax -aax -aax -aax -acD -acU -acW -adr -aax -aax -aax -aax -aaD -aax -aax -aaD -aaD -agl -agN -aaD -aie -ajb -akd -ald -ame -ann -aib -aoS -aqg -aib -asD -atD -auY -aib -aoT -aym -azr -aAq -aBq -aCA -aAu -aFp -aGL -aHZ -aJq -efb -aMw -aOf -aPM -efj -aJq -aqg -aWF -aYi -aZH -bbd -aWB -bdL -bfD -bhs -bju -bkJ +aaO +aaO +abf +aaO +aaO +abf +aaO +aaO +abf +aaO +aaO +aaO +aaO +aeS +afu +afx +agk +aaO +aaO +aaO +aaO +abf +aaO +aaO +abf +abf +ajw +ajV +abf +ali +alY +amY +anY +aoY +aqa +alf +arA +asQ +alf +avx +awx +axS +alf +arB +aBt +aCB +aDE +aEI +aFU +aDI +aIO +aKn +aLD +aMX +aOw +aQf +aRP +aTw +aVi +aMX +asQ +bav +bbW +bdv +beR +bar +bhD bjt -bjt -bjr -bbf -bsO -aWB -aUK -bxr -bzo -bAW -erd -bEr -bCC -bCC -bKf -bCF -bAZ -bQj -bSq -bUr -bWi -bXU -bZL -bWi -cdu -ceS -cgp -chQ -cjq +bli +bnk +boB +bnj +bnj +bnh +bvB +bwN +bar +aYx +bBr +bDr +bFb +bGK +bIB +bGI +bGI +bOr +bGM +bFe +bUx +bWJ +bYM +caG +cct +cej +caG +chW +cjt ckR -cmn -cnH -bXR -cqF -crR -cty -cvf -bWi -cyh -czN -cBp -cCQ -erJ -cFs -cGK -cId -cJM -ejs -cLs -cOO -cOO -cLs -cTN -cLs -cLs -cLs -cZV -dbp -dcM -dey -dgj -dhw -djp -dle -dmy -dnO -dnO -dqK -dnO -dnO -duW -dwu -dxD -dyE -dzS -dBo -dCD -dEa -dEF -dFZ -dFZ -dIl -dIQ -dJJ -dKE -dLC -dMF -dNG -dOs -dPk -dPZ -dQR -dRN -dSE -dTn -dTR -dUv -dVd -dVL -dWs -dNE -dXu -dNE -dYV -dZE -eah -dNE -aaf -agg +cmt +cnT +cpx +cqS +csk +ccq +cvm +cwx +cye +czM +caG +cCO +cEy +cGe +cHG +cIu +cKp +cLM +cNk +cOS +cQA +cSi +cTW +cTW +cSi +cZc +cSi +cSi +cSi +dfg +dgA +dhY +djP +dlB +dmQ +doJ +dqz +drV +dto +dto +dwm +dto +dto +dAC +dCg +dDt +dEw +dFN +dHm +dIB +dKa +dKF +dLZ +dLZ +dOo +dOT +dPK +dQD +dRC +dSA +dTy +dUj +dUZ +dVO +dWK +dXC +dYw +dZh +dZO +eau +ebd +ebS +ecw +dTw +edm +dTw +eev +efh +efW +dTw +aad +ajr aaa aaa aaa @@ -135840,185 +137946,185 @@ aaa aaa aaa aaa -aaf -aaf +aad +aad aaa aaa -aaf +aad aaa aaa -aaf +aad aaa aaa -aaf -aax -aax -aax -aax -aax -aax -aaf +aad +aaO +aaO +aaO +aaO +aaO +aaO +aad aaa aaa -aaf +aad aaa aaa aaa -aaD -agm -agO -ahu -ahu -ahu -ahu -ahu -ahu -ahu -ahu -aoT -aqb -aib -aib -atE -aib -aoQ -eqA -ayn -azr -aAr -aBr +abf +ajx +ajW +aky +aky +aky +aky +aky +aky +aky +aky +arB +asK +alf +alf +awy +alf +ary +aAf +aBu aCB -aAu -aFq -aGM -aIa -aJq -aKN -aMx -aOg -aPN -aRx -aJq -aqb -aWF -aYj -aZI -bbe -aWB -bdM -bfE -bht -bjv -bjv -bjv -bjv -bjv -brE -bsO -aWB -aqc -bxr -bzp -bAX -bCE -bEs -bGk -bCE -bKh -bMg -bAZ -bQd -bSn -bUr -bWi -bXV -bZM -cbC -cdr -ceT -cgp -chS -cjr -ckS -cmo -ckS -cpk -cqD -crS -ctz -cvg -bWi -bZC -czO -bZD -cCR -cDD -cFt -cGL -cwn -cJN -cLt -cNb -cOP -cQK -cLI -erX -cLI -cLH -cLI -cIm -dbq -dcN -dez -dgk -dhx -djq -dlf -dmz -dnP -dpj -dqL -dst -dtR -duX -dwv -dxE -dyF -dzT -dBp -dCE -dEb -dEb -dEb -dHA -dIm -dIQ -dJK -dKF -dLD -dMG -dNH -dOt -dPl -dQa -dQS -dRO -dSF -dTo -dTS -dUw -dVe -dVM -dWt -dWV -dXv -dWV -dYW -dZF -eai -dZD -aaf -agg +aDF +aEJ +aFV +aDI +aIP +aKo +aLE +aMX +aOx +aQg +aRQ +aTx +aVj +aMX +asK +bav +bbX +bdw +beS +bar +bhE +bju +blj +bnl +bnl +bnl +bnl +bnl +bvC +bwN +bar +asM +bBr +bDs +bFc +bGL +bIC +bKu +bGL +bOt +bQt +bFe +bUq +bWD +bYM +caG +ccu +cek +cga +chT +cju +ckR +cmv +cnU +cpy +cqT +cpy +ctN +cvk +cwy +cyf +czN +caG +cea +cEz +ceb +cHH +cIw +cKq +cLN +cAV +cOT +cQB +cSj +cTX +cVU +cQQ +cZd +cQQ +cQP +cQQ +cNt +dgB +dhZ +djQ +dlC +dmR +doK +dqA +drW +dtp +duJ +dwn +dxV +dzz +dAD +dCh +dDu +dEx +dFO +dHn +dIC +dKb +dKb +dKb +dNB +dOp +dOT +dPL +dQE +dRD +dSB +dTz +dUk +dVa +dVP +dWL +dXD +dYx +dZi +dZP +eav +ebe +ebT +ecx +ecR +edn +ecR +eew +efi +efX +efg +aad +ajr aaa aaa aaa @@ -136098,186 +138204,186 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf +aad +aad +aad +aad +aad +aad +aad +aad +aad +aad +aad aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aax -agl -agP -ahu -aif -eeB -ake -ale -amf -aif -ahu -aic -aqg -ars -ars -atF -aoT -ast -aic -ayo -azr -aAs -aBs -aCC -aAu -aFr -aGN -aIb -aJq -efc -aMw -aOh -aPM -aRy -aJq -aqc -aWF -aYk -aZG -eqM -aWB -bdN -bfF -bhu -bjw -bkK -bmG -bmG -bqp -brF -efB -aWB -aqg -bxr -bzq -bAY -bCF -bEt -bGl -bCF -bKi -bMh -bMi -bQe -bSn +aad +aad +aad +aad +aad +aad +aad +aad +aaO +ajw +ajX +aky +alj +alZ +amZ +anZ +aoZ +alj +aky +alg +asQ +aug +aug +awz +arB +avm +alg +aBv +aCB +aDG +aEK +aFW +aDI +aIQ +aKp +aLF +aMX +aOy +aQf +aRR +aTw +aVk +aMX +asM +bav +bbY +bdu +beT +bar +bhF +bjv +blk +bnm +boC +bqC +bqC +bum +bvD +bwQ +bar +asQ +bBr +bDt +bFd +bGM +bID +bKv +bGM +bOu +bQu +bQv bUr -bWi -bXW -bZN -bWi -cdv -ceS -cgp -cdn -cjs -ckT -cmp -cnI -cpl -bWi -crT -ctA -cvh -bWi -cyi -czP -ceO -czP -cDE -cFu -cGM -cIe -cJO -cLu -cNc -cOQ -cQL -cSa -cNc -cNc -cNc -cYK -cZX -dbr -dcO -deA -dgl -dgm -djr -dlg -dgm -dgp -dgm -dgp -dgm -dgm -dgm -dgm -dgm -dyG -dzU -dBq -dCF -dEc -dEG -dGa -dHB -dHB -dIQ -dJL +bWD +bYM +caG +ccv +cel +caG +chX +cjt +ckR +chP +cnV +cpz +cqU +csl +ctO +caG +cwz +cyg +czO +caG +cCP +cEA +cjp +cEA +cIx +cKr +cLO +cNl +cOU +cQC +cSk +cTY +cVV +cXn +cSk +cSk +cSk +ddW +dfh +dgC +dia +djR +dlD +dlE +doL +dqB +dlE +dlH +dlE +dlH +dlE +dlE +dlE +dlE +dlE +dEy +dFP +dHo +dID +dKc dKG -dLE -dMH -dNI -dNI -dPm -dPm -dNI -dNI -dNI -dNI -dNI -dNI -dNI -dNI -dNI -dNI -dNI -dNE -dYX -dZG -eaj -dZD +dMa +dNC +dNC +dOT +dPM +dQF +dRE +dSC +dTA +dTA +dVb +dVb +dTA +dTA +dTA +dTA +dTA +dTA +dTA +dTA +dTA +dTA +dTA +dTw +eex +efj +efY +efg aaa -aaf +aad aaa -agg +ajr aaa aaa aaa @@ -136355,9 +138461,9 @@ aaa aaa aaa aaa -aaH +abj aaa -aaf +aad aaa aaa aaa @@ -136376,165 +138482,165 @@ aaa aaa aaa aaa -aaf -aax -aaD -agn -agN -ahu -aig -ajd -akf -akk -ajd -ano -ahu -aoU -aqh -ajl -asE -atG -auZ -ajl -axb -ayp -azs -aAt -aBs -aCD -aAu -aFs -aGN -aIc -aJq -aKP -aMy -aOi -aPO -efk -aJq -aUL -aWF -aYl -aZJ -bbg -aWB -bdO -bfG -bhv -aWB -bkL -bmH -boC -bct -brG -aWB -aWB -bvI -bxr -bzr -bAZ -bAZ -bEu -bGm -bAZ -bAZ -bMi -bOi -bQk -bSr -bUx -bWm -bWi -bWi -bWi -bWj -ceU -cgs -bWj -bWi -bWi -bWi -bWi -bWi -bWi -bWi -bWi -bWi -bWi -bWg -bWg -bWg -bWg -cDF -cFv -cGN -bWg -cJP -cLv -cNd -cOR -cQM -cLv -cLv -cVq -cQQ -cLv -cZY -dbs -dcP -deB -dgm -dhy -djs -dlh -dmA -dnQ -dpk -dqM -dsu -dtS -duY -dww -dgm -dyH -dzV -dBr -dCG -dEd -dEH -dGa -dGa -dGa -dIQ -dFX +aad +aaO +abf +ajy +ajV +aky +alk +ama +ana +anf +ama +aqb +aky +arC +asR +ami +avy +awA +axT +ami +aAg +aBw +aCC +aDH +aEK +aFX +aDI +aIR +aKp +aLG +aMX +aOz +aQh +aRS +aTy +aVl +aMX +aYy +bav +bbZ +bdx +beU +bar +bhG +bjw +bll +bar +boD +bqD +bsz +bgk +bvE +bar +bar +bzI +bBr +bDu +bFe +bFe +bIE +bKw +bFe +bFe +bQv +bSv +bUy +bWK +bYT +caK +caG +caG +caG +caH +cjv +ckU +caH +caG +caG +caG +caG +caG +caG +caG +caG +caG +caG +caE +caE +caE +caE +cIy +cKs +cLP +caE +cOV +cQD +cSl +cTZ +cVW +cQD +cQD +daF +cWa +cQD +dfi +dgD +dib +djS +dlE +dmS +doM +dqC +drX +dtq +duK +dwo +dxW +dzA +dAE +dCi +dlE +dEz +dFQ +dHp +dIE +dKd dKH -dLB -dIh -dNI -dOu -dPn -dPn -dQT -dRP -dSG -dTp -dTT -dUx -dQV -dVN -dWu -dWW -dXw -dNE -dYY -dZH -eak -dZD -aaf -agg +dMa +dMa +dMa +dOT +dLX +dQG +dRB +dOk +dTA +dUl +dVc +dVc +dWM +dXE +dYy +dZj +dZQ +eaw +ebf +ebU +ecy +ecS +edo +dTw +eey +efk +efZ +efg +aad +ajr aaa -agg +ajr aaa aaa aaa @@ -136612,9 +138718,9 @@ aaa aaa aaa aaa -aaH +abj aaa -aaf +aad aaa aaa aaa @@ -136624,174 +138730,174 @@ aaa aaa aaa aaa -edo -edC -edo -edo -eev -edo -edo -eex -edo -aaf -abP -adr -agl -equ -ahv -aih -aje -akg -alf -amg -eeG -ahu -aoV -aqi -art -art -art -art -art -art -ayo -azr -aAu -aBt -aCE -aAu -aAu -aGO -aCE -aJq -aJq -aMz -aOj -aPP -aJq -aJq -aUM -aCE -aAu -aZK -bbh -aAu -bdP -bfH -bhw +aeT +afQ +aeT +aeT +agU +aeT +aeT +ahQ +aeT +aad +adq +agk +ajw +ajY +akz +all +amb +anb +aoa +apa +aqc +aky +arD +asS +auh +auh +auh +auh +auh +auh +aBv +aCB +aDI +aEL +aFY +aDI +aDI +aKq +aFY +aMX +aMX +aQi +aRT +aTz +aMX +aMX +aYz +aFY +aDI +bdy +beV +aDI +bhH bjx -bkM -bmI -bmI -bqq -brH -brH -bud -bvJ -bxu -bmI -bBa -bBa -bEv -bBa -bBa -bBa -bMj -bqq -bvJ -bSs -bUy -brN -bXX -brN -cbD -brN -ceV -bUy -brN -brN -brN -bqq -brN -bsZ -brN -brN -ctB -brN -brN -brN -brN -brN -brN -ceV -cFw -cGO -brK -cJP -cLw -cNe -cOS -cQN -cSb -cTO -cVr -cXi -cTO -cZZ -cNp -esb -dez -dgn -dhz -djt -dli -dmB -dnR -dpl -dqN -dsv -dtT -duZ -dwx -dgm -dyI -dyI -dyI -dyI -dyI -cJL -cJL -cJL -cJL -cJL -dac -dac -dLA -dMI -dNI -dOv -dPn -dQb -dQU -dRQ -dSH -dRQ -dTU -dUy -dVf -dVO -dWv -dNI -dOD -dNE -dYZ -dZI -eal -dNE -aaf -agg -aaf -agg +blm +bnn +boE +bqE +bqE +bun +bvF +bvF +byd +bzJ +bBu +bqE +bFf +bFf +bIF +bFf +bFf +bFf +bQw +bun +bzJ +bWL +bYU +bvL +ccw +bvL +cgb +bvL +cjw +bYU +bvL +bvL +bvL +bun +bvL +bwY +bvL +bvL +cyh +bvL +bvL +bvL +bvL +bvL +bvL +cjw +cKt +cLQ +bvI +cOV +cQE +cSm +cUa +cVX +cXo +cZe +daG +dcv +cZe +dfj +cSx +dic +djQ +dlF +dmT +doN +dqD +drY +dtr +duL +dwp +dxX +dzB +dAF +dCj +dlE +dEA +dEA +dEA +dEA +dEA +cOR +cOR +cOR +cOR +cOR +dfm +dfm +dRA +dSD +dTA +dUm +dVc +dVQ +dWN +dXF +dYz +dXF +dZR +eax +ebg +ebV +ecz +dTA +dUu +dTw +eez +efl +ega +dTw +aad +ajr +aad +ajr aaa aaa aaa @@ -136869,186 +138975,186 @@ aaa aaa aaa aaa -aaH +abj aaa -aaf +aad aaa aaa aaa aaa aaa aaa -eeq -ees -edo -edo -edD -edD -edp -edp -ehm -edD -edD -edC -aax -aax -aax -agl -agN -ahu -aii -ajf -ajj -ajj -ajd -anq -ahu -aoW -aqj -art -asF -atH -ava -eeS -axc -ayq -azt -aAv -aBu -aCF -aDU -aFt -aGP -aId -aJr -aKQ -aMA -aOk -aPQ -aKQ -aTh -aUN -aWG -aYm -aZL -bbi -bcw -bdQ -bfI -bhx +adI +aet +aeT +aeT +afR +afR +aeu +aeu +ahl +afR +afR +afQ +aaO +aaO +aaO +ajw +ajV +aky +alm +amc +amg +amg +ama +aqd +aky +arE +asT +auh +avz +awB +axU +aza +aAh +aBx +aCD +aDJ +aEM +aFZ +aHq +aIS +aKr +aLH +aMY +aOA +aQj +aRU +aTA +aOA +aWT +aYA +baw +bca +bdz +beW +bgn +bhI bjy -bkN -bmJ -boD -bqr -brI -brI -eqY -bvK -brI -bzs -brO -bCG -brO -brO -brO -brO -brO -bqv -bQl -bSt -brO -brO -bXY -brO -brO -brO -bBy -brO -brO -brO -brO -bqv -cnJ -cpm -brO -brO -brO -eri -brO -brO -brO -brO -brO -cDG -cFx -boR -cIf -cJP -cLx -cNf -cOT -cQO -cSc -cTP -cVs -cXj -cYL -daa -dbt -cLD -dez -dgo -dhA -dju -dlj -dmC -dnS -dpm -dqO -dsw -dtU -dva -dwy -dgm -dyJ -dzW -dBs -dCH -dEe -cJL -dGb -dcK -dIn -dIR -dJM -dac -dLF -dMJ -dNI -dOw -dPn -dQc -ess -dRP -dSI -dRP -dTV -dUz -dVg -dVP -dPn -dNI -dXx -dNE -dNE -dZJ -dNE -dNE -aaf -aaf +bln +bno +boF +bqF +bsA +buo +bvG +bvG +bye +bzK +bvG +bDv +bvM +bGN +bvM +bvM +bvM +bvM +bvM +bus +bUz +bWM +bvM +bvM +ccx +bvM +bvM +bvM +bFE +bvM +bvM +bvM +bvM +bus +csm +ctP +bvM +bvM +bvM +bMP +bvM +bvM +bvM +bvM +bvM +cIz +cKu +bsO +cNm +cOV +cQF +cSn +cUb +cVY +cXp +cZf +daH +dcw +ddX +dfk +dgE +cQL +djQ +dlG +dmU +doO +dqE +drZ +dts +duM +dwq +dxY +dzC +dAG +dCk +dlE +dEB +dFR +dHq +dIF +dKe +cOR +dMb +dhW +dOq +dOU +dPN +dfm +dRF +dSE +dTA +dUn +dVc +dVR +dWO +dXE +dYA +dXE +dZS +eay +ebh +ebW +dVc +dTA +edp +dTw +dTw +efm +dTw +dTw +aad +aad aaa -agg +ajr aaa aaa aaa @@ -137126,186 +139232,187 @@ aaa aaa aaa aaa -aaH -aaf -aaf +abj +aad +aad aaa aaa aaa aaa aaa -eeq -edl -edp -ehi -edz -edp -edp -edp -edT -edp -edp -edp -een -epc -ack -epC -agl -agN -ahu -aij +adI +aed +aeu +aeU +afv +aeu +aeu +aeu +agV +aeu +aeu +aeu +aid +aiA +aeb ajf -ajd -ajd -amf -anr -ahu -aoW -aqk -art -asG -atI -avb -awf -axd -ayr -azu -aAw -aBv -aCG -aDV -aFu -aGQ -aIe -eqE -aJs -aMB -aOl -aPR -aRA -aTi -aUO -aWH -aYn -aZM -bbj -bcx -bdR -bfJ -bhy +ajw +ajV +aky +aln +amc +ama +ama +aoZ +aqe +aky +arE +asU +auh +avA +awC +axV +azb +aAi +aBy +aCE +aDK +aEN +aGa +aHr +aIT +aKs +aLI +aMZ +aOB +aQk +aRV +aTB +aVm +aWU +aYB +bax +bcb +bdA +beX +bgo +bhJ bjz -bkO -bmK -boE -bqs -brJ -brJ -brJ -bvL -bxv -bzt -bBb -bCH -bEw -bGn -bGn -bGn -bGn -bOj -bQm -bSu -bUz -bUz -bXZ -bZO -bUz -bUz -ceW -bEw -chU -bGn -bGn -bOj -cnK -cpn -bnd -crU -bnd -cvi -bnd -bnd -bnd -bnd -bnd -cDH -bmX -cGP -cIg -cJP -cLy -cNg -cOU -cQP -cSd -cTQ -cVt -cXk -cVu -dab -dbo -cLE -dez -dgp -dhB -djv -dlk -dmD -dnT -dpn -dqP -dsx -dtV -dvb -dwz -dxF -dyK -dzX -dBt -dCI -dEf -cJL -dac -dHC -dIo -dac -dac -dac -dLG -dMK -dNI -dOx -dPn -dQc -dQU -dRQ -dSH -dTq -dTU -dUA -dVg -dPn -dWw -dNI -dXy -dNE -dZa -dZK -egR -dNE -aaf -agg -aaf -agg +blo +bnp +boG +bqG +bsB +bup +bvH +bvH +bvH +bzL +bBv +bDw +bFg +bGO +bIG +bKx +bKx +bKx +bKx +bSw +bUA +bWN +bYV +bYV +ccy +cem +bYV +bYV +cjx +bIG +cmw +bKx +bKx +bSw +csn +ctQ +brb +cwA +brb +czP +brb +brb +brb +brb +brb +cIA +bqU +cLR +cNn +cOV +cQG +cSo +cUc +cVZ +cXq +cZg +daI +dcx +daJ +dfl +dgz +cQM +djQ +dlH +dmV +doP +dqF +dsa +dtt +duN +dwr +dxZ +dzD +dAH +dCl +dDv +dEC +dFS +dHr +dIG +dKf +cOR +dfm +dND +dOr +dfm +dfm +dfm +dRG +dSF +dTA +dUo +dVc +dVR +dWN +dXF +dYz +dZk +dZR +eaz +ebh +dVc +ecA +dTA +edq +dTw +eeA +efn +egb +dTw +aad +ajr +aad +ajr +aaa aaa aaa aaa @@ -137317,7 +139424,6 @@ aaa aaa aaa aaa -eaY aaa aaa aaa @@ -137383,186 +139489,186 @@ aaa aaa aaa aaa -aaH +abj aaa -aaf +aad aaa aaa aaa aaa aaa aaa -eeq -eet -edo -edo -edF -edF -ehk -edp -edp -edF -edF -edC -aax -aax -aax -agl -agQ -ahw -aik -ajg -akh -alg -akh -ans -ahu -aoV -aql -art -asH -atJ -avc -awg -art -ays -azv -aAx -aAx -aCH -aDW -eeV -aAx -aAx -aHb -efd -aHb -aOm -aPS -efd -aHb -aUP -aUP -aYo -aZN -aUP -aUP -bdS -bfK -bhz -aYx -bkP -bmL -boF -boZ -brK -brM -brM -bsV -bxw -bzu -bBc -bCI -bEx -bEx -bId -bKj -bMk -bEx -bQn -bSv -bUA -bqt -bqt -bZP -bqt -cdw -bqu -bQn -bQn -bQn -bQn -cmq -cnL -cpo -cqG -cqH -cqH -cqH -cwA -cqH -cqH -cqH -cCS -bkS -bmZ -boJ -cIh -cJP -cJP -cNd +adI +aev +aeT +aeT +afS +afS +agD +aeu +aeu +afS +afS +afQ +aaO +aaO +aaO +ajw +ajZ +akA +alo +amd +anc +aob +anc +aqf +aky +arD +asV +auh +avB +awD +axW +azc +auh +aBz +aCF +aDL +aDL +aGb +aHs +aDL +aKt +aDL +aKC +aOC +aKC +aRW +aTC +aOC +aKC +aYC +aYC +bcc +bdB +aYC +aYC +bhK +bjA +blp +bcl +boH +bqH +bsC +bsW +bvI +bvK +bvK +bwU +bBw +bDx +bFh +bGP +bIH +bIH +bMm +bOv +bQx +bIH +bUB +bWO +bYW +buq +buq +cen +buq +chY +bur +bUB +bUB +bUB +bUB +cqV +cso +ctR +cvn +cvo +cvo +cvo +cBi +cvo +cvo +cvo +cHI +boK +bqW +bsG +cNo cOV -cQQ -cJP -cJP -cVu -cXl -cLv -dac -dbu -dcQ -deA -dgq -dhC -djw -dll -dmE -dnU -dpo -dqQ -dsu -dtW -dvc -dwA -dgm -dyL -dzY -dBu -dCJ -dEg -cJL -dGc -dHD -dIp -dIS -dJN -cJM -dLH -dML +cOV +cSl +cUd +cWa +cOV +cOV +daJ +dcy +cQD +dfm +dgF +did +djR +dlI +dmW +doQ +dqG +dsb +dtu +duO +dws +dxW +dzE +dAI +dCm +dlE dED -dOy -dPo -dQd -dPo -dPo -dPo -dPo -dTW -dUB -dVh -dVQ -dWx -dNI -dXz -dYm -dZb -dZL -ean -dZD -aaf -agg +dFT +dHs +dIH +dKg +cOR +dMc +dNE +dOs +dOV +dPO +cOS +dRH +dSG +dKD +dUp +dVd +dVS +dVd +dVd +dVd +dVd +dZT +eaA +ebi +ebX +ecB +dTA +edr +edS +eeB +efo +egc +efg +aad +ajr aaa -agg +ajr aaa aaa aaa @@ -137640,9 +139746,9 @@ aaa aaa aaa aaa -aaH +abj aaa -aaf +aad aaa aaa aaa @@ -137652,174 +139758,174 @@ aaa aaa aaa aaa -edo -edC -edo -edo -eev -edo -edo -eex -edo -aaf -abR -adq -ago -agM -ahx -ail -ajh -aki -alh -amh -ant -ahu -aoX -aqm -art -asI -atK -avd -awh -axe -ayt +aeT +afQ +aeT +aeT +agU +aeT +aeT +ahQ +aeT +aad +ads +agj +ajz +ajU +akB +alp +ame +and +aoc +apb aqg -aAx -aBw -aCI -aDX -aFv -aGR -aAx -aJt -aKS -aMC -aOn -aPT -aRB -aTj -aUQ -aWI -aYp -aZO -bbk -bcy -bdT -bfL -eft -aUP -bkP -bmL -boG -boZ -brL -brL -brL -bsV -bxx -bzv -bBd -bCJ -bEx -bGo -bIe -bKk -bMl -bOk -bQn -bSw +aky +arF +asW +auh +avC +awE +axX +azd +aAj +aBA +asQ +aDL +aEO +aGc +aHt +aIU +aKu +aDL +aNa +aOD +aQl +aRX +aTD +aVn +aWV +aYD +bay +bcd +bdC +beY +bgp +bhL +bjB +blq +aYC +boH +bqH +bsD +bsW +bvJ +bvJ +bvJ +bwU +bBx +bDy +bFi +bGQ +bIH +bKy +bMn +bOw +bQy +bSx bUB -bWn -bWn -bZQ -bWn -bWn -efO -bQn -chV -cjt -ckU -bQn -cnM -cpp -cqH -crV -ctC -cvj +bWP +bYX +caL +caL +ceo +caL +caL +cjy +bUB +cmx +cnW +cpA +bUB +csp +ctS +cvo cwB -cyj +cyi czQ -cBq -cqH -cDI -bmX -boR -cIi -efY -cLz -cNh +cBj +cCQ +cEB +cGf +cvo +cIB +bqU +bsO +cNp cOW -cQR -cSe -cJL -cVv -cXm -cYM -dac -dbm -ejt -dez -dgr -dhD -djx -dlm -dgm -dgm -dpp -dgm -dgl -dgm -dgm -dgm -dgm -dyM -dzZ -dyI -dyI -dyI -cJL -egw -dHE -dIq -dIT -dJO -dKI -dLI -dMM -dNK -dOz -dPp -dQe -dQW -dRR -dSJ -dTr -dQW -dUC -dVi -dPp -dWy -dWX -dXA -dYn -dZc -dZM -eao -eas +cQH +cSp +cUe +cWb +cXr +cOR +daK +dcz +ddY +dfm +dgx +die +djQ +dlJ +dmX +doR +dqH +dlE +dlE +duP +dlE +dlD +dlE +dlE +dlE +dlE +dEE +dFU +dEA +dEA +dEA +cOR +dMd +dNF +dOt +dOW +dPP +dQH +dRI +dSH +dTB +dUq +dVe +dVT +dWP +dXG +dYB +dZl +dWP +eaB +ebj +dVe +ecC +ecT +eds +edT +eeC +efp +egd +egC aaa -aaf +aad aaa -agg +ajr aaa aaa aaa @@ -137897,9 +140003,9 @@ aaa aaa aaa aaa -aaH +abj aaa -aaf +aad aaa aaa aaa @@ -137918,165 +140024,165 @@ aaa aaa aaa aaa -aaf -aax -aaD -agp -agN -ahu -aim -aji -akj -ali -alg -ans -ahu -aoV -aqn -art -asJ -atL -ave -awi -axf -ayu -aqc -aAx -aBx -aCJ -aDY -aFw -aGS -aAx -eeX -aKT -eqH -aOo -aPU -aKT -efm -aUP -aWJ -aYq -aZP -bbl -aUP -aZV -bfM -bhB -aUP -bkP -bmL +aad +aaO +abf +ajA +ajV +aky +alq +amf +ane +aod +aob +aqf +aky +arD +asX +auh +avD +awF +axY +aze +aAk +aBB +asM +aDL +aEP +aGd +aHu +aIV +aKv +aDL +aNb +aNd +aQm +aRY +aTE +aNd +aWW +aYC +baz +bce +bdD +beZ +aYC +bdJ +bjC +blr +aYC boH -bqt +bqH +bsE +buq aaa -aaf +aad aaa -bsV -bxy -bzw -bBe -bCK -bEx -bGp -bIf -bKl -bIf -bOl -bQn -bQn -bUC -bWo -bYa -bWo -cbE -bWo -bQn -bQn -chW -cju -ckV -bQn -cnM -cpp -cqH -crW -ctD -cvk -erD +bwU +bBy +bDz +bFj +bGR +bIH +bKz +bMo +bOx +bMo +bSy +bUB +bUB +bYY +caM +ccz +caM +cgc +caM +bUB +bUB +cmy +cnX +cpB +bUB +csp +ctS +cvo cwC +cyj czR -cBr -cqH -blb -bmX -cGQ -cIj -cJR -cLA -cLB +cBk +cCR +cEC +cGg +cvo +boT +bqU +cLS +cNq cOX -cQS -cSf -cTR -cVw -cXn -cYN -epL -dbv -dcR -deC -dgs -dgs -djy -dln -dmF -dgs -dpq -dgs -cZX -dgs -dgs -dgs -dxG -djy -dAa -dpq -dCK -dEh -cJO -dGe -dHF -dIr -dIU -dJP -cJO -dLJ -esp -dNI -dOA -dPn -dQf -dQU -dRQ -dSH -dRQ -dQU -est -dVg -dVP -dQc -dNI -dXB -dYo -dZd -dZN -eap -eas +cQI +cQJ +cUf +cWc +cXs +cZh +daL +dcA +ddZ +dfn +dgG +dif +djT +dlK +dlK +doS +dqI +dsc +dlK +duQ +dlK +dfh +dlK +dlK +dlK +dDw +doS +dFV +duQ +dII +dKh +cOU +dMe +dNG +dOu +dOX +dPQ +cOU +dRJ +dSI +dTA +dUr +dVc +dVU +dWN +dXF +dYz +dXF +dWN +eaC +ebh +ebW +dVR +dTA +edt +edU +eeD +efq +ege +egC aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -138154,186 +140260,186 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aax -egV -aax -aaf -aaf -aaf -aaf -aax -egT -aax -aaf -aaf -aaf -aaf -aaf -aax -agl -agN -ahy -ain -ajj -akk -ali -akh -anv -ahu -aoV -aqj -art +aad +aad +aad +aad +aad +aad +aad +aad +aaO +aea +aaO +aad +aad +aad +aad +aaO +aee +aaO +aad +aad +aad +aad +aad +aaO +ajw +ajV +akC +alr +amg +anf +aod +anc +aqh +aky +arD +asT +auh +avE +awG +axZ +azf +auh +aBC asK -atM -eeP -awj -art -ayv -aqb -aAx -aBy -aCK -aDZ -aFx -aGT -aAx -aJv -aKU -aMD -aOp -aPV -aRC -aTl -aUP -aWK -aYr -aZQ -bbm -bcz -bdU -bfN -bhC -aUP -bkP -bmL +aDL +aEQ +aGe +aHv +aIW +aKw +aDL +aNc +aOE +aQn +aRZ +aTF +aVo +aWX +aYC +baA +bcf +bdE +bfa +bgq +bhM +bjD +bls +aYC boH -bqt +bqH +bsE +buq aaa -aaf +aad aaa -bsV -bxw -bzx -bBf -bCL -bEx -bGq -bIg -bKm -bMm -bOm -bQn -bSx -bUD -bWp -bYb -bZR -cbF -cdx -ceY -bZU -bZU -cjv -ckW -bQn -cnM -cpq -cqI -crX -ctE -cvl -cvl -cvl +bwU +bBw +bDA +bFk +bGS +bIH +bKA +bMp +bOy +bQz +bSz +bUB +bWQ +bYZ +caN +ccA +cep +cgd +chZ +cjz +ckV +ckV +cnY +cpC +bUB +csp +ctT +cvp +cwD +cyk czS -cBs -cqH -cDJ -bmX -cGR -cIk -cJS -cLB -cNi +czS +czS +cED +cGh +cvo +cIC +bqU +cLT +cNr cOY -cLI -cOW -cTS -cVx -cXo -cYO -cKc -dbw -dcM -deD -cLA -cLB -djz -dlo -dmG -dnV -dpr -dqR -dsy -dqR -dmG -dqR -dpr -esl -dAb -dBv -dCL -dEi -dEI -dGf -dHG -dIs -dIV -dJQ -dac -dLK -dIi -dNI -dOB -dPq -dQg -dQX -dRS -dSK -dRS -dQX -dUD -dQX -dVR -dWz -dWY -dXC -dYp -dZe -dZO -eap -eas -aaf -agg +cQJ +cSq +cUg +cQQ +cUe +cZi +daM +dcB +dea +cPi +dgH +dhY +djU +cQI +cQJ +doT +dqJ +dsd +dtv +duR +dwt +dya +dwt +dsd +dwt +duR +dEF +dFW +dHt +dIJ +dKi +dKI +dMf +dNH +dOv +dOY +dPR +dfm +dRK +dOl +dTA +dUs +dVf +dVV +dWQ +dXH +dYC +dXH +dWQ +eaD +dWQ +ebY +ecD +ecU +edu +edV +eeE +efr +ege +egC +aad +ajr aaa -agg +ajr aaa aaa aaa @@ -138410,187 +140516,187 @@ aaa aaa aaa aaa -aaf -aaf +aad +aad aaa aaa -aaf +aad aaa aaa -aaf +aad aaa -aax -ack -aax -aax -aax -aax -aax -aax -ack -aax +aaO +aeb +aaO +aaO +aaO +aaO +aaO +aaO +aeb +aaO aaa -aaf +aad aaa aaa aaa -aaD -ago -agR -ahu -eeA -ajk -akl -alj -ami -anw -ahu -aoY -aqo -art -art -art -art -art -art -ayw -eqC -aAx -aBz -aCL -aEa -aFw -aGU -aAx -eeY -aKV -aME -aOq -aPW -aKV -efn -aUP -aWL -aYs -aZR -bbn -aUP -aZV -bfO -bhD -aUP -bkP -bmL +abf +ajz +aka +aky +als +amh +ang +aoe +apc +aqi +aky +arG +asY +auh +auh +auh +auh +auh +auh +aBD +aCG +aDL +aER +aGf +aHw +aIV +aHC +aLJ +aNd +aOF +aQo +aSa +aTG +aOF +aWY +aYC +baB +bcg +bdF +bfb +aYC +bdJ +bjE +blt +aYC boH -bqt +bqH +bsE +buq aaa -aaf +aad aaa -bsV -bxz -bzy -bBg -bCM -bEy -bGr -bIh -bKn -bMn -bMs -bQn -bSy -bUE -bWq -bUE -bWq -bUE -cdy -ceZ -cgt -chX -cjw -ckX -bQn -cnM -eiR -cqH -crY -ctF -cvm -cvm -cvm +bwU +bBz +bDB +bFl +bGT +bII +bKB +bMq +bOz +bQA +bQF +bUB +bWR +bZa +caO +bZa +caO +bZa +cia +cjA +ckW +cmz +cnZ +cpD +bUB +csp +ctU +cvo +cwE +cyl czT -cBt -cCT -cDK -bmY -cGS -cIk -cJS -cLC -cNj -cOZ -cQT -cSg -cTT -cVy -cXp -cYP -epM -dbx -dcS -deE -dgt -dhE -djA -dlp -dmH -dlp -dps -dqS -dsz -dmH -dmH -dwB -dxH -dhE -dAc -dhE -dCM -dhE -cJM -dGg -dHH -dIt -dIW -dJR -dac -dLL -dMN +czT +czT +cEE +cGi +cHJ +cID +bqV +cLU +cNr +cOY +cQK +cSr +cUh +cWd +cXt +cZj +daN +dcC +deb +dfo +dgI +dig +djV +dlL +dmY +doU +dqK +dse +dqK +duS +dwu +dyb +dse +dse +dCn +dDx +dmY +dFX +dmY +dIK +dmY +cOS +dMg dNI -dOC -dPr -dPn -dQY -dRT -dSH -dTs -dTX -dTq -dQU -dVS -eaZ -dNI -dXD -dYq -dZf -dZP -eaq -dNE -aaf -agg -aaf -agg +dOw +dOZ +dPS +dfm +dRL +dSJ +dTA +dUt +dVg +dVc +dWR +dXI +dYz +dZm +dZU +dZk +dWN +ebZ +ecE +dTA +edv +edW +eeF +efs +egf +dTw +aad +ajr +aad +ajr aaa aaa aaa @@ -138666,196 +140772,196 @@ aaa aaa aaa aaa -aay -aaD -aaD -aaD -aaD -aaD -aax -aax -aaD -abR -aax -egU -aax -acE -acV -adg -adr -aax -egW -aax -abP -aaD -aax -aax -aaD -aaD -agq -agN -ahu -ahu -ahu -ahu -alk -ahu -ahu -ahu -aoV -aqp -aru -asL -atN -avg -aru -axg -ayx -azw -aAx -aBA -aCM -aEb -aFy -aGV -aAx -aJx -aKW -aMF -aMF -aMF -aMF -aTn -aUP -aWM -aYt -aZS -bbo -aUP -bdV -bfP -bhE -aUP -bkQ -bmL -efy -boZ -aaf -aaf -aaf -bsV -bxA -bzy -bBg -bCN -bEy -bGs -bIi -bKo -bMo -bOn -bQn -bSz -bUF -bWr -bUF -bWr -erq -bWr -cfa -cgu -chY -cjx -ckY -cmr -cnN -cpr -cqH -crZ -ctG -cvn -cwD -cyk -czU -cBu -cCU -cDL -bmX -boR -cIi -cJT -cLD -cNk -cPa -erS -cSh -cTU -cVz -cXq -cYQ -dad -cNp -dcT -deF -dgu -dgu -djB -dgu -dmI -dgu -dpt -dgu -dsA -dsA -dsA -dwC -dxI -dyN -dsA -dsA -dsA -dsE -cJL -dac -dac -dac -dac -dac -dac -dLM -dMH -dNI -dOD -dPs -dQh -dOD -dNI -dOD -dNI -dNI -dOD -dNI -dNI -dNI -dNI -dXE -dNE -dNE -dNE -dNE -dNE -aaf -aaf -aaa -agg -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aaP +abf +abf +abf +abf +abf +aaO +aaO +abf +ads +aaO +aec +aaO +aeV +afw +afT +agk +aaO +aej +aaO +adq +abf +aaO +aaO +abf +abf +ajB +ajV +aky +aky +aky +aky +aof +aky +aky +aky +arD +asZ +aui +avF +awH +aya +aui +aAl +aBE +aCH +aDL +aES +aGg +aHx +aIX +aKx +aDL +aNe +aOG +aQp +aQp +aQp +aQp +aWZ +aYC +baC +bch +bdG +bfc +aYC +bhN +bjF +blu +aYC +boI +bqH +bsF +bsW aad +aad +aad +bwU +bBA +bDB +bFl +bGU +bII +bKC +bMr +bOA +bQB +bSA +bUB +bWS +bZb +caP +bZb +caP +cge +caP +cjB +ckX +cmA +coa +cpE +cqW +csq +ctV +cvo +cwF +cym +czU +cBl +cCS +cEF +cGj +cHK +cIE +bqU +bsO +cNp +cOZ +cQL +cSs +cUi +cWe +cXu +cZk +daO +dcD +dec +dfp +cSx +dih +djW +dlM +dlM +doV +dlM +dsf +dlM +duT +dlM +dyc +dyc +dyc +dCo +dDy +dEG +dyc +dyc +dyc +dyg +cOR +dfm +dfm +dfm +dfm +dfm +dfm +dRM +dSC +dTA +dUu +dVh +dVW +dUu +dTA +dUu +dTA +dTA +dUu +dTA +dTA +dTA +dTA +edw +dTw +dTw +dTw +dTw +dTw +aad +aad +aaa +ajr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aab aaa aaa aaa @@ -138912,201 +141018,201 @@ aaa aaa aaa aaa +aab +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaA +aaA +aaA +abr +abE +aaO +aca +abC +abC +acX +adt +abC +abC +aew +aeW +aeW +aeW +aeW +aeW +aeW +aeW +aeW +ahR +aeW +aeW +aiS +ajg +ajC +akb +akD +alt +ami +anh +aog +apd +anh +aqX +arH +ata +auj +auj +auj +auj +auj +auj +aBF +aCI +aDL +aET +aGh +aHy +aIY +aDL +aDL +aNf +aOH +aQq +aQq +aQq +aVp +aXa +aYC +aYC +aYC +aYC +aYC +aYC +bhO +bjG +blv +bnq +boH +bqH +bsE +buq +aaa aad aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aas -aas -aas -aaK -aaR -aax -abb -aaP -aaP -abD -abS -aaP -aaP -acq -acF -acF -acF -acF -acF -acF -acF -acF -aeL -acF -acF -afz -afQ -agr -agS -ahz -aip -ajl -akm -all -amj -akm -aom -aoZ -aqq -arv -arv -arv -arv -arv -arv -ayy -azx -aAx -eeT -aCN -eeU -aFz -aAx -aAx -aJy -aKX -aMG -aMG -aMG -aRD -aTo -aUP -aUP -aUP -aUP -aUP -aUP -bdW -bfQ -bhF -bjA -bkP -bmL -boH -bqt -aaa -aaf -aaa -bsV -bxB -bzz -bBh -bCO -bEy -bGt -bIj -bKp -bMp -bOo -bQo -bSA -bUG -bWs -bYc -bZS -cbG -bWs -cfb -bYc -chZ -cjy -ckZ -bQn -cnM -cps -cqH -crY -ctH -cvo -cvo +bwU +bBB +bDC +bFm +bGV +bII +bKD +bMs +bOB +bQC +bSB +bUC +bWT +bZc +caQ +ccB +ceq +cgf +caQ +cjC +ccB +cmB +cob +cpF +bUB +csp +ctW cvo +cwE +cyn czV -cBv -cCV -cDM -eqV -boR -cIi -cJU -cLE -cNk +czV +czV +cEG +cGk +cHL +cIF +bqY +bsO +cNp cPa -cLH -cSi -cTV -cVA -cTW -cTW -cTW -dby -dcU -deG -dgv -dhF -djC -dlq -dlv -dnW -dpu -dqT -dsA -dtX -dvd -dwD -dxJ -dyO -dAd -dBw -dCN -dsE -dEJ -dGh -dHI -dIu -dIX -dJS +cQM +cSs +cUi +cQP +cXv +cZl +daP +cZm +cZm +cZm +dgJ +dii +djX +dlN +dmZ +doW +dqL +dqQ +dtw +duU +dwv +dyc +dzF +dAJ +dCp +dDz +dEH +dFY +dHu +dIL +dyg dKJ -dLN -dMO -egA -egH -dQi -dQi -dPt -dQi -dQi -dRU -dSL -dTt -dTY -dUE -dVj -dVT -dPA -dWZ -dXF -dYr -dZg -dZQ -aaH -aaH +dMh +dNJ +dOx +dPa +dPT +dQI +dRN +dSK +dTC +dUv +dVi +dVi +dWS +dVi +dVi +dZn +dZV +eaE +ebk +eca +ecF +ecV +dVl +edX +eeG +eft +egg +egD +abj +abj aaa -aaf +aad aaa -agg +ajr aaa aaa aaa @@ -139178,192 +141284,192 @@ aaa aaa aaa aaa -aap -aat -aaz -aaE -aaL -aaS -aaV -abc -abh -abh -abh -abh -abh -abh -acr -abh -abh -abh -abh -adJ -abh -abh -abh -abh -abh -abh -afA -aba -agl -agN -ahA -ahA -ahA -ahA -ahA -ahA -ahA -ahA -aoV -aqr -arv -asM -atO -atO -awk -axh -ayy -aqg -aAx -aBC -aCM -aEd -aFA -aGW -aIf -aGY -aGY -aGY -aGY -aGY -aGY -aTp -aUR -aWN -aUQ -aZT -bbp -bcA -eqR -bfR -bhG -bjA -bkR -bmM -boH -bqt +aas +aaB +aaQ +abg +abs +abF +abP +acb +aco +aco +aco +aco +aco +aco +aex +aco +aco +aco +aco +agE +aco +aco +aco +aco +aco +aco +aiT +abZ +ajw +ajV +akE +akE +akE +akE +akE +akE +akE +akE +arD +atb +auj +avG +awI +awI +azg +aAm +aBF +asQ +aDL +aEU +aGg +aHz +aIZ +aKy +aLK +aLL +aLL +aLL +aLL +aLL +aLL +aXb +aYE +baD +aYD +bdH +bfd +bgr +bhP +bjH +blw +bnq +boJ +bqI +bsE +buq aaa -aaf +aad aaa -bsV -bxC -bzA -bBi -bCP -bEz -bGu -bIk -bKq -bMq -bOp -bQp -bSB -bUH -bWt -bWt -bZT -cbH -bWt -bWt -bWt -bWt -cjz -cla -cms -cnO -cpt -cqJ -csa -ctI -cvl -cvl -cvl -czW -cBw -cqH -cDN -bna -boR -cIl -cJV -cLF -cNl -cPa -cLI -cSj -cTW -cVB -cXr -cYR -dae -dbz -dcV -deH -dgv -dhG -djD -dlr -dmJ -dmJ -dpv -dqU -dsB -dtY -dve -dwE -dxK -dyP -dAe -dBx -dCO -dEj -dEK -dGi -dHJ -dIv -dIY -dJT +bwU +bBC +bDD +bFn +bGW +bIJ +bKE +bMt +bOC +bQD +bSC +bUD +bWU +bZd +caR +caR +cer +cgg +caR +caR +caR +caR +coc +cpG +cqX +csr +ctX +cvq +cwG +cyo +czS +czS +czS +cEH +cGl +cvo +cIG +bqX +bsO +cNs +cPb +cQN +cSt +cUi +cQQ +cXw +cZm +daQ +dcE +ded +dfq +dgK +dij +djY +dlN +dna +doX +dqM +dsg +dsg +duV +dww +dyd +dzG +dAK +dCq +dDA +dEI +dFZ +dHv +dIM +dKj dKK -dLO -dMP -egB -egI -egM -dOF -dPu -dQj -dQj -dQj -dSM -dQj -dQj -dQj -dQj -dVU -dWA -ahL -ahL -ahL -ahL -dZR -aaf -aaf +dMi +dNK +dOy +dPb +dPU +dQJ +dRO +dSL +dTD +dUw +dVj +dVX +dWT +dXJ +dXJ +dXJ +dZW +dXJ +dXJ +dXJ +dXJ +ecW +edx +edY +edY +edY +edY +egE +aad +aad aaa -agg -aaf -agg +ajr +aad +ajr aaa aaa aaa @@ -139436,191 +141542,191 @@ aaa aaa aaa aaa -aas -aas -aas -aaK -aaT -aax -abd -aaQ -aaQ -abE -aaQ -aaQ -aaQ -aaQ -aaQ -aaQ -aaQ -aaQ -adK -aea -aea -aew -aeM -aea -aea -afB -afO -ags -agT -ahB -aiq -ajm -akn -alm -amk -anx -ahA -apa -aqs -arv -asN -atP -avh -arv -arv -ayy -aqc -aAx -aBD -aCO -aEe -aFB -aGX -aGY -aJz -aKY -aMH -aGY -aJA -aRE -aGY -eqF -aGX -aYu -aZU -aZV -aZU -aZV -bfQ -bhH -bjA -bkP -bmL +aaA +aaA +aaA +abr +abG +aaO +acc +abD +abD +acY +abD +abD +abD +abD +abD +abD +abD +abD +agF +agW +agW +ahz +ahS +agW +agW +aiU +ajd +ajD +akc +akF +alu +amj +ani +aoh +ape +aqj +akE +arI +atc +auj +avH +awJ +ayb +auj +auj +aBF +asM +aDL +aEV +aGi +aHA +aJa +aKz +aLL +aNg +aOI +aQr +aLL +aNh +aVq +aLL +aNi +aKz +bci +bdI +bdJ +bdI +bdJ +bjG +blx +bnq boH -bqt +bqH +bsE +buq aaa -aaf +aad aaa -bsW -bxD -bzB -bBj -bCQ -bEA -bGv -bIl -bKr -bMr -bGv -bQq -bSC -bUI -bWu -bYd -ecy -cbI -cdz -efP -cgv -cia -cjA -clb -bQq -cnP -cpu -cqH -csb -ctJ -cvp -cwE -cyl -czX -cBx -cqH -cDO -bmX -boR -cIi -cJW -cLG -cNm -cPb -cLB -cSk -cTX -cVC -cXs -cYS -daf -dbA -cXu -deI -dgw -dhH -djE -dls -dmK -dls -dpw -dqV -dsB -dtZ -dvf -dwF -dxL -dwH -dAf -dBy -dCP -dsE -dEL -dGj -ahA -ahA -ahA -ahA -ahA -ahA -dMQ -dNN -dPx -dPx -dOG -dPv -dPx -dPx -dPx -dSN -dQo -dQo -dQo -dQo -dVV -dWB -ahN -dXG -dYs -dZh -dZR -aaf -agg -aaf -agg +bwV +bBD +bDE +bFo +bGX +bIK +bKF +bMu +bOD +bQE +bKF +bUE +bWV +bZe +caS +ccC +ces +cgh +cib +cjD +ckY +cmC +cod +cpH +bUE +css +ctY +cvo +cwH +cyp +czW +cBm +cCT +cEI +cGm +cvo +cIH +bqU +bsO +cNp +cPc +cQO +cSu +cUj +cQJ +cXx +cZn +daR +dcF +dee +dfr +dgL +dcH +djZ +dlO +dnb +doY +dqN +dsh +dqN +duW +dwx +dyd +dzH +dAL +dCr +dDB +dEJ +dGa +dHw +dIN +dyg +dKL +dMj +dNL +dNL +dNL +dNL +dNL +dNL +dNL +dTE +dUx +dUx +dVY +dWU +dUx +dUx +dUx +dZX +dXO +dXO +dXO +dXO +ecX +edy +edZ +eeH +efu +egh +egE +aad +ajr +aad +ajr aaa -agg +ajr aaa aaa aaa @@ -139694,188 +141800,188 @@ aaa aaa aaa aaa -aay -aaD -aaD -aaD -aaD -aaD -aax -aax -aaD -abP -aax -egT -aax -acG -acW -acW -ads -aax -egT -aax -abR -aaD -aax -aax -aaD -afR +aaP +abf +abf +abf +abf +abf +aaO +aaO +abf +adq +aaO +aee +aaO +aeX +afx +afx agl -agN -ahC -air -ajn -ako -aln -aml -any -aon -apb -aqt -arv -asO -atQ -avi -awk -axi -ayy -aqg -aAx -aBE -aCM -aEf -aFB -aGX -aGY -aJA -aKZ -aMI -aGY -aPX -aRF -aJA -aGY -aGX -aYv -aZV -bbq -bcB -bdX -bfP -bhI -aUQ -bkS -bmN -boJ -bqu -aaf -aaf -aaf -bsU -bxE -bzC -bBk -bCR -bEy -bGw -bIm -bKs -bMs -bEx -bQn -bQn -bQn -bQn -bQn -bQn -bQn -bQn -bQn -bQn -bQn -bQn -bQn -bQn -cnM -erx -cqH -csc -ctK -cvq -cwF -cvq -czY -cBy -cqH -cDP -bmX -boR -cIi -cJX -cLH -cNk -cPa -cLI -cSl -cTW -cVD -cXt -cYT -dag -dbB -cXu -deJ -dgv -dhH -djF -dlt -dmL -dnX -dpx -dqW -dsC -dua -dvg -dwG -dxM -dyQ -dAg -dBz -dCQ -dEk -dEM -dGk -ahA -dIw -dIZ -dJU -dKL -egy -dMQ -dNN -dPx -dPx -dOH -dPw -dQk -dQZ -dQk -dSO -dPw -dQk -dQZ -dQk -dVW -dWC -dXa -dXH -dYt -dZi -dXb -aaf -aaf +aaO +aee +aaO +ads +abf +aaO +aaO +abf +ajh +ajw +ajV +akG +alv +amk +anj +aoi +apf +aqk +aqY +arJ +atd +auj +avI +awK +ayc +azg +aAn +aBF +asQ +aDL +aEW +aGg +aHB +aJa +aKz +aLL +aNh +aOJ +aQs +aLL +aTH +aVr +aNh +aLL +aKz +bcj +bdJ +bfe +bgs +bhQ +bjF +bly +aYD +boK +bqJ +bsG +bur +aad +aad +aad +bwT +bBE +bDF +bFp +bGY +bII +bKG +bMv +bOE +bQF +bIH +bUB +bUB +bUB +bUB +bUB +bUB +bUB +bUB +bUB +bUB +bUB +bUB +bUB +bUB +csp +ctZ +cvo +cwI +cyq +czX +cBn +czX +cEJ +cGn +cvo +cII +bqU +bsO +cNp +cPd +cQP +cSs +cUi +cQQ +cXy +cZm +daS +dcG +def +dfs +dgM +dcH +dka +dlN +dnb +doZ +dqO +dsi +dtx +duX +dwy +dye +dzI +dAM +dCs +dDC +dEK +dGb +dHx +dIO +dKk +dKM +dMk +dNL +dOz +dPc +dPV +dQK +dRP +dNL +dTE +dUx +dUx +dVZ +dUy +dXK +dYD +dXK +dZY +dUy +dXK +dYD +dXK +ecY +edz +eea +eeI +efv +egi +eeb +aad +aad aaa -agg +ajr aaa aaa aaa @@ -139952,187 +142058,187 @@ aaa aaa aaa aaa -aaf -aaf -aaf +aad +aad +aad aaa -aaf +aad aaa aaa -aaf +aad aaa -aax -ack -aax -aax -aax -aax -aax -aax -ack -aax +aaO +aeb +aaO +aaO +aaO +aaO +aaO +aaO +aeb +aaO aaa -aaf +aad aaa aaa aaa -aaD -agl -agN -ahA -ais -ajo -akp -alo -amm -anz -ahA -apc -aqu -arv -asP -atR -avj -arv -arv -ayy -aqc -aAx +abf +ajw +ajV +akE +alw +aml +ank +aoj +apg +aql +akE +arK +ate +auj +avJ +awL +ayd +auj +auj aBF -aCP -aEg -aFC -aGX -aGY -aJA -aLa -aMJ -aOr -aPY -aRG -aJA -aGY -aGY -aUP -aZW -bbr -bcC -bdY -bfS -bhJ -bjA -bkP -eqU +asM +aDL +aEX +aGj +aHC +aJb +aKz +aLL +aNh +aOK +aQt +aSb +aTI +aVs +aNh +aLL +aLL +aYC +bdK +bff +bgt +bhR +bjI +blz +bnq boH -bqt +bqK +bsE +buq aaa -bsS -bue -bsV -bxF -bzy -bBd -bCS -bEy -bEx -bIn -bKt -bMt -bEx -bQr -bSD -bQr -bQr -bYe -bZV -bQr -bQr -bSD -bQr -bQs +bwR +byf +bwU +bBF +bDB +bFi +bGZ +bII +bIH +bMw +bOF +bQG +bIH +bUF +bWW +bUF +bUF +ccD +cet +bUF +bUF +bWW +bUF +bUG aaa aaa -cmt -cnQ -cpp -cqH -cqH -ctL -cqH -cqH -cqH -cqH -cqH -cqH -bla -bmX -cGP -cIk -cJY -cLA -cNn -cPc -cLB -cSm -cTY -cVE -cXu -cYU -dah -dbC -dcW -deK -dgx -dhI -djG -dlt -dmM -dnX -djG -dqX -dsB -dtZ -dvg -esj -dxN -dyR -dAh -dBA -dCR -dsE -dEN -dGl -dHK -dIx -dJa -dJV -ako -dLQ -dMR -dNO -dPx -dPx -dOI -dPx -dQl -dRa -dRV -dSP -dPx -dQl -dRa -dRV -dVX -dWB -dXb -dXI -dYu -dZj -dZS +cqY +cst +ctS +cvo +cvo +cyr +cvo +cvo +cvo +cvo +cvo +cvo +boS +bqU +cLR +cNr +cPe +cQI +cSv +cUk +cQJ +cXz +cZo +daT +dcH +deg +dft +dgN +dik +dkb +dlP +dnc +dpa +dqO +dsj +dtx +dpa +dwz +dyd +dzH +dAM +dCt +dDD +dEL +dGc +dHy +dIP +dyg +dKN +dMl +dNM +dOA +dPd +dPW +dQL +dRQ +dSM +dTF +dUx +dUx +dWa +dUx +dXL +dYE +dZo +dZZ +dUx +dXL +dYE +dZo +ecZ +edy +eeb +eeJ +efw +egj +egF aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -140211,185 +142317,185 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aax -egU -aax -aaf +aad +aad +aad +aad +aad +aad +aad +aaO +aec +aaO +aad aaa aaa -aaf -aax -egW -aax -aaf -aaf -aaf -aaf -aaf -aax -agl -agN -ahA -ahA -ajp -akq -alp -amn -ahA -ahB -aib -aqv -arv -arv -atS -avk -awk -axj -ayy -azy -aAx -aBG -aCM -aEf -aFB -aGX -aGY -aJA -aLb -aMK -aGY -edf -aRH -aJA -aGY -aGZ -aYv -aZV -edb -bcD -bdZ -bfP -bhK -bjA -bkP -bmL +aad +aaO +aej +aaO +aad +aad +aad +aad +aad +aaO +ajw +ajV +akE +akE +amm +anl +aok +aph +akE +akF +alf +atf +auj +auj +awM +aye +azg +aAo +aBF +aCJ +aDL +aEY +aGg +aHB +aJa +aKz +aLL +aNh +aOL +aQu +aLL +aTJ +aVt +aNh +aLL +aKA +bcj +bdJ +bfg +bgu +bhS +bjF +blA +bnq boH -bqt +bqH +bsE +buq aaa -bsT -buf -bvM -bxG -bzy -bBd -bCN -bEB -bGx -bGx -bGx -bGx -bGx -bQs -bQr -bQr -bQr -bYf -bZW -cbJ -cdA -cdA -cgw -cib -aaf -aaf -cmu -cnR -cpv -cqK -aaf -aaf +bwS +byg +bzM +bBG +bDB +bFi +bGU +bIL +bKH +bKH +bKH +bKH +bKH +bUG +bUF +bUF +bUF +ccE +ceu +cgi +cic +cic +ckZ +cmD +aad +aad +cqZ +csu +cua cvr -cwG -cym -czZ -cBz -cCW -blb -bmX -boR -cIm -cJZ -cLH -cNk -cPa -cLI -cSn -cTZ -cVF -cXv -cYV -cXu -dbD -cXu -deL -dgv -dhJ -djH -dlt -dmK -dnY -dpy -dqY -dsD -dub -dvh -dwI -dxO -dyS -dAh -dBB -dCS -dsE -dEO -dGm -dHL -dIy -dJb -dJW -dKM -dLR -dMS -dNO -dPx -dPx -dOI -dPx -dQm -dRb -dRV -dSP -dPx -dTZ -dRb -dVk -dVX -dWB -dXc -dXJ -dYv -dZk -dZT -aaf -aaf +aad +aad +czY +cBo +cCU +cEK +cGo +cHM +boT +bqU +bsO +cNt +cPf +cQP +cSs +cUi +cQQ +cXA +cZp +daU +dcI +deh +dcH +dgO +dcH +dkc +dlN +dnd +dpb +dqO +dsh +dty +duY +dwA +dyf +dzJ +dAN +dCu +dDE +dEM +dGc +dHz +dIQ +dyg +dKO +dMm +dNN +dOB +dPe +dPX +dQM +dRR +dSN +dTF +dUx +dUx +dWa +dUx +dXM +dYF +dZo +dZZ +dUx +ebl +dYF +ecG +ecZ +edy +eec +eeK +efx +egk +egG +aad +aad aaa -agg +ajr aaa aaa aaa @@ -140468,185 +142574,185 @@ aaa aaa aaa aaa -aaH +abj aaa -aaf +aad aaa aaa -abq -abU -abV -acl -abV -abW -abW -abW -abW -adL -acl -abV -abV +acZ +adu +adv +aef +adv +adw +adw +adw +adw +agG +aef +adv +adv aaa aaa aaa aaa -aaD -agp -agU -ahD -afO -ajq -akr -alq -amo -amo -afO -apd -aqw -arw -arv -atT -avl -arv -arv -ayy -aqc -aAx -aBH -aCQ -aEh -aFB -aGZ -aGY -eqF -aJA -aML -aGY -aPZ -aRI -aTq -aGY -aWO -aYw -aZX -bbs -aZX -bbs -bfT -bhL -bjA -bkP -bmO +abf +ajA +akd +akH +ajd +amn +anm +aol +api +api +ajd +arL +atg +auk +auj +awN +ayf +auj +auj +aBF +asM +aDL +aEZ +aGk +aHD +aJa +aKA +aLL +aNi +aNh +aQv +aLL +aTK +aVu +aXc +aLL +baE +bck +bdL +bfh +bdL +bfh +bjJ +blB +bnq boH -bqt +bqL +bsE +buq aaa -bsT -bug -bvN -bvP -bzy -bBl -bCT -bEC -bGx -bIo -bKu -bMu -bOq -bQt -bSE -bUJ -bWv -bYg -bZX -cbK -cdB -cfd -cgx -bQs +bwS +byh +bzN +bzP +bDB +bFq +bHa +bIM +bKH +bMx +bOG +bQH +bSD +bUH +bWX +bZf +caT +ccF +cev +cgj +cid +cjE +cla +bUG aaa aaa -cmt -cnM -cpw -cmt -csd -cqK -cvs -cwH -cyn -cAa -cBA -cCX -blb -cFy -boR -cIi -cKa -cLI -cNo -cPd -cLH -cSo -cTY -cVG -cXw -cYW -dai -dbE -dcX -deM -dgv -dhK -djI -dlu -djI -djI -djI -dqZ -dsB -duc -dvi -dwJ -dxP -dyT -dAi -dBC -dCT -dsE -dEP -dGn -ahA -dIz -dJc -dJX -dKN -dLS -dMT -dNO -dPx -esq -dOI -dPx -dQl -dRc -dRV -dSP -esq -dQl -dRc -dRV -dVX -dWD -dXd -dXK -dYw -dZl -dZR -aaf -agg -aaf -agg +cqY +csp +cub +cqY +cwJ +cvr +czZ +cBp +cCV +cEL +cGp +cHN +boT +cKv +bsO +cNp +cPg +cQQ +cSw +cUl +cQP +cXB +cZo +daV +dcJ +dei +dfu +dgP +dil +dkd +dlN +dne +dpc +dqP +dpc +dpc +dpc +dwB +dyd +dzK +dAO +dCv +dDF +dEN +dGd +dHA +dIR +dyg +dKP +dMn +dNL +dOC +dPf +dPY +dQN +dRS +dSO +dTF +dUx +dVk +dWa +dUx +dXL +dYG +dZo +dZZ +dVk +dXL +dYG +dZo +ecZ +edA +eed +eeL +efy +egl +egE +aad +ajr +aad +ajr aaa aaa aaa @@ -140725,185 +142831,185 @@ aaa aaa aaa aaa -aaH +abj aaa -aaf +aad aaa -abp -abq -abV -abY -acm -acs -acH -acH -acH -acH -adM -acm -aei -abV +acE +acZ +adv +adJ +aeg +aey +aeY +aeY +aeY +aeY +agH +aeg +ahm +adv aaa aaa aaa aaa -aax -ago -agV -ahE -afP -ahE -ahE -ahE -amp -ahE -afP -ahE -aqx -arx -asQ -atU -avm -awl -axk -ayy -aqe -aAx -aBI -aCR -aEi -aFB -aHa -aIg -aGY -aGY -aMM -aGY -aQa -aGY -aGY -aUS -aWP -aUQ -aZY -aZX -bbs -aZX -bfU -efu -aYx -bkP -bmP -boK -bqt +aaO +ajz +ake +akI +aje +akI +akI +akI +apj +akI +aje +akI +ath +aul +avK +awO +ayg +azh +aAp +aBF +asO +aDL +aFa +aGl +aHE +aJa +aKB +aLM +aLL +aLL +aQw +aLL +aTL +aLL +aLL +aYF +baF +aYD +bdM +bdL +bfh +bdL +bjK +blC +bcl +boH +bqM +bsH +buq aaa -bsU -buh -bvO -bxH -bzD -bBm -bCU -bED -bGx -bIp -bKv -bMv -bOr -bQu +bwT +byi +bzO +bBH +bDG +bFr +bHb +bIN +bKH +bMy +bOH +bQI bSE -bUK -bWw -bYh -bZY -cbK -cdC -cfe -bQr -bQs -cjB -cjB -cmt -cnS -cpx -cqL -cse -ctM -cvt -cwI -cyo -cwI -cwI -cCY -cDQ -cFz -boS -cIi -cKb -cLJ +bUI +bWX +bZg +caU +ccG +cew +cgj +cie +cjF +bUF +bUG +coe +coe +cqY +csv +cuc +cvs +cwK +cys +cAa +cBq +cCW +cBq +cBq +cHO +cIJ +cKw +bsP cNp -cPe -cQU -cSp -cTW -cVH -cXx -cYX -cTW -dbF -dcY -dbF -dgv -dhL -djJ -dlv -dmN -dlv -dpz -dra -dsE -dsB -dvj -dsB -dsE -dyU -dAj -dBD -dCU -dsE -dEQ -dGo -ahA -ahA -ahC -dJY -dKO -ahA -dMQ -egC -dPw -dPw -dOJ -dPx -dQn -dRd -dRW -dSP -dTu -dUa -dRd -dVl -dVX -dWB -dXe -dXL -dYx -dZm -dZR -aaf -agg +cPh +cQR +cSx +cUm +cWf +cXC +cZm +daW +dcK +dej +cZm +dgQ +dim +dgQ +dlN +dnf +dpd +dqQ +dsk +dqQ +duZ +dwC +dyg +dyd +dAP +dyd +dyg +dEO +dGe +dHB +dIS +dyg +dKQ +dMo +dNL +dNL +dPg +dPZ +dQO +dNL +dNL +dTG +dUy +dUy +dWb +dUx +dXN +dYH +dZp +dZZ +eaF +ebm +dYH +ecH +ecZ +edy +eee +eeM +efz +egm +egE +aad +ajr aaa -aaf +aad aaa aaa aaa @@ -140982,185 +143088,185 @@ aaa aaa aaa aaa -aaH +abj aaa -aaf +aad aaa -abp -abF -abW -abZ -acn -acn -acn -acn -acn -acn -acn -acn -aej -abV -abV -abW -abV +acE +ada +adw +adK +aeh +aeh +aeh +aeh +aeh +aeh +aeh +aeh +ahn +adv +adv +adw +adv aaa -aax -agt -agW -ahF -ait -ajr -aks -alr -amq -anA -aiu -ape -aqy -ary -asR -arv -arv -arv -arv -ayy -azz -aAx -aAx -aAx -aAx -aFD -aHb -aHb -aJB -aJB -aMN -aOs -aQb -aJB -aJB -aHb -aHb -aYx -aUP -bbt -bbt -bbt -bfV -aUP -bjB -bkP -bmQ -boL -boZ -aaf -bsV -bui -bvP -bvP -bzE -bBn -bCV -bEE -bGy -bIq -bKw -bMw -bOs -bQu +aaO +ajE +akf +akJ +alx +amo +ann +aom +apk +aqm +aly +arM +ati +aum +avL +auj +auj +auj +auj +aBF +aCK +aDL +aDL +aDL +aDL +aJc +aKC +aKC +aNj +aNj +aQx +aSc +aTM +aNj +aNj +aKC +aKC +bcl +aYC +bfi +bfi +bfi +bjL +aYC +bnr +boH +bqN +bsI +bsW +aad +bwU +byj +bzP +bzP +bDH +bFs +bHc +bIO +bKI +bMz +bOI +bQJ bSF -bUL -bWx -bYh -bZZ -ecz -ecz -ecz -ecE -ecG -cjC -clc -cmt -eiP -cpy -cqM -csf -ctN -cvr -cwJ -cyp -cAb -cBB -cvs -cDR -cFA -cGT -cIn -cKc -cIi -cNq -cPf -cIi -cKc -cUb -cTY -cTW -cTY -cTV -dbG -dcZ -deN -dgv -dgv -dgv -dlw -dmO -dmO -dmI -dgv -dsE -dbG -dcZ -deN -dsE -dsE -dsE -dsE -dsE -dsE -dER -dGp -dgB -dIA -dJe -dJZ -dKP -dLT -dMU +bUI +bWY +bZh +caV +ccG +cex +cgk +cgk +cgk +clb +cmE +cof +cpI +cqY +csw +cud +cvt +cwL +cyt +czY +cBr +cCX +cEM +cGq +czZ +cIK +cKx +cLV +cNu +cPi +cNp +cSy +cUn +cNp +cPi +cZq +cZo +cZm +cZo +cZl +dgR +din +dke +dlN +dlN +dlN +dqR +dsl +dsl +dsf +dlN +dyg +dgR +din +dke +dyg +dyg +dyg +dyg +dyg +dyg +dKR +dMp dNO -dPx -dPx -dOK -dPx -dQl -dRa -dRV +dOD +dPh +dQa +dQP +dRT dSP -dPx -dQl -dRa -dRV -dVX -dWE -ahL -dXk -dYy -dXk -dZR -aaf -agg +dTF +dUx +dUx +dWc +dUx +dXL +dYE +dZo +dZZ +dUx +dXL +dYE +dZo +ecZ +edB +edY +eek +efA +eek +egE +aad +ajr aaa -agg +ajr aaa aaa aaa @@ -141239,185 +143345,185 @@ aaa aaa aaa aaa -aaH +abj aaa -aaf +aad aaa -abp -abF -abW -aca -acn -acn -acI -acI -acI -acI -adN -acn -aek -aex -aeN -aeV -abW +acE +ada +adw +adL +aeh +aeh +aeZ +aeZ +aeZ +aeZ +agI +aeh +aho +ahA +ahT +aie +adw aaa -aax -agl -agX -ahG -aax -ajs -akt -eqx -amr -anB -aaD -apf -aqz -arz -asS -atV -avn -awm -awm -ayA -azA -aAy -aBJ -awm -awm -aFE -awm -awm -awm -awm -aMO -awm -ayA -awm -awm -aUT -aWQ -aYy -awm -awm -awm -bea -bfW -awm -bjC -bkT -bmR -boM -bqt +aaO +ajw +akg +akK +aaO +amp +ano +aon +apl +aqn +abf +arN +atj +aun +avM +awP +ayh +azi +azi +aBG +aCL +aDM +aFb +azi +azi +aJd +azi +azi +azi +azi +aQy +azi +aBG +azi +azi +aYG +baG +bcm +azi +azi +azi +bhT +bjM +azi +bns +boL +bqO +bsJ +buq aaa -bsW -buj -bvQ -bvP -bzF -bBo -bCW -bEF -bGx -bIr -bKx -bMx -bOt -bQv -bQv -bQv -bWy -bYi -caa -cbL -cdD -bQv -bQv -bQv -cjD -cld -cmv -cnP -cpz -cqN -csg -ctN -cvs -cwK -cyq -cAc -cBC -cCW -cDS -cFB -cGU -cIo -cKd -cKd -cNr -cPg -cKd -cKd -cUc -cVI -cVI -cVI -cVI -cVI -cVI -cVI -dgy -cUc -djK -dlx -dmP -dmP -dpA -drb -dgy -dud -cVI -cVI -cUc -cKd -cKd -cKd -cKd -cKd -cPg -dGq -dHM -dIB -dJf -dJf -dKQ -dLU -dMV -egD -egJ -egJ -dOL -dPy -dQm -dRb -dRX -dSP -dPx -dQl -dRb -dVk -dVX -dWB -dXb -egQ -dYz -dZn -dZR -aaf -agg -aaf -agg +bwV +byk +bzQ +bzP +bDI +bFt +bHd +bIP +bKH +bMA +bOJ +bQK +bSG +bUJ +bUJ +bUJ +caW +ccH +cey +cgl +cif +bUJ +bUJ +bUJ +cog +cpJ +cra +css +cue +cvu +cwM +cyt +czZ +cBs +cCY +cEN +cGr +cHM +cIL +cKy +cLW +cNv +cPj +cPj +cSz +cUo +cPj +cPj +cZr +daX +daX +daX +daX +daX +daX +daX +dlQ +cZr +dpe +dqS +dsm +dsm +dva +dwD +dlQ +dzL +daX +daX +cZr +cPj +cPj +cPj +cPj +cPj +cUo +dMq +dNP +dOE +dPi +dPi +dQQ +dRU +dSQ +dTH +dUz +dUz +dWd +dWV +dXM +dYF +dZq +dZZ +dUx +dXL +dYF +ecG +ecZ +edy +eeb +eeN +efB +egn +egE +aad +ajr +aad +ajr aaa aaa aaa @@ -141496,185 +143602,185 @@ aaa aaa aaa aaa -aaH -aaf -aaf +abj +aad +aad aaa -egS -abq -abU -acb -acn -act -ehj -acJ -adh -acJ -adt -ehl -ael -aey -aeO -aeW -abW -aaa -aax -agl -agY -ahH -aax -ajt -aku -als -ams -anC -aaD -apg -aqA +acF +acZ +adu +adM +aeh +aez +afa +afy +afU +afy +agJ agX -asT -atW -avo -awn -axl -eqB -azB -axl -aBK -axl -axl -aFF -axl -axl -axl -axl -aMP -aOt -aQc -aRJ -aTr -aUU -axl -aYz -axl -eqB -bcE -beb -bfX -axl -bjD -bkU -bmS -boN -bqt +ahp +ahB +ahU +aif +adw aaa -bsX -buk -bvR -bxI -bzG -bBp -bCX -bEG -bGz -bIs -bKy -bMy -bMy -bQw -bSG -bUM -bWz -bYj -cab -cbM -bWz -cff -bSG -cic -cjE -cle -cmw -cnT -cpA -cqO -csh -ctO -cvs -cwL -cyr -cAd -cBD -cCW -cDT -cFC -cGV -cIp -cKe -cKe -cNs -cPh -cKe -erV -cKe -cVJ -cKe -cKe -cKe -cKe -cKe -cKe -dgz -cKe -cKe -dly -cKe -erV -cKe -drc -dgz -cKe -cKe -eiI -eiK -dyV -eiK -eiK -esn -eiK -dES -dGr -dHN -dIC -cKe -dKa -dKR -dLV -dMW -dNO -dPx -dPx -dOM -dOK -dQl -dRc +aaO +ajw +akh +akL +aaO +amq +anp +aoo +apm +aqo +abf +arO +atk +akg +avN +awQ +ayi +azj +aAq +aBH +aCM +aAq +aFc +aAq +aAq +aJe +aAq +aAq +aAq +aAq +aQz +aSd +aTN +aVv +aXd +aYH +aAq +bcn +aAq +aBH +bgv +bhU +bjN +aAq +bnt +boM +bqP +bsK +buq +aaa +bwW +byl +bzR +bBI +bDJ +bFu +bHe +bIQ +bKJ +bMB +bOK +bQL +bQL +bUK +bWZ +bZi +caX +ccI +cez +cgm +caX +cjG +bWZ +cmF +coh +cpK +crb +csx +cuf +cvv +cwN +cyu +czZ +cBt +cCZ +cEO +cGs +cHM +cIM +cKz +cLX +cNw +cPk +cPk +cSA +cUp +cPk +cXD +cPk +daY +cPk +cPk +cPk +cPk +cPk +cPk +dlR +cPk +cPk +dqT +cPk +cXD +cPk +dwE +dlR +cPk +cPk +dCw +dDG +dEP +dDG +dDG +dIT +dDG +dKS +dMr +dNQ +dOF +cPk +dQb +dQR dRV -dSP -dPx -dQl -dRc -dRV -dVY -dWF -dXf -dXN -dYA +dSR +dTF +dUx +dUx +dWe +dWc +dXL +dYG dZo -dXb -aaf -aaf +dZZ +dUx +dXL +dYG +dZo +eda +edC +eef +eeO +efC +ego +eeb +aad +aad aaa -agg +ajr aaa aaa aaa @@ -141727,7 +143833,6 @@ aaa aaa aaa aaa -aac aaa aaa aaa @@ -141753,185 +143858,186 @@ aaa aaa aaa aaa -aaH aaa -aaf +abj aaa -abp -abF -abW -acc -acn -acn -acH -acH -acH -acH -adO -acn -aem -aez -aeP -aeV -abW +aad aaa -aax -agl -agX -ahI -aax -aju -akv -akt -akt -anD -aaD -aph -aqB -arA -asU -atX -avp -awo -axm -axm -azC -aAz -aBL -aCS -aEj -aEj -aCS -aIh -aJC -axm -aMQ -axm -axm -aRK -aTs -aUV -axm -aYA -axm -bbu -bcF -bec -bbu -bhN -asU -bkV -bmT -boO -bqt +acE +ada +adw +adN +aeh +aeh +aeY +aeY +aeY +aeY +agK +aeh +ahq +ahC +ahV +aie +adw aaa -bsY -bul -bvQ -eqZ -bzE -bBq -bCY -bEH -bGx -bIt -bKz -erl -bOu -bQu -bQu -bQu -bWA -bYh -bZY -bWx -cdF -bQu -bQu -bQu -cjF -clf -cmt -cnU -cpB -cqP -csi -ctP -cvs -cwM -cys -cAe -cBE -cCW -cDU -cFD -cGW -cIq -cKf -cKf -cNt -cPi -cQV -cSq -cUd -cVK -cXy -cYY -cYY -dbH -cYY -cYY -dgA -cSq -djL -cSq -dmQ -dnZ -dpB -drd -dsF -due -dpB -eiJ -dxQ -dyW -dAk -cSq -cSq -dEl -dET -dGs -dHO -dID -dJg -dKb -dKb -dLW -dMV -egD -egJ -egJ -dON -dPz -dQo -dQo -dQo +aaO +ajw +akg +akM +aaO +amr +anq +ano +ano +aqp +abf +arP +atl +auo +avO +awR +ayj +azk +aAr +aAr +aCN +aDN +aFd +aGm +aHF +aHF +aGm +aLN +aNk +aAr +aQA +aAr +aAr +aVw +aXe +aYI +aAr +bco +aAr +bfj +bgw +bhV +bfj +blD +avO +boN +bqQ +bsL +buq +aaa +bwX +bym +bzQ +bBJ +bDH +bFv +bHf +bIR +bKH +bMC +bOL +bQM +bSH +bUI +bUI +bUI +caY +ccG +cew +caV +cig +bUI +bUI +bUI +coi +cpL +cqY +csy +cug +cvw +cwO +cyv +czZ +cBu +cDa +cEP +cGt +cHM +cIN +cKA +cLY +cNx +cPl +cPl +cSB +cUq +cWg +cXE +cZs +daZ +dcL +dek +dek +dgS +dek +dek +dlS +cXE +dpf +cXE +dsn +dtz +dvb +dwF +dyh +dzM +dvb +dCx +dDH +dEQ +dGf +cXE +cXE +dKl +dKT +dMs +dNR +dOG +dPj +dQc +dQc +dRW dSQ -dPx -dPx -dUF -dPx -dVZ -dWB -dXg +dTH +dUz +dUz +dWf +dWW dXO -dYB -dZp -dZS +dXO +dXO +eaa +dUx +dUx +ecb +dUx +edb +edy +eeg +eeP +efD +egp +egF aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -142010,185 +144116,185 @@ aaa aaa aaa aaa -aaH +abj aaa -aaf +aad aaa -abp -abF -abW -abZ -acn -acn -acn -acn -acn -acn -acn -acn -ecc -abV -abV -abW -abV +acE +ada +adw +adK +aeh +aeh +aeh +aeh +aeh +aeh +aeh +aeh +ahr +adv +adv +adw +adv aaa -aax -agl -agX -ahJ -aiu -ajv -akw -alr -amt -anE -ait -api -aqy -arB -asV -asW -avq -asW -asW -asW -asW -asW -aBM -aCT -aEk -aEk -aHc -aEk -aBM -aBM -aBM -aBM -ehV -aRL -aTt -ehW -ehV -ehV -aZZ -bbv -bcG -bed -bbv -bhO -bjE -bkW -bmU -boP -boZ -aaf -bsV -bum -bvP -bvP -bzE -bBr -bCZ -bEI -bGA -bIu -bKA -bMw -bOv -bQu -bSH -bUL -bWx -bYh -cad -cbN -cbN -cbN -ecE -ecG -cjG -clg -cmt -cnV -cpC -cqQ -csj -ctP -cvr -cwJ -cyt -cAf -cBF -cvs -cDV -cFE -cGX -cIr -cIw -cIs -cNu -cPj -cQW -cIw -cKs -cVL -cXz -cVL -daj -dbI -dda -deO -eqg -eqg -djM -eqg -eqg -eqg -doa -dre -doa -dcZ -dbG -dwK -dwK -dwK -dAl -dwK -dwK -dwK -dEU -dGt -dgB -dIE -dJh -dKc -dJh -egz -dMX -dNR -dOO -dOO -dOO -dOO -dOO -dOO -dOO -dOO -dOO -dOO -dOO -dOO -dOO -dWG -dXh -dXP -dYC -dZq -dZT -aaf -aaf +aaO +ajw +akg +akN +aly +ams +anr +aom +apn +aqq +alx +arQ +ati +aup +avP +avQ +ayk +avQ +avQ +avQ +avQ +avQ +aFe +aGn +aHG +aHG +aKD +aHG +aFe +aFe +aFe +aFe +aTO +aVx +aXf +aYJ +aTO +aTO +bdN +bfk +bgx +bhW +bfk +blE +bnu +boO +bqR +bsM +bsW +aad +bwU +byn +bzP +bzP +bDH +bFw +bHg +bIS +bKK +bMD +bOM +bQJ +bSI +bUI +bXa +bZh +caV +ccG +ceA +cgn +cgn +cgn +clb +cmE +coj +cpM +cqY +csz +cuh +cvx +cwP +cyv +czY +cBr +cDb +cEQ +cGu +czZ +cIO +cKB +cLZ +cNy +cND +cNz +cSC +cUr +cWh +cND +cPy +dba +dcM +dba +dfv +dgT +dio +dkf +dlT +dlT +dpg +dlT +dlT +dlT +dvc +dwG +dvc +din +dgR +dCy +dCy +dCy +dGg +dCy +dCy +dCy +dKU +dMt +dNO +dOH +dPk +dQd +dPk +dRX +dSS +dTI +dUA +dUA +dUA +dUA +dUA +dUA +dUA +dUA +dUA +dUA +dUA +dUA +dUA +edD +eeh +eeQ +efE +egq +egG +aad +aad aaa -agg +ajr aaa aaa aaa @@ -142267,185 +144373,185 @@ aaa aaa aaa aaa -aaH +abj aaa -aaf +aad aaa -abp -abq -abV -abY -aco -acu -acI -acI -acI -acI -adP -aco -aen -abV +acE +acZ +adv +adJ +aei +aeA +aeZ +aeZ +aeZ +aeZ +agL +aei +ahs +adv aaa aaa aaa aaa -aax -ago -agV -ahE -afP -ahE -akx -ahE -ahE -ahE -afP -ahE -aqC -arB -asW -atY -avr -awp -axn -ayB -azD -aAA -aBM -aCU -aEk -aFG -aHd -aIi -aJD -aLc -aMR -aBM -aQd -aRM -aTu -aUW -aWR -ehV -baa -bbw -bcH -bee -bfY -bhP -bbv -bkW -bmV -boQ -bqt +aaO +ajz +ake +akI +aje +akI +ans +akI +akI +akI +aje +akI +atm +aup +avQ +awS +ayl +azl +aAs +aBI +aCO +aDO +aFe +aGo +aHG +aJf +aKE +aLO +aNl +aOM +aQB +aFe +aTP +aVy +aXg +aYK +baH +aTO +bdO +bfl +bgy +bhX +bjO +blF +bfk +boO +bqS +bsN +buq aaa -bsS -bun -bvO -bxJ -bzH -bBs -bDa -bEJ -bGx -bIv -bKB -bMA -bOw -bQu -bSE -bUN -bWB -bYh -bZY -ecA -cdG -cfg -bQr -bQs -cjB -cjB -cmt -cnW -cpD -cqR -csk -ctQ -cvu -cwN -cyu -cwN -cwN -cvu -cDW -cFF -cGY -cIs -cKg -cLK -cNv -cPk -cQX -cSr -cKs -cVM -cXA -cYZ -cXz -dbJ -ddb -cVL -eqg -dhM -djN -dlz -dmR -eqg -dpC -drf -doa -duf -dvk -dwK -dxR -dyX -dAm -dBE -dCV -dwK -dEV -dGu -dgB -dgB -dJi -dJi -dJi -dgB -dMQ -egF -egL -dPA -dUG -dPA -dPA -dPA -dPA -dPA -dPA -dPA -dUG -dPA -dPA -dPA -dXi -dXQ -dYD -dZr -dZR -aaf -agg -aaf -agg +bwR +byo +bzO +bBK +bDK +bFx +bHh +bIT +bKH +bME +bON +bQN +bSJ +bUI +bWX +bZj +caZ +ccG +cew +cgo +cih +cjH +bUF +bUG +coe +coe +cqY +csA +cui +cvy +cwQ +cyw +cAb +cBv +cDc +cBv +cBv +cAb +cIP +cKC +cMa +cNz +cPm +cQS +cSD +cUs +cWi +cXF +cPy +dbb +dcN +del +dcM +dgU +dip +dba +dlT +dng +dph +dqU +dso +dlT +dvd +dwH +dvc +dzN +dAQ +dCy +dDI +dER +dGh +dHC +dIU +dCy +dKV +dMu +dNO +dNO +dPl +dPl +dPl +dNO +dST +dTJ +dUB +dVl +dWg +dVl +dVl +dVl +dVl +dVl +dVl +dVl +dWg +dVl +dVl +dVl +eei +eeR +efF +egr +egE +aad +ajr +aad +ajr aaa aaa aaa @@ -142524,183 +144630,183 @@ aaa aaa aaa aaa -aaH +abj aaa -aaf +aad aaa aaa -abq -abU -abV -acl -abV -abW -abW -abW -abW -adL -acl -abV -abV +acZ +adu +adv +aef +adv +adw +adw +adw +adw +agG +aef +adv +adv aaa aaa aaa aaa -aaD -agu -agZ -ahK -afO -ajw -aky -alt -amo -amo -afO -apj -aqD -arC -asW -asW -asW -asW -asW -asW -azE -asW -aBM -aCV -aEl -aFH -aHe -aIj -aJE -aLd -aMS -aEk -aQe -aRN -aTv -aUX -aWS -aYB -bab -bbx -bcI -bef -bbz -bhQ -bbv -bkW -bmW -boR -bqt +abf +ajF +aki +akO +ajd +amt +ant +aop +api +api +ajd +arR +atn +auq +avQ +avQ +avQ +avQ +avQ +avQ +aCP +avQ +aFe +aGp +aHH +aJg +aKF +aLP +aNm +aON +aQC +aHG +aTQ +aVz +aXh +aYL +baI +bcp +bdP +bfm +bgz +bhY +bfo +blG +bfk +boO +bqT +bsO +buq aaa -bsT -buo -bvS -bvP -bzy -bBt -bDb -bEK -bGx -bIw -bKC -bMB -bOx -bQs -bSE -bUO -bWC -bYl -cae -ecA -cdH -cfh -cgx -bQs +bwS +byp +bzS +bzP +bDB +bFy +bHi +bIU +bKH +bMF +bOO +bQO +bSK +bUG +bWX +bZk +cba +ccJ +ceB +cgo +cii +cjI +cla +bUG aaa aaa -cmt -cnV -cpE -cmt -csl -cqK -cvs -cwH -cyv -cAa -cBG -cCX -bkP -bmW -cGY -cIs -cKh -cLL -cNw -cPl -cQY -cSs -cUe -cVN -cXB -cZa -dak -dbK -ddc -deP -eqg -dhN -djO -dlA -eqo -eqg -dpD -drg -dsG -dug -dvl -dwK -dxS -dyY -dAn -dBF -dyY -dwK -dEW -dGv -dHP +cqY +csz +cuj +cqY +cwR +cvr +czZ +cBp +cDd +cEL +cGv +cHN +boH +bqT +cMa +cNz +cPn +cQT +cSE +cUt +cWj +cXG +cZt +dbc +dcO +dem +dfw +dgV +diq +dkg +dlT +dnh +dpi +dqV +dsp +dlT +dve +dwI +dyi +dzO +dAR +dCy +dDJ +dES +dGi +dHD +dES +dCy +dKW +dMv +dNS aaa -aaf +aad aaa -aaf +aad aaa -dMY -dMY -dMY -dMY -dMY -dMY -dMY -dRe -dRY -dRe -dMY -dMY -dUH -dMY -dMY -dRe -dXj -dXR -ahM -dZs -dZU -aaf -agg +dSU +dSU +dSU +dSU +dSU +dSU +dSU +dYI +dZr +dYI +dSU +dSU +ecc +dSU +dSU +dYI +eej +eeS +efG +egs +egH +aad +ajr aaa aaa aaa @@ -142781,180 +144887,180 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aax -egV -aax -aaf +aad +aad +aad +aad +aad +aad +aad +aaO +aea +aaO +aad aaa aaa -aaf -aax -egV -aax -aaf -aaf -aaf -aaf -aaf -aax -agl -agN -ahL -ahL -ajx -akz -alu +aad +aaO +aea +aaO +aad +aad +aad +aad +aad +aaO +ajw +ajV +akP +akP amu -ahL -ahN -aeX -aqE -arD -asW -atZ -aua -awq -ejv -ayC -azF -aAB -aBN -aCW -aEl -aFI -aHf -aIk -aJF -aLe -aMT -aOu -aQf -aRO -aTw -aUY -aWT -aYC -bac -bby -bcJ -beg -bfZ -bhR -bjF -bkW -bmX -boR -bqt +anu +aoq +apo +akP +akR +aig +ato +aur +avQ +awT +awU +azm +aAt +aBJ +aCQ +aDP +aFf +aGq +aHH +aJh +aKG +aLQ +aNn +aOO +aQD +aSe +aTR +aVA +aXi +aYM +baJ +bcq +bdQ +bfn +bgA +bhZ +bjP +blH +bnv +boO +bqU +bsO +buq aaa -bsT -bup -bvT -bxK -bzy -bBd -bCN -bEB -bGx -bGx -bGx -bGx -bGx -bQs -bQr -bQr -bQr -bYm -caf -cbO -cdA -cdA -cgw -cib -aaf -aaf -cmu -cnX -cpF -cqK -aaf -aaf +bwS +byq +bzT +bBL +bDB +bFi +bGU +bIL +bKH +bKH +bKH +bKH +bKH +bUG +bUF +bUF +bUF +ccK +ceC +cgp +cic +cic +ckZ +cmD +aad +aad +cqZ +csB +cuk cvr -cwO -cyw -cAg -cBH -cCW -bkP -bmX -cGY -cIt -cKi -cLM -cNx -cPm -cQZ -cSt -cUf -cVO -cXC -cZb -cZb -dbL -ddd -deQ -eqg -dhO -djP -dlB -dmS -dob -dpE -drh -dsH -duh -dvm -dwL -dxT -dyZ -dAo -dBG -dCW -dwK -dEX -dGw -dHP -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf +aad +aad +czY +cBw +cDe +cER +cGw +cHM +boH +bqU +cMa +cNA +cPo +cQU +cSF +cUu +cWk +cXH +cZu +dbd +dcP +den +den +dgW +dir +dkh +dlT +dni +dpj +dqW +dsq +dtA +dvf +dwJ +dyj +dzP +dAS +dCz +dDK +dET +dGj +dHE +dIV +dCy +dKX +dMw +dNS +aad +aad +aad +aad +aad +aad +aad +aad +aad aaa aaa -dMY -dPA -dMY -dPA -dMY -aaf -aaf -aaf -dMY -dPA -dXk -dXS -dXk -aaf +dSU +dVl +dSU +dVl +dSU +aad +aad +aad +dSU +dVl +eek +eeT +eek +aad aaa aaa aaa @@ -143036,157 +145142,157 @@ aaa aaa aaa aaa -aaf -aaf -aaf +aad +aad +aad aaa -aaf +aad aaa aaa -aaf +aad aaa -aax -ack -aax -aax -aax -aax -aax -aax -ack -aax +aaO +aeb +aaO +aaO +aaO +aaO +aaO +aaO +aeb +aaO aaa -aaf +aad aaa aaa aaa -aaD -agv -equ -ahL -aiv -ajy -akA -alv +abf +ajG +ajY +akP +alz amv -anF -ahL -apk -aqF -arE -asW -aua -avs -awr -axo -ayD -azG -aAC -aBO -aCX -aEm -aFJ -aHg -aIl -aIl -aLf -aMU -aOv -aQg -aRP -aTx -aUZ -aWU -ehW -bad -bbz -bcK -beh -bga -bhS -bjG -bkX -bmY -boS -bqt +anv +aor +app +aqr +akP +arS +atp +aus +avQ +awU +aym +azn +aAu +aBK +aCR +aDQ +aFg +aGr +aHI +aJi +aKH +aLR +aLR +aOP +aQE +aSf +aTS +aVB +aXj +aYN +baK +aYJ +bdR +bfo +bgB +bia +bjQ +blI +bnw +boP +bqV +bsP +buq aaa -bsU -bue -bsV -bxL -bzy -bBd -bCN -bEL -bEL -bIx -bKD -bMC -bEL -bQr -bSI -bQr -bQr -bYn -cag -cbP -bQr -bSI -bQr -bQs +bwT +byf +bwU +bBM +bDB +bFi +bGU +bIV +bIV +bMG +bOP +bQP +bIV +bUF +bXb +bUF +bUF +ccL +ceD +cgq +bUF +bXb +bUF +bUG aaa aaa -cmt -cnY -cpG -cqS -cqS -ctR -cqS -cqS -cqS -cqS -cqS -cqS -cDX -bmX -cGY -cIt -cKi -cLL -cNy -cPn -cLM -cSu -cUg -cVP -cXD -cZc -dal -dbM -dde -deR -dgC -dhP -djQ -dlC -dmT -doc -dpF -dri -dsI -dui -dvn +cqY +csC +cul +cvz +cvz +cyx +cvz +cvz +cvz +cvz +cvz +cvz +cIQ +bqU +cMa +cNA +cPo +cQT +cSG +cUv +cQU +cXI +cZv +dbe +dcQ +deo +dfx +dgX +dis +dki +dlU +dnj +dpk +dqX +dsr +dtB +dvg dwK -dxU -dza -dAp -dBH -dCX -dwK -dEY -dGx -dHP +dyk +dzQ +dAT +dCy +dDL +dEU +dGk +dHF +dIW +dCy +dKY +dMx +dNS aaa aaa aaa @@ -143198,19 +145304,19 @@ aaa aaa aaa aaa -dMY -epO -dMY -epO -dMY +dSU +dYJ +dSU +dYJ +dSU aaa aaa aaa -dMY -epO -dXk -epS -dXk +dSU +dYJ +eek +eeU +eek aaa aaa aaa @@ -143292,185 +145398,185 @@ aaa aaa aaa aaa -aay -aaD -aaD -aaD -aaD -aaD -aax -aax -aaD -abR -aax -egW -aax -acK -acY -adi -adr -aax -egU -aax -abP -aaD -aax -aax -aaD -afR -agl -agN -ahM -aiw -ajz -akB -alw +aaP +abf +abf +abf +abf +abf +aaO +aaO +abf +ads +aaO +aej +aaO +afb +afz +afV +agk +aaO +aec +aaO +adq +abf +aaO +aaO +abf +ajh +ajw +ajV +akQ +alA amw -anG -aoo -apl -aqG -arF -asX -aub -avt -aws -axp -ayE -azH -aAD -aBP -aCY -aEn -aFK -aHh -aIm -aJG -aLg -aBM -aBM -aQh -aRQ -aTy -aUZ -aWV -eib -bae -bbz -bcL -bei -bbz -bhT -bjH -bkS -bmZ -boJ -bqu -aaf -aaf -aaf -bsS -bxM -bzI -bBj -bDc -bEM -bGB -bIy -bKE -bMD -bEL -bEL -bEL -bQC -bQC -bQC -bQC -bQC -bQC -cfi -cfi -cfi -cfi -cfi -cfi -eiQ -eiS -cqS -csm -ctS -cvv -cwP -cyx -cAh -cBI -cqS -bkP -bmX -cGY -cIs -cKj -erQ -cNx -cPo -cLO -cSv -cUh -cVQ -cXE -cZd -dam -dbN -cZb -deS -eqg -dhQ -djR -dlD -dmU -eqg -dpG -drj -dsJ -duj -dvo -dwM -dxV -dxX -dAq -dBI -dxW -dwK -dEZ -dGy -dHP +anw +aos +apq +aqs +aqZ +arT +atq +aut +avR +awV +ayn +azo +aAv +aBL +aCS +aDR +aFh +aGs +aHJ +aJj +aKI +aLS +aNo +aOQ +aFe +aFe +aTT +aVC +aXk +aYN +baL +bcr +bdS +bfo +bgC +bib +bfo +blJ +bnx +boK +bqW +bsG +bur +aad +aad +aad +bwR +bBN +bDL +bFo +bHj +bIW +bKL +bMH +bOQ +bQQ +bIV +bIV +bIV +bUQ +bUQ +bUQ +bUQ +bUQ +bUQ +cjJ +cjJ +cjJ +cjJ +cjJ +cjJ +csD +cum +cvz +cwS +cyy +cAc +cBx +cDf +cES +cGx +cvz +boH +bqU +cMa +cNz +cPp +cQV +cSF +cUw +cQX +cXJ +cZw +dbf +dcR +dep +dfy +dgY +den +dkj +dlT +dnk +dpl +dqY +dss +dlT +dvh +dwL +dyl +dzR +dAU +dCA +dDM +dDO +dGl +dHG +dDN +dCy +dKZ +dMy +dNS aaa aaa aaa aaa -dJk -dKS -dKT -dKT -dKU -dKU -dKT -dKT -dRg -dRZ -dSR -dKT -dKU -dKU -dKU -dKT -dRg -dKT -dXT -dKT -dKT -dKT -dKT +dQT +dSV +dSW +dSW +dSX +dSX +dSW +dSW +dYK +dZs +eab +dSW +dSX +dSX +dSX +dSW +dYK +dSW +eeV +dSW +dSW +dSW +dSW aaa aaa aaa @@ -143548,186 +145654,186 @@ aaa aaa aaa aaa -aau -aau -aau -aaM -aaR -aax -abb -aaP -aaP -abG -aaP -aaP -aaP -acq -acF -acZ -acF -acF -acF -acF -acF -acF -aeQ -acF -acF -afz -afP -agw -aha -ahN -aix -ajA -akC -alx +aaC +aaC +aaC +abt +abE +aaO +aca +abC +abC +adb +abC +abC +abC +aew +aeW +afA +aeW +aeW +aeW +aeW +aeW +aeW +ahW +aeW +aeW +aiS +aje +ajH +akj +akR +alB amx -anH -ahL -apm -aqH -arG -asY -auc -avu -awt -axq -ayF -azI -aAE -aBN -aCZ -aEo -aFL -aEo -aEo -aJH -aEo -aMV -aOw -aQi -aRQ -aTz -aVa -aWU -ehW -baf -bbA -bcM -bej -bby -bhU -bjI -bkV -bmX -boR -bqt +anx +aot +apr +aqt +akP +arU +atr +auu +avS +awW +ayo +azp +aAw +aBM +aCT +aDS +aFf +aGt +aHK +aJk +aHK +aHK +aNp +aHK +aQF +aSg +aTU +aVC +aXl +aYO +baK +aYJ +bdT +bfp +bgD +bic +bfn +blK +bny +boN +bqU +bsO +buq aaa -aaf +aad aaa -bsY -bxN -bzJ -bBd -bDd -bEL -bGC -bIz -bIB -bME -bOy -bQy -bSJ -bUP -bWD -bYo -cah -cbQ -bQC -cfj -cfj -cid -cjH -clh -cfi -cnV -cpH -cqT -csn -ctT -cvw -cwQ -cwQ -cAi -cBJ -cqT -cDY -bmY -cGZ -cIs -cKk -cLL -cNx -cPp -cLM -cSw -cKs -cVR -cXF -cXF -cXF -dbO -cXF -deT -dgD -dgD -dgD -dgD -dgD -dod -dpH -drk -dsK -duk -dvp -dwN -dxS -dzb -dAr -dBJ -egt -dwK -dFa -eso -dHQ +bwX +bBO +bDM +bFi +bHk +bIV +bKM +bMI +bMK +bQR +bSL +bUL +bXc +bZl +cbb +ccM +ceE +cgr +bUQ +cjK +cjK +cmG +cok +cpN +cjJ +csz +cun +cvA +cwT +cyz +cAd +cBy +cBy +cET +cGy +cvA +cIR +bqV +cMb +cNz +cPq +cQT +cSF +cUx +cQU +cXK +cPy +dbg +dcS +dcS +dcS +dgZ +dcS +dkk +dlV +dlV +dlV +dlV +dlV +dtC +dvi +dwM +dym +dzS +dAV +dCB +dDJ +dEV +dGm +dHH +dIX +dCy +dLa +dMz +dNT aaa aaa aaa -dJj -dKd -dKT -dLY -ehr -dNT -dNT -dPB -dMZ -dOS -ehs -dOS -dMZ -dNT -dNT -dNT -ehr -dOS -dKT -dXU -dYF +dQS +dRY +dSW +dTK +dUC +dVm +dVm +dWX +dXP +dWj dZt -dZV -dKT +dWj +dXP +dVm +dVm +dVm +dUC +dWj +dSW +eeW +efH +egt +egI +dSW aaa aaa aaa @@ -143804,187 +145910,187 @@ aaa aaa aaa aaa -aaq -aav -aaA -aaF -aaN -aaS -aaW -abc +aat +aaD +aaR abh -abh -abh -abh -abh -abh -acr -abh -ada -abh -abh -adJ -abh -abh -abh -abh -abh -abh -afA -aba -agx -ahb -ahL -ahL -ahL -ahL -ahL -ahL -ahL -ahL -ajD -aiB -arH -asZ -aud -avv -awu -axr -ayG -azJ -aAF -aBQ -aBQ -aEp -aFM -aHi -aBQ -aBQ -aLh -aHi -aOx -aQj -aRR -aTA -aVb -aWX -ehW -baf -bbz -bcK -bek -bbz -bhR -bjF -bkY -bna -boR -bqt +abu +abF +abQ +acb +aco +aco +aco +aco +aco +aco +aex +aco +afB +aco +aco +agE +aco +aco +aco +aco +aco +aco +aiT +abZ +ajI +akk +akP +akP +akP +akP +akP +akP +akP +akP +amA +alF +auv +avT +awX +ayp +azq +aAx +aBN +aCU +aDT +aFi +aFi +aHL +aJl +aKJ +aFi +aFi +aOR +aKJ +aSh +aTV +aVD +aXm +aYP +baM +aYJ +bdT +bfo +bgB +bid +bfo +blH +bnv +boQ +bqX +bsO +buq aaa -aaf +aad aaa -bsV -bxC -bzA -bBu -bDe -bEN -bGD -bIA -bKF -bMF -bOz -bQz -bSK +bwU +bBC +bDD +bFz +bHl +bIX +bKN +bMJ +bOR +bQS +bSM +bUM +bXd +bZm +cbc +ccN +ceF +cgs bUQ -bWE -bYp -cai -cbR -bQC -cfj -cfj -cie -cjI -cli -cmx -cnZ -cpI -cqU -cso -ctU -cvx -cwR -cyy -cAj -cBK -cCZ -cDZ -bna -cGY -cIu -cKl -cLN -cNx -cPq -cLL -cSx -cUe -cVS -cXG -cZe -dan -dbP -ddf -deU -dgD -dhR -djS -dlE -dmV -dod -dpI -drl -dsL -dul -dvq +cjK +cjK +cmH +col +cpO +crc +csE +cuo +cvB +cwU +cyA +cAe +cBz +cDg +cEU +cGz +cHP +cIS +bqX +cMa +cNB +cPr +cQW +cSF +cUy +cQT +cXL +cZt +dbh +dcT +deq +dfz +dha +dit +dkl +dlV +dnl +dpm +dqZ +dst +dtC +dvj dwN -dxW -dxW -dAq -dBI -dxX -dwK -dEX -dGA -dHP +dyn +dzT +dAW +dCB +dDN +dDN +dGl +dHG +dDO +dCy +dKX +dMA +dNS aaa aaa aaa -dJj -dKd -dKU -dLZ -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dWH -dXl -dXU -dXU -dXU -dZV -dKU +dQS +dRY +dSX +dTL +dUD +dUD +dUD +dUD +dUD +dUD +dUD +dUD +dUD +dUD +dUD +dUD +dUD +edE +eel +eeW +eeW +eeW +egI +dSX aaa aaa aaa @@ -144062,186 +146168,186 @@ aaa aaa aaa aaa -aau -aau -aau -aaM -aaT -aax -abd -aaQ -aaQ -abH -aaQ -aaQ -aaQ -aaQ -aaQ -adb -aaQ -aaQ -adK -aec -aea -aew -aeR -aea -aea -afB -afS -agj -ahc -aeX -aiy -ajB -akD -aly -aly -anI -agA -agA -aqI -arI -asZ -aue -avw -awv -axs -ayH -azK -aAG -aBQ -aDa -aEq -aFN -aHj -aIn -aJI -aLi -aMW -aOy -aQk -aRQ -eqI -aUZ -aWY -ehW -baf -bbz -eqQ -bei -bbz -bhV -bbv -bkW -bmX -boR -bqt +aaC +aaC +aaC +abt +abG +aaO +acc +abD +abD +adc +abD +abD +abD +abD +abD +afC +abD +abD +agF +agY +agW +ahz +ahX +agW +agW +aiU +aji +aju +akl +aig +alC +amy +any +aou +aou +aqu +ajL +ajL +ats +auw +avT +awY +ayq +azr +aAy +aBO +aCV +aDU +aFi +aGu +aHM +aJm +aKK +aLT +aNq +aOS +aQG +aSi +aTW +aVC +aXn +aYN +baN +aYJ +bdT +bfo +bgE +bib +bfo +blL +bfk +boO +bqU +bsO +buq aaa -aaf +aad aaa -bsV -bxO -bzK -bBv -ere -bEO -bGE -bIB -bKG -bMG -bOA -bQA -bSL -bQC -bWF -bYq -caj -cbS -bQC -cfk -cfk -cif +bwU +bBP +bDN +bFA +bHm +bIY +bKO +bMK +bOS +bQT +bSN +bUN +bXe +bUQ +cbd +ccO +ceG +cgt +bUQ +cjL +cjL +cmI +com +cpP cjJ -clj -cfi -coa -cpG -cqS -csp -ctV -cvy -cwS -cyz -cAk -cBL -cqS -bkP -bmX -cGY -cIs -cKm -cLL -cNx -cPp -cLM -cSy -cKs -cVT -cXz -cZf -cXz -dbQ -ddg -deV -dgD -dhS -djT -dlF -dmW -dod -dpJ -drm -dsM -dum -dvr -dwN -dxS -dzc -dAs -dBK -dCZ -dwK -dFb -dGB -dHP +csF +cul +cvz +cwV +cyB +cAf +cBA +cDh +cEV +cGA +cvz +boH +bqU +cMa +cNz +cPs +cQT +cSF +cUx +cQU +cXM +cPy +dbi +dcM +der +dcM +dhb +diu +dkm +dlV +dnm +dpn +dra +dsu +dtC +dvk +dwO +dyo +dzU +dAX +dCB +dDJ +dEW +dGn +dHI +dIY +dCy +dLb +dMB +dNS aaa aaa aaa -dJj -dKd -dKU -dLZ -dNa -dNU -dNU -dNU -dNU -dNU -dNa -dNU -dNU -dNU -dNU -dNU -dNa -dWH -dKT -dXV -dXU -dXU -ehw -dKT +dQS +dRY +dSX +dTL +dUD +dVn +dVn +dVn +dVn +dVn +dUD +dVn +dVn +dVn +dVn +dVn +dUD +edE +dSW +eeX +eeW +eeW +egJ +dSW aaa aaa aaa @@ -144320,191 +146426,191 @@ aaa aaa aaa aaa -aaB -aaG -aaG -aaG -aaG -aaG -aaG -aaG -aaG -aaG -aaG -aaG -acv -acL -adc -aaG -aaG -acv -aed -aeo -aaG -aaG -aeX -afm -aeX -aeX -agy -ahd -aeX -aiz -ajC -ajC -alz -amy -anJ -aop -ahg -aqJ -arJ -asZ -aue -avv -aww -axt -ayI -azL -aAH -aBQ -aDb -aEr -aFO -aHk -aIo -aJJ -aLj -aMX -aOz -aQl -aRS -aTB -aUZ -aWZ -aYD -bag -bbz -bcL -bei -bbz -bhW -bbv -bkW -bmX -efz -boZ -aaf -aaf -aaf -bsV -bxP -bzy -bBd -bDf -bEL -bGF -bIB -bKH -bMH -ebJ -bOB -bSM -bQC -bWG -bYr -cak -cbT -cdI -cfl -cfk -cig -cjK -clk -cmy -cob -cpJ -cqS -csq -ctW -cvz -cwT -cyA -cAl -cBM -cqS -bkP -eqV -cGY -cIs -cKn -cLM -cNx -erR -cLL -cSz -cIs -cVU -cXH -egd -cKs -dbR -ddh -deW -dgD -dhT -djU -dlG -dmX -dod -dpK -drn -dsN -dun -dvs -dwN -dxX -dxW -dAq -dBI -dDa -dwK -dEZ -dGC -dHQ -aaf -aaa -aaa -dJk -dJk -dKT -dLZ -dNa -dNV -dOQ -dPC -dQp -dNV -dNa -dSS -dQp -dUb -dOR -dSS -dNa -dWH -dKU -dXV -dXU -dZu -dZV -dKT -dKT -dRZ -dKU -dKT -dKT +aaS +abi +abi +abi +abi +abi +abi +abi +abi +abi +abi +abi +aeB +afc +afD +abi +abi +aeB +agZ +aht +abi +abi +aig +aiB +aig +aig +ajJ +akm +aig +alD +amz +amz +aov +aps +aqv +ara +arV +att +aux +avT +awY +ayp +azs +aAz +aBP +aCW +aDV +aFi +aGv +aHN +aJn +aKL +aLU +aNr +aOT +aQH +aSj +aTX +aVE +aXo +aYN +baO +bcs +bdU +bfo +bgC +bib +bfo +blM +bfk +boO +bqU +bsQ +bsW aad +aad +aad +bwU +bBQ +bDB +bFi +bHn +bIV +bKP +bMK +bOT +bQU +bSO +bUO +bXf +bUQ +cbe +ccP +ceH +cgu +cij +cjM +cjL +cmJ +con +cpQ +crd +csG +cup +cvz +cwW +cyC +cAg +cBB +cDi +cEW +cGB +cvz +boH +bqY +cMa +cNz +cPt +cQU +cSF +cUz +cQT +cXN +cNz +dbj +dcU +des +cPy +dhc +div +dkn +dlV +dnn +dpo +drb +dsv +dtC +dvl +dwP +dyp +dzV +dAY +dCB +dDO +dDN +dGl +dHG +dIZ +dCy +dKZ +dMC +dNT +aad +aaa +aaa +dQT +dQT +dSW +dTL +dUD +dVo +dWh +dWY +dXQ +dVo +dUD +eac +dXQ +ebn +dWi +eac +dUD +edE +dSX +eeX +eeW +egu +egI +dSW +dSW +dZs +dSX +dSW +dSW +aab aaa aaa aaa @@ -144578,189 +146684,189 @@ aaa aaa aaa aaa -aaf -aaf -aaG -aaX -aaG +aad +aad abi -abr -abI -abX -acd -aaG -acw -acM +abR +abi +acp +acG add -adj -adu -adQ -aee -adQ -aeA -aaG -aeY -afn -afn -aeX -agz -ahe -aeX -aiA -ajD -aeX -aeX -aeX -afF -aeX -aeX -aeX -arK -asZ -auf -avx -awx -axu -aua -azM -aAI -aBQ -aDc -aEs -aFP -aHl -aIp -aJK -aLk -aMY -aOA -aQm -aRT -aTC -aVc -aXa -ehV -bah -bag -bcN -bek -bgb -bhX -aZZ -bkZ -bmX +adx +adO +abi +aeC +afd +afE +afW +agm +agM +aha +agM +ahD +abi +aih +aiC +aiC +aig +ajK +akn +aig +alE +amA +aig +aig +aig +aqw +aig +aig +aig +auy +avT +awZ +ayr +azt +aAA +awU +aCX +aDW +aFi +aGw +aHO +aJo +aKM +aLV +aNs +aOU +aQI +aSk +aTY +aVF +aXp +aYQ +baP +aTO +bdV +bdU +bgF +bid +bjR +blN +bdN boR -bqt +bqU +bsO +buq aaa -aaf +aad aaa -bsV -bxz -bzy -bBd -bDg -bEL -bGG -bIC -bKI -bIB -bOC -bQB -bSN -bUR -bWH -bYr -cal -cbU +bwU +bBz +bDB +bFi +bHo +bIV +bKQ +bML +bOU +bMK +bSP bUP -cfm -cgz -cih -cjL -cll -cmz -coc -cpK -cqS -cqS -ctX -cvA -cwU -cyB -cAm -cBN -cqS -cEa -bmX -cHa -cIv -cKo -cLO -cNz -cPr -cLM -cSA -cUi -cVV -cXI -cZh -dao -dbS -ddi -deX -dgE -dhU -djU -dlH -dmY -doe -dpL -dro -dsO -duo -dvt -dwN -dxY -dzd -dAt -dBL -dDb -dwK +bXg +bZn +cbf +ccP +ceI +cgv +bZl +cjN +clc +cmK +coo +cpR +cre +csH +cuq +cvz +cvz +cyD +cAh +cBC +cDj +cEX +cGC +cvz +cIT +bqU +cMc +cNC +cPu +cQX +cSH +cUA +cQU +cXO +cZx +dbk +dcV +det +dfA +dhd +diw +dko +dlW +dno +dpo +drc +dsw +dtD +dvm +dwQ +dyq +dzW +dAZ +dCB +dDP dEX -dGA -dHP +dGo +dHJ +dJa +dCy +dKX +dMA +dNS aaa aaa aaa -dJj -dKd -dKT -ehp -dNa -dNT -dNT -dNT -dNT -dNT -dNa -dNT -dNT -dNT -dNT -dNT -dNa -dWH -dKT -dXW -dXU -dZv -dZW -dKT -eat -eax -eaD -eaL -dKT +dQS +dRY +dSW +dTM +dUD +dVm +dVm +dVm +dVm +dVm +dUD +dVm +dVm +dVm +dVm +dVm +dUD +edE +dSW +eeY +eeW +egv +egK +dSW +egR +egW +ehb +ehi +dSW aaa aaa aaa @@ -144835,189 +146941,189 @@ aaa aaa aaa aaa -aaH -aaH -aaU -aaY -abe abj -abs -abJ -abJ -ace -acp -acx -acN +abj +abH +abS +acd +acq +acH ade -adk -adv -eqt -aef -adR -aeB -aeS -aeZ -afo -afC -aeX -aeX -aeX -aeX -aiB -ajE -aeX -alA -amz -anK -amz -apn -aeX -arL -asZ -asW -avy -awy -asW -ayJ -asW -asW +ade +adP +aek +aeD +afe +afF +afX +agn +agN +ahb +ahu +ahE +ahY +aii +aiD +aiV +aig +aig +aig +aig +alF +amB +aig +aow +apt +aqx +apt +arW +aig +auz +avT +avQ +ays +azu +avQ aBQ -aBQ -aEt -aFQ -aHm -aBQ -aBQ -aEp -aMZ -aOx -atc -aRU -aTD -ata -aXb -aXb -aXf -bbB -bcO -bel -aXf -aXb -aXb -bla -bmX -boR -bqt +avQ +avQ +aFi +aFi +aHP +aJp +aKN +aFi +aFi +aHL +aQJ +aSh +avW +aVG +aXq +avU +baQ +baQ +baU +bfq +bgG +bie +baU +baQ +baQ +boS +bqU +bsO +buq aaa -aaf +aad aaa -bsV -bxw -bzL -bBc -bCL -bEL -bGH -bID -bKJ -bMI -bEL -bQC -bQC -bQC -bWI -bYs -cam -cbV -bQC -cfn -cgA -cii -cjM -clm -cfi -cod -ery -cqV -cqS -ctY -cvB -cwV -cyC -cAn -cBO -cDa -cDL -bmX -cGY -cIt -cKp -cLM -cNx -cPm -cLL -cSA -cUj +bwU +bBw +bDO +bFh +bGS +bIV +bKR +bMM +bOV +bQV +bIV +bUQ +bUQ +bUQ +cbg +ccQ +ceJ +cgw +bUQ +cjO +cld +cmL +cop +cpS +cjJ +csI +cur +cvC +cvz +cyE +cAi +cBD +cDk +cEY +cGD +cHQ +cIE +bqU +cMa +cNA +cPv +cQU +cSF cUu -cXJ -cZi -dap -dbT -ddj -deY -dgE -dhV -djV -dlI -dmZ -dof -dpM -drp -dsP -dup -dvu -dwN -dxZ -dze -dAu -dBM -dDc -dwK +cQT +cXO +cZy +cZJ +dcW +deu +dfB +dhe +dix +dkp +dlW +dnp +dpp +drd +dsx +dtE +dvn +dwR +dyr +dzX +dBa +dCB +dDQ dEY -dGz -dHP +dGp +dHK +dJb +dCy +dKY +dMD +dNS aaa aaa aaa -dJj -dKd -dKU -dLZ -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dWI -dKT -dKT -dXl -dKU -dRZ -dKT -eau -eay -eaE -eaM -dKU +dQS +dRY +dSX +dTL +dUD +dUD +dUD +dUD +dUD +dUD +dUD +dUD +dUD +dUD +dUD +dUD +dUD +edF +dSW +dSW +eel +dSX +dZs +dSW +egS +egX +ehc +ehj +dSX aaa aaa aaa @@ -145093,188 +147199,188 @@ aaa aaa aaa aaa -aaf -aaG -aaZ -aaG -abk -abt -esv -epT -acf -aaG -acy +aad +abi +abT +abi +acr +acI adf -adl -esx -abK -abK -aeg -aep -aeC -aaG -afa -afp -afD -afT -agA -ahf -ahO -aiC -ajF -aeX -alB -amA -anL -aor -alC -aeX -arM -ata -aug -avz -awz -axv -ayK -azN -aAJ -avF -aDd -aEu -aFR -aHn -aIq -aJL -aLl -aNa -aOB -aQn -aRV -aTE -aVd -aXc -aYE -bai -bbC -bcP -bem -bgc -bhY -aXb -blb -bmX -boR -bqt +ady +adQ +abi +aeE +aff +afG +afY +ago +ago +ahc +ahv +ahF +abi +aij +aiE +aiW +ajj +ajL +ako +akS +alG +amC +aig +aox +apu +aqy +arb +aoy +aig +auA +avU +axa +ayt +azv +aAB +aBR +aCY +aDX +ayz +aGx +aHQ +aJq +aKO +aLW +aNt +aOV +aQK +aSl +aTZ +aVH +aXr +aYR +baR +bct +bdW +bfr +bgH +bif +bjS +blO +baQ +boT +bqU +bsO +buq aaa -aaf +aad aaa -bsV -bxy -bzM -bBw -bxy -bEL -bGI -bIE -bIE -bIB -bOD -bQC -bSO -bUS -bWJ -bYt -can -cbW -bQC -cfo -cfk -cij -cjN -cln -cmA -cnV -cpG -cqW -cqS -ctZ -cvC -cwW -cyD -cAo -cBP -cDb -cDL -bmX -cGY -cIs -cKq -cLL -cNw -cPl -cLM -cSA -cUk -cVX -cLM -cSA -cIs -dbT -ddk -deY -dgE -dhW -djW -dlJ -dna -dog -dpN -drq -dsQ -duq -dvv -dwN -dwK -dwK -dAv -dBN -dwK -dwK -dFc -dGD -dHQ -aaf +bwU +bBy +bDP +bFB +bBy +bIV +bKS +bMN +bMN +bMK +bSQ +bUQ +bXh +bZo +cbh +ccR +ceK +cgx +bUQ +cjP +cjL +cmM +coq +cpT +crf +csz +cul +cvD +cvz +cyF +cAj +cBE +cDl +cEZ +cGE +cHR +cIE +bqU +cMa +cNz +cPw +cQT +cSE +cUt +cQU +cXO +cZz +dbl +cQU +cXO +cNz +dhe +diy +dkp +dlW +dnq +dpq +dre +dsy +dtF +dvo +dwS +dys +dzY +dBb +dCB +dCy +dCy +dGq +dHL +dCy +dCy +dLc +dME +dNT +aad aaa aaa -dJk -dJk -dKT -ehp -dNa -dNU -dNU -dNU -dNU -dNU -dNa -dNU -dNU -dNU -dNU -dNU -dNa -dWH -dKU -dXX -dYG -dZw -dZX -dNc -eav -eav -eaF -eaN -dKU +dQT +dQT +dSW +dTM +dUD +dVn +dVn +dVn +dVn +dVn +dUD +dVn +dVn +dVn +dVn +dVn +dUD +edE +dSX +eeZ +efI +egw +egL +dUF +egT +egT +ehd +ehk +dSX aaa aaa aaa @@ -145339,199 +147445,199 @@ aaa aaa aaa aaa +aab +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aac aad +abi +abi +ace +acs +acJ +adg +ace +adR +abi +adR +adR +adR +adR +agp +adR +adR +adR +adR +abi +aik +aiF +aiX +ajk +ajM +akp +aiX +alH +amD +aig +aoy +apv +aqz +apu +arX +aig +auB +avU +axb +ayu +azw +aAC +aBS +aCZ +aDY +ayA +azy +aHR +aJr +aDb +azy +azy +aOW +axf +aSm +aUa +aVI +aXs +aYS +baS +bcu +bdX +bfs +bgI +big +bjT +blP +baU +boO +bqY +bsR +bsW +bvJ +bvJ +bvJ +bwU +bBx +bDB +bFi +bHp +bIV +bKT +bMO +bOW +bQW +bSR +bUQ +bXi +bZp +cbi +ccS +ceL +cgy +bUQ +cjQ +cjL +cmN +cor +cpU +cjJ +csz +cul +cvE +cvz +cyG +cAk +cBF +cDm +cFa +cGF +cHS +cIE +bqU +cMa +cNz +cPx +cQY +cSI +cUB +cWl +cXP +cNz +dbm +dcX +dev +cPy +dhe +diz +dkp +dlV +dnr +dpr +drf +dsz +dtC +dvp +dwT +dyt +dzZ +dBc +dCC +dDR +dEZ +dGr +dHM +dJc +dCF +dLd +dMF +dNS aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aae -aaf -aaG -aaG -abf -abl -abu -abL -abf -acg -aaG -acg -acg -acg -acg -adw -acg -acg -acg -acg -aaG -afb -afq -afE -afU -agB -eqw -afE -aiD -ajG -aeX -alC -amB -anM -amA -apo -aeX -arN -ata -auh -avA -awA -axw -ayL -azO -aAK -avG -awC -aEv -aFS -azQ -awC -awC -aLm -aul -aOC -aQo -aRW -aTF -aVe -aXd -aYF -baj -bbD -bcQ -ben -bgd -bhZ -aXf -bkW -eqV -boU -boZ -brL -brL -brL -bsV -bxx -bzy -bBd -bDh -bEL -bGJ -bIF -bKK -bMJ -bOE -bQC -bSP -bUT -bWK -bYu -cao -cbX -bQC -cfp -cfk -cik -cjO -clo -cfi -cnV -cpG -cqX -cqS -cua -cvD -cwX -cyE -cAp -cBQ -cDc -cDL -bmX -cGY -cIs -cKr -cLP -cNA -cPs -cRa -cSB -cIs -cVY -cXK -cZj -cKs -dbT -esc -deY -dgD -dhX -djX -dlK -dnb -dod -dpO -drr -dsR -dur -dvw -esz -dya -esD -dAw -dBO -dDd -esB -dFd -dGE -dHP -aaa -aaa -aaa -dJj -dKd -dKU -dLZ -dNa -dNV -dOR -dPC -dQp -dNV -dNa -dSS -dOQ -dUb -dUI -dSS -dNa -dWH -dXm -dLZ -dNa -dNa -dZY -dXm -eav -eav -eaG -eaO -dKU +dQS +dRY +dSX +dTL +dUD +dVo +dWi +dWY +dXQ +dVo +dUD +eac +dWh +ebn +ecd +eac +dUD +edE +eem +dTL +dUD +dUD +egM +eem +egT +egT +ehe +ehl +dSX aaa aaa aaa @@ -145606,189 +147712,189 @@ aaa aaa aaa aaa -aae -aaf -aaf -aaf -abf -abm -abv -abM -abf -aaf -aaG -esw -acP -acP -acP -edj -acP -acP -acP -esy -aaG -afc -afr -eqd -afc -aeX -afc -ahQ -afc -aeX -aeX -alD -amC -anM -aos -app -aeX -arN -atb -aui -avB -awB -axx -ayM -azP -aAL -aBR -aDe -aEw -aFT -aFT -ayM -ayM -aLn -auq -aOD -aQp -aRX -aOE -aVf -aXe -aYG -bak -bbE -bcR -beo -bbD -bia -bjJ -blc -bmY -boV -boZ -brM -brM -brK -bsV -bxw -bzN -epE -bCL -bEL -bEL -bEL -bEL -bEL -bEL -bQC -bQC -bQC -bQC -bQC -bQC -bQC -bQC -cfi -cfi -cil -cfi -cfi -cmB -cnL -cpo -cqY -cqS -cqS -cqS -cqS -cqS -cqS -cqS -cDd -bkS -bmZ -boJ -cIw -cKs -cIs -cNB -cPt -cIs -cIw -cKs -cIs -cXL -cIs -cKs -dbT -ddl -deZ -dgF -dgE -djY -dlL -dgE -dod -dpP -drs -dsS -drs -dvx -esz -dyb -dzf -dAx -dBP -dDe -esB -dFe -dGF -dHP +aac +aad +aad +aad +ace +act +acK +adh +ace +aad +abi +aeF +afg +afg +afg +agq +afg +afg +afg +ahG +abi +ail +aiG +aiY +ail +aig +ail +akT +ail +aig +aig +aoz +apw +aqz +arc +arY +aig +auB +avV +axc +ayv +azx +aAD +aBT +aDa +aDZ +aFj +aGy +aHS +aJs +aJs +aBT +aBT +aOX +axk +aSn +aUb +aVJ +aSo +aYT +baT +bcv +bdY +bft +bgJ +bih +bfs +blQ +bnz +boU +bqV +bsS +bsW +bvK +bvK +bvI +bwU +bBw +bDQ +bFC +bGS +bIV +bIV +bIV +bIV +bIV +bIV +bUQ +bUQ +bUQ +bUQ +bUQ +bUQ +bUQ +bUQ +cjJ +cjJ +cmO +cjJ +cjJ +crg +cso +ctR +cvF +cvz +cvz +cvz +cvz +cvz +cvz +cvz +cHT +boK +bqW +bsG +cND +cPy +cNz +cSJ +cUC +cNz +cND +cPy +cNz +dcY +cNz +cPy +dhe +diA +dkq +dlX +dlW +dps +drg +dlW +dtC +dvq +dwU +dyu +dwU +dBd +dCC +dDS +dFa +dGs +dHN +dJd +dCF +dLe +dMG +dNS aaa aaa aaa -dJj -dKd -dKU -dLZ -dNa -dNT -dNT -dNT -dNT -dNT -dNa -dNT -dNT -dNT -dNT -dNT -dNa -dWH -dXm -dLZ -dNa -dNa -dZY -dXm -eav -eav -eaH -eaP -dKU +dQS +dRY +dSX +dTL +dUD +dVm +dVm +dVm +dVm +dVm +dUD +dVm +dVm +dVm +dVm +dVm +dUD +edE +eem +dTL +dUD +dUD +egM +eem +egT +egT +ehf +ehm +dSX aaa aaa aaa @@ -145863,189 +147969,189 @@ aaa aaa aaa aaa -aae -aae -aaf -aaf -abg -abn -abw -ebg -abf +aac +aac +aad +aad +acf +acu +acL +adi +ace aaa -aaG -acA -acz -acQ -acR -acR -acR -acR -aeq -aeD -aaG -afd -afs -afG -afV -aeX -afn -ebW -aiE -eeC -akE -alB -amC -anN +abi +aeG +afh +afi +afj +afj +afj +afj +ahw +ahH +abi +aim +aiH +aiZ +ajl +aig +aiC +akU +alI amE -amE -aqK -arN -atc -auj -avC -awC -axy -ayN -azQ -axA -awC -aDf -aEv -aFU -awC -ayQ -awC -aLo -aNb -aDe -aQq -aRY -aDe -aVg -aXf -aYH -bal -eqO -bcS -bep -bge -bib -aXf -bkW -bnb -boW -bqq -brN -bsZ -brN -bvU -bxQ -bzO -bBx -bxQ -brN -bGK -brN -brN -brN -bqq -bsZ -bSQ -brN -brN -bsZ -brN -brN -brN -brN -cgB -cim -brN -brN -bqq -bkT -cpL -brH -csr -bmI -cvE -cwY -brH -brH -brH -brH -bkT -cFG -ebU -cIg -cKs -cLQ -cNv -cPu -cRb -cRb -cUl -cRb -cXM -cZk -cRb -dbU -ddm -dfa -dat -dhY -djZ -dlM -dnc -doh -dnc -drt -dsT -dnc -ego -dwO -dyc -dzg -dAy -dBQ -dDf -dwO -dFf -dGG -dHQ -aaf +anz +aox +apw +aqA +apy +apy +atu +auB +avW +axd +ayw +azy +aAE +aBU +aDb +aAG +azy +aGz +aHR +aJt +azy +aBX +azy +aOY +aQL +aGy +aUc +aVK +aGy +aYU +baU +bcw +bdZ +bfu +bgK +bii +bjU +blR +baU +boO +bqZ +bsT +bun +bvL +bwY +bvL +bzU +bBR +bDR +bFD +bBR +bvL +bKU +bvL +bvL +bvL +bun +bwY +bXj +bvL +bvL +bwY +bvL +bvL +bvL +bvL +cle +cmP +bvL +bvL +bun +boL +cus +bvF +cwX +bqE +cAl +cBG +bvF +bvF +bvF +bvF +boL +cKD +cMd +cNn +cPy +cQZ +cSD +cUD +cWm +cWm +cZA +cWm +dcZ +dew +cWm +dhf +diB +dkr +dfF +dns +dpt +drh +dsA +dtG +dsA +dwV +dyv +dsA +dBe +dCD +dDT +dFb +dGt +dHO +dJe +dCD +dLf +dMH +dNT +aad aaa aaa -dJk -dJk -dKT -dLZ -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dNa -dWH -dKU -dXY -dYH -dZx -dYJ -dNc -eav -eaz -eaF -eaQ -dKU +dQT +dQT +dSW +dTL +dUD +dUD +dUD +dUD +dUD +dUD +dUD +dUD +dUD +dUD +dUD +dUD +dUD +edE +dSX +efa +efJ +egx +efM +dUF +egT +egY +ehd +ehn +dSX aaa aaa aaa @@ -146122,187 +148228,187 @@ aaa aaa aaa aaa -aaf -aaf -abf -abo -abx -abO -abf -aaf -aaG -acA -acQ -acR -acR -acR -acR -acR -acR -aeD -aaG -afe -aft -afH -afW -agC -afn -ahR -aiF -aeX -akF -alE -amD -anO -amC -apq -aqL -arO -atd -auk -avD -awD -axz -ayO -azR -eqD -ayO -aDg -aEx -aFV -aHo -aIr -aJM -aLp -aNc -aOE -aQr -aRZ -awC -aVh -aXb -aYI -bam -bbG -bcT -beq -bgf -bic -aXb -bld -bnc -boX -bqv -brO -bta -buq -brO -brO -bzP -bBy -bCG -buq -brO -eri -brO -brO -bqv -bta -bSR -brO -brO -bXY -brO -brO -brO -brO -bta -boX -eri -brO -bqv -bBy -cpM -brO -brO -bta -brO -brO -brO -brO -cBR -brO -bBy -cFH -boH -cIy -cKs -cLR -cNC -cPv -cLO -cSC -cLO -cSC -cLO -cZl -daq -dbV -ddn -dfb -dgG -dhZ -dka -dlN -dnd -doi -dnd -dru -dsU -dlN -dvz -dwP -dyd -dzh -dAz -dBR -dDg -dEm -dFg -dGH +aad +aad +ace +acv +acM +adj +ace +aad +abi +aeG +afi +afj +afj +afj +afj +afj +afj +ahH +abi +ain +aiI +aja +ajm +ajN +aiC +akV +alJ +aig +anA +aoA +apx +aqB +apw +arZ +atv +auC +avX +axe +ayx +azz +aAF +aBV +aDc +aEa +aBV +aGA +aHT +aJu +aKP +aLX +aNu +aOZ +aQM +aSo +aUd +aVL +azy +aYV +baQ +bcx +bea +bfv +bgL +bij +bjV +blS +baQ +boV +bra +bsU +bus +bvM +bwZ +byr +bvM +bvM +bDS +bFE +bGN +byr +bvM +bMP +bvM +bvM +bus +bwZ +bXk +bvM +bvM +ccx +bvM +bvM +bvM +bvM +bwZ +bsU +bMP +bvM +bus +bFE +cut +bvM +bvM +bwZ +bvM +bvM +bvM +bvM +cGG +bvM +bFE +cKE +bsE +cNE +cPy +cRa +cSK +cUE +cQX +cXQ +cQX +cXQ +cQX +dex +dfC +dhg +diC +dks +dlY +dnt +dpu +dri +dsB +dtH +dsB +dwW +dyw +dri +dBf +dCE +dDU +dFc +dGu dHP +dJf +dKm +dLg +dMI +dNS aaa aaa aaa -dJj -dKd -dKU -dLY -dNb -dNU -dOS -dOS -dNU -dNU -eht -dNU -dNU -dNU -dOS -dOS -dNb -dLY -dKT -dRZ -dKT -dKT -dZZ -dKT -eau -eaA -eaI -eaR -dKU +dQS +dRY +dSX +dTK +dUE +dVn +dWj +dWj +dVn +dVn +dZu +dVn +dVn +dVn +dWj +dWj +dUE +dTK +dSW +dZs +dSW +dSW +egN +dSW +egS +egZ +ehg +eho +dSX aaa aaa aaa @@ -146379,187 +148485,187 @@ aaa aaa aaa aaa -aae -aaf -abg -abg -aby -abg -abg -aaf -aaG -acA -acR -acR -acR -adx -acR -acQ -acR -aeD -aaG -eez -aft -afG -afX -agD -ahh -ahS -aiG -aeX -akG -afn -amE -amE -amA -alB -aqM -arP -atc -aul -avE -awC -awC -axA -azQ -axA -axA -awC -awC -axA -aHp -awC -eqG -aLm -aul -awC -aQs -aSa -axA -aVi -aXb -aXb -aXf -bbH -bcO -ber -aXf -aXb -aXb -ble -bnd -boY -bqs -brP -btb -bur -bvV -brP -bzQ -bBz -bBz -bEP -bGL -brP -brP -bMK -bqs -bQD -bSS -bUU -brJ -bYv -brJ -brJ -cdJ -cfq -cgC -cin -cjP -brJ -bqs -cof -cof -cra -css -cuc -brJ -bYv -brJ -brJ -cdJ -brJ -cEb -cFI -cHb -cIz -cKs -cLS -cND -cPw -cRc -cRc -cUm -cRc -cRc -cRc -cRc -dbW -ddo -dfc -dav -dia -dia -dlO -dlO -doj -dlO -drv -dlO -dus -dvA -esB -esC -dzi -dAA -dBS -esE -esB -dEY -dGA -dHP +aac +aad +acf +acf +acN +acf +acf +aad +abi +aeG +afj +afj +afj +agr +afj +afi +afj +ahH +abi +aio +aiI +aiZ +ajn +ajO +akq +akW +alK +aig +anB +aiC +apy +apy +apu +aox +atw +auD +avW +axf +ayy +azy +azy +aAG +aDb +aAG +aAG +azy +azy +aAG +aKQ +azy +aNv +aOW +axf +azy +aUe +aVM +aAG +aYW +baQ +baQ +baU +bfw +bgG +bik +baU +baQ +baQ +boW +brb +bsV +bup +bvN +bxa +bys +bzV +bvN +bDT +bFF +bFF +bIZ +bKV +bvN +bvN +bQX +bup +bUR +bXl +bZq +bvH +ccT +bvH +bvH +cik +cjR +clf +cmQ +cos +bvH +bup +csJ +csJ +cvG +cwY +cyH +bvH +ccT +bvH +bvH +cik +bvH +cIU +cKF +cMe +cNF +cPy +cRb +cSL +cUF +cWn +cWn +cZB +cWn +cWn +cWn +cWn +dhh +diD +dkt +dfG +dnu +dnu +drj +drj +dtI +drj +dwX +drj +dAa +dBg +dCF +dDV +dFd +dGv +dHQ +dJg +dCF +dKY +dMA +dNS aaa aaa aaa -dJj -dKd -dKT -dKT -dNc -dKU -dOT -dOT -dKU -dRh -dKT -dKT -dKT -dKT -dUJ -dUJ -dKT -dKT -dKT -dXZ -dYI -dZy -ehx -dKT -eaw -eaB -eaJ -eaS -dKT +dQS +dRY +dSW +dSW +dUF +dSX +dWk +dWk +dSX +dYL +dSW +dSW +dSW +dSW +ece +ece +dSW +dSW +dSW +efb +efK +egy +egO +dSW +egU +eha +ehh +ehp +dSW aaa aaa aaa @@ -146637,186 +148743,186 @@ aaa aaa aaa aaa -aaf -aaf -abg -abz -abg -aaf -aaf -aaG -acA -acR -acR -edi -ady -acR -acR -acR -aeD -aaG -afg -afs -afI -afY -agE -ahi -ahT +aad +aad +acf +acO +acf +aad +aad +abi +aeG +afj +afj +afZ +ags +afj +afj +afj +ahH +abi +aip aiH -aeX -akH -alF -amF -amC -amB -apr -aqM -arQ -atc -aum -avF -awE -axA -ayP -azS -aAM -awC -awG -awC -ayP -aHq -awG -awC -aLq -auq -aOF -aQp -aSb -aTG -aVj -aXb -aYJ -ban -bbI -bcU -bes -bgg -bid -aeX -blf -aeX -boZ -boZ -brQ -btc -bus -bvW -bxR -boZ -boZ -cmX -bEQ -cmX -bIG -bIG -bIG -bOF -bQE -bST -bUV -bWL -bWM -bWM -bWM -bWM -cfr -cgD -bWP -bWM -bWM -bWM -bWM -cpN -crb -cst -cud -cvF -cvF -cvF -cvF -cvF -cDe -cDe -cFJ -cHc -cDe -cDe -cLT -cLT -cPx -cRd -cSD -cLT -cLT -cXN -cSD -dar -dbX -ddp -dfd -cIu -cIs -cWd -cWd -cIs -dok -dpR -drw -dsV -dol -dvB -dol -dol -dol -dol -dol -dol -dol -dEY -dGI -dHQ -aaf +ajb +ajo +ajP +akr +akX +alL +aig +anC +aoB +apz +apw +apv +asa +atw +auE +avW +axg +ayz +azA +aAG +aBW +aDd +aEb +azy +azC +azy +aBW +aKR +azC +azy +aPa +axk +aSp +aUb +aVN +aXt +aYX +baQ +bcy +beb +bfx +bgM +bil +bjW +blT +aig +boX +aig +bsW +bsW +bvO +bxb +byt +bzW +bBS +bsW +bsW +bHq +bJa +bHq +bMQ +bMQ +bMQ +bSS +bUS +bXm +bZr +cbj +cbk +cbk +cbk +cbk +cjS +clg +cbn +cbk +cbk +cbk +cbk +cuu +cvH +cwZ +cyI +cAm +cAm +cAm +cAm +cAm +cHU +cHU +cKG +cMf +cHU +cHU +cRc +cRc +cUG +cWo +cXR +cRc +cRc +dda +cXR +dfD +dhi +diE +dku +cNB +cNz +dbr +dbr +cNz +dtJ +dvr +dwY +dyx +dtK +dBh +dtK +dtK +dtK +dtK +dtK +dtK +dtK +dKY +dMJ +dNT +aad aaa aaa -dJk -dJk -dKT -dMa -dNd -dNW -dOS -dOS -dQq -dRi -dKT -dST -dTv -dUc -dOS -dOS -dWa -dWJ -dKT -dYa -ehv -dKS -dKT -dKT -dKT -dRZ -dKU -dKT -dKT +dQT +dQT +dSW +dTN +dUG +dVp +dWj +dWj +dXR +dYM +dSW +ead +eaG +ebo +dWj +dWj +edc +edG +dSW +efc +efL +dSV +dSW +dSW +dSW +dZs +dSX +dSW +dSW aaa aaa aaa @@ -146896,179 +149002,179 @@ aaa aaa aaa aaa -abg -epB -abg -aaf -aaf -aaG -acA -acR -acQ -acR -adz -acR -acR -acR -aeD -aaG -afh -aft -afJ -afZ -agF -ahh -ahU -ahX -aeX -akI -alG -afs -anP -amC -aps -aqM -arR -atc -aun -avF -awF -awC -awG -azS -aAN -awC -ayP -axA -aFW -aHp -awG -axA -aLm -auq -aOG -aQt -aSc -aTH -aVk -aXg -aYK -aYF -bbJ -bcQ -bet -bgh -bie -bjK -blg -aeX +acf +acP +acf +aad +aad +abi +aeG +afj +afi +afj +agt +afj +afj +afj +ahH +abi +aiq +aiI +ajc +ajp +ajQ +akq +akY +alM +aig +anD +aoC +aiH +aqC +apw +asb +atw +auF +avW +axh +ayz +azB +azy +azC +aDd +aEc +azy +aBW +aAG +aJv +aKQ +azC +aAG +aOW +axk +aSq +aUf +aVO +aXu +aYY +baV +bcz +bcu +bfy +bgI +bim +bjX +blU +bnA +boY +aig aaa -aaf +aad aaa -btd -but -bvX +bxc +byu +bzX aaa -aaf +aad aaa -cmX -bER -cmX -bIH -bKL -bML -bIG -bQF -bSU -bUW -bWM -bYw -cap -cbY -cdK -cfs -cgE -cfu -cjQ -clp -cmC -cog -bWM -crc -csu -boH -cvF -cwZ -cyF -cAq -cvF -cDf -cEc -cFK -cHd -cIA -cKt -cLU -cNE -cPy -cRe -cSE -cUn -cVZ -cXO -cZm -cVZ -dbY -ddj -dfe -cIs -dib -dkb -dkb -dne -dol -dpS -drx -dsW -dut -dvC -dwQ -dye -dzj -dAB -dBT -dDh -dol -dEY -dGx -dHP +bHq +bJb +bHq +bMR +bOX +bQY +bMQ +bUT +bXn +bZs +cbk +ccU +ceM +cgz +cil +cjT +clh +cjV +cot +cpV +crh +csK +cbk +cvI +cxa +bsE +cAm +cBH +cDn +cFb +cAm +cHV +cIV +cKH +cMg +cNG +cPz +cRd +cSM +cUH +cWp +cXS +cZC +dbn +ddb +dey +dbn +dhj +dix +dkv +cNz +dnv +dpv +dpv +dsC +dtK +dvs +dwZ +dyy +dAb +dBi +dCG +dDW +dFe +dGw +dHR +dJh +dtK +dKY +dMx +dNS aaa aaa aaa -dJj -dKd -dKU -dMb -dNe -dNX -dNa -dNa -dQr -dRj -dSb -dOS -dTw -dUd -dUd -dUd -dWb -dWK -dKT -dYb -dYJ -dZz -eaa -dKT +dQS +dRY +dSX +dTO +dUH +dVq +dUD +dUD +dXS +dYN +dZv +dWj +eaH +ebp +ebp +ebp +edd +edH +dSW +efd +efM +egz +egP +dSW aaa aaa aaa @@ -147143,189 +149249,189 @@ aaa aaa aaa aaa -aae -aae -aaf -aae -aae -aaf -aae +aac +aac +aad +aac +aac +aad +aac aaa -aaf -aaf -aaf -abA -aaf -aaf +aad +aad +aad +acQ +aad +aad aaa -aaG -acA -acQ -acR -acR -acR -acQ -acR -acR -aeD -aaG +abi +aeG afi -aft -aft -afZ -agD -ahj -ebX +afj +afj +afj +afi +afj +afj +ahH +abi +air aiI -eeC -akJ -alH -amG -akG -aot -apt -aqM -arK -atc -auo -avG -awG -axA -ayQ -azS -aAO -awC -aDh -axA -aDf -aHq -ayP -awC -aLr -aNd -aOH -aQu -aSd -aTI -aVl -aXh -aYL -bao -bbK -bcV -beu -bgi -bif -bjL -blh -aeX +aiI +ajp +ajO +aks +akZ +alN +amE +anE +aoD +apA +anB +ard +asc +atw +auy +avW +axi +ayA +azC +aAG +aBX +aDd +aEd +azy +aGB +aAG +aGz +aKR +aBW +azy +aPb +aQN +aSr +aUg +aVP +aXv +aYZ +baW +bcA +bec +bfz +bgN +bin +bjY +blV +bnB +boZ +aig aaa -bqw -bqw -bte -buu -bqw -bqw -bqw +but +but +bxd +byv +but +but +but aaa -cmX -bES -cmX -bII -bKM -bMM -bOG -bQG -bSU -bUX -bWN -bYx -caq -cbZ -cbZ -cft -cgF -caq -caq -caq -caq -cbZ -bWN -crd -erz -boH -cvF -cxa -cyG -cAr -cvF -cDg -cEd -cFL -cHe -cEd -cKu -cLU -cNF -cPz -cRf -cSF -cUo -cWa -cXP -cZn -das -dbZ -ddq -dfe -cKs -dic -dkc -dlP -dnf -dom -dpT -dry -dsX -duu -dvD -dwR -dyf -dzk -dAC -dBU -dDi -dol -dFa -dGJ -dHP +bHq +bJc +bHq +bMS +bOY +bQZ +bST +bUU +bXn +bZt +cbl +ccV +ceN +cgA +cgA +cjU +cli +ceN +ceN +ceN +ceN +cgA +cbl +cvJ +cxb +bsE +cAm +cBI +cDo +cFc +cAm +cHW +cIW +cKI +cMh +cIW +cPA +cRd +cSN +cUI +cWq +cXT +cZD +dbo +ddc +dez +dfE +dhk +diF +dkv +cPy +dnw +dpw +drk +dsD +dtL +dvt +dxa +dyz +dAc +dBj +dCH +dDX +dFf +dGx +dHS +dJi +dtK +dLa +dMK +dNS aaa aaa aaa -dJj -dKd -dKU -dMc -dNf -dNY -dNa -dNa -dQr -dRj -dSb -dOS -dTx -dUe -dUe -dUe -dWc -dWK -dKT -dYa -dYK -dLZ -eaa -dKU +dQS +dRY +dSX +dTP +dUI +dVr +dUD +dUD +dXS +dYN +dZv +dWj +eaI +ebq +ebq +ebq +ede +edH +dSW +efc +efN +dTL +egP +dSX aaa aaa aaa @@ -147396,193 +149502,193 @@ aaa aaa aaa aaa -aae -aae -aaf -aae -aae +aac +aac +aad +aac +aac aaa aaa -aaf +aad aaa aaa -aae -aae -aaf -aae -aaf -aak -aaf -aae -aaf -aaG -acA -acB -acR -acQ -acR -acR -acR -aer -aeD -aaG +aac +aac +aad +aac +aad +aaj +aad +aac +aad +abi +aeG +aeH afj -aft -afs -aga -aeX -ahk -ahV +afi +afj +afj +afj +ahx +ahH +abi +ais +aiI +aiH +ajq +aig +akt +ala +alO +aig +aig +aig aiJ -aeX -aeX -aeX -afu -afu -aeX -alJ -aqN -arS -alJ -aup -avG -awH -awC -ayR -azT -aAP -awC -awH -ayN -ayR -aHr -awH -awC -aLs -aNe -aNf -aQv -aSe -aTJ -aVm -aNg -aYM -bap -bbL -bcW -bev -bgj -big -aeX -afn -aeX -aaf -bqw -brR -btf +aiJ +aig +aoF +atx +auG +aoF +axj +ayA +azD +azy +aBY +aDe +aEe +azy +azD +aBU +aBY +aKS +azD +azy +aPc +aQO +aQP +aUh +aVQ +aXw +aZa +aQQ +bcB +bed +bfA +bgO +bio +bjZ +blW +aig +aiC +aig +aad but -btj -bxS -bqw -aaf -cmX -bET -bGM -bIJ -bKN -bMN -bOH -bQF -ern -bUW -bWO -bYy -car -cca -cdL -cfu -cgG -cio -car -cfu -cfu -cfs -bWO -cre -csv -cue -cvF -cxb -cyH -cAs -cvF -cDh -cEe -cFM -cHf -erP -cKv -cLU -cNG -cPA -cRg -cSG -cUp -cWb -cXQ -cZo -cWb -dca -ddr -dff -cIs -did -dkd -dlQ -dng -dom -dpU -drz -dsY -duv -dvE -dwS -dyg -dzl -dyg -dBV -dDj -dol -dFa -dGK -dHQ -aaa -aaa -aaa +bvP +bxe +byu +bxi +bBT +but +aad +bHq +bJd +bKW +bMT +bOZ +bRa +bSU +bUT +bXo +bZs +cbm +ccW +ceO +cgB +cim +cjV +clj +cmR +ceO +cjV +cjV +cjT +cbm +cvK +cxc +cyJ +cAm +cBJ +cDp +cFd +cAm +cHX +cIX +cKJ +cMi +cNH +cPB +cRd +cSO +cUJ +cWr +cXU +cZE +dbp +ddd +deA +dbp +dhl +diG +dkw +cNz +dnx +dpx +drl +dsE +dtL +dvu +dxb +dyA +dAd +dBk +dCI +dDY +dFg +dDY +dHT dJj -dKd -dKT -dMd -dNg -dNZ -dOU -dPD -dQs -dRk -dRh -dSU -dTy -dUf -dSa -dSa -dLY -dWL -dKT -dLY +dtK +dLa +dML +dNT +aaa +aaa +aaa +dQS +dRY +dSW +dTQ +dUJ +dVs +dWl +dWZ +dXT +dYO dYL -dZA -eaa -dKT +eae +eaJ +ebr +ecf +ecf +dTK +edI +dSW +dTK +efO +egA +egP +dSW aaa aaa aaa @@ -147653,193 +149759,193 @@ aaa aaa aaa aaa -aae +aac aaa aaa -aaf +aad aaa aaa -aai -eba +aag +aah aan aaa aaa -aaf +aad aaa aaa -aaf -aal +aad +aak aaa -aae -aaf -aaG -acB -acS -acS -acS -acS -acS -acS -acS -aer -aaG -aeX -afu -afu -aeX -aeX -aeX -ahW -aeX -aeX -aaf -aaf -aaH -aaH -aaf -alI -aqO -arT -alJ -auq -avH -awI -awI -ayS -awI -awI -awI -awI -awI -awI -awI -awI -awI -aLt -aNf -aOI -aQw -aSf -aTK -aVn -aXi -aYM -bap -bbM -bcX -bew -bgk -aXb -aeX -amC -aeX +aac +aad +abi +aeH +afk +afk +afk +afk +afk +afk +afk +ahx +abi +aig +aiJ +aiJ +aig +aig +aig +alb +aig +aig +aad +aad +abj +abj +aad +aoE +aty +auH +aoF +axk +ayB +azE +azE +aBZ +azE +azE +azE +azE +azE +azE +azE +azE +azE +aPd +aQP +aSs +aUi +aVR +aXx +aZb +baX +bcB +bed +bfB +bgP +bip +bka +baQ +aig +apw +aig aaa -bqw -brS -btg -buv -bti -bxT -bqw +but +bvQ +bxf +byw +bxh +bBU +but aaa -cmX -bER -cmX -bIK -bKO -bMO -bOI -bQH +bHq +bJb +bHq +bMU +bPa +bRb bSV -bUY -bWP -bYz -car -ccb -cdL -cfv -cgH -cip -cjR -clq -cmD -coh -cpO -crf -csw -cuf -cvF -cxc -cyI -cAt -cvF -cvF -cvF -cFN -cHg -cDg -cKw -cLU -cLT -cPB -cRh -cSH -cLT -cLT -cPx -cZp -dar -dcb -ddk -deY -cKs -die -dke -dlR -dnh -dom -dpV -drA -dsZ -duw -dvF -dwT -dyh -dzm -dAD -dBW -dDk -dol +bUV +bXp +bZu +cbn +ccX +ceO +cgC +cim +cjW +clk +cmS +cou +cpW +cri +csL +cuv +cvL +cxd +cyK +cAm +cBK +cDq +cFe +cAm +cAm +cAm +cKK +cMj +cHW +cPC +cRd +cRc +cUK +cWs +cXV +cRc +cRc +cUG +deB +dfD +dhm +diy +dkp +cPy +dny +dpy +drm +dsF +dtL +dvv +dxc +dyB +dAe +dBl +dCJ +dDZ dFh -dGL -dHP -aaa -aaa -aaa -aaa +dGy +dHU dJk -dKS -dKT -dKU -dKU -dKU -dKU -dKT -dKT -dRZ -dKT -dKU -dKU -dKU -dKU -dKU -dKT -dKT -dKU -dYM -dYM -dKU -dKT +dtK +dLh +dMM +dNS +aaa +aaa +aaa +aaa +dQT +dSV +dSW +dSX +dSX +dSX +dSX +dSW +dSW +dZs +dSW +dSX +dSX +dSX +dSX +dSX +dSW +dSW +dSX +efP +efP +dSX +dSW aaa aaa aaa @@ -147910,168 +150016,168 @@ aaa aaa aaa aaa -aaf +aad aaa -aai -eba +aag +aah aan aaa +aag aai -aaj aan aaa -aai -eba +aag +aah aan aaa -aaf -abA -aaf -aae -aaf -aaG -aaG -aaG -aaG -aaG -aaG -aaG -aaG -aaG -aaG -aaG -aaf -aaH -aaH -aaf -aeX -ahl -ebY -aiK -aeX -aaf -alI -alI -alI -alJ -alJ -aqP -arU -alJ -aur -avI -awJ -axB -ayT -ayT -aAQ -aAQ -ayT -aEy -aAQ -aAQ -aDi -aJN -aLu -aNf -aOJ -aQx -aSg -eqJ -aVo -aNf -aYN -baq -bbN -bcX -bex -bgj -bih -aeX -edh -aeX +aad +acQ +aad +aac +aad +abi +abi +abi +abi +abi +abi +abi +abi +abi +abi +abi +aad +abj +abj +aad +aig +aku +alc +alP +aig +aad +aoE +aoE +aoE +aoF +aoF +atz +auI +aoF +axl +ayC +azF +aAH +aCa +aCa +aEf +aEf +aCa +aHU +aEf +aEf +aGC +aNw +aPe +aQP +aSt +aUj +aVS +aXy +aZc +aQP +bcC +bee +bfC +bgP +biq +bjZ +blX +aig +bpa +aig aaa -bqw -brT -bth -buw -bvY -bxU -bqw +but +bvR +bxg +byx +bzY +bBV +but aaa -cmX -coB -cmX -bIL -bKP -bMP -bIG -bQF -bSU -bUW -bWM -efK -car -car -cdL -cfu -cgG -car -car -car -cmE -efT -bWM -crg -csx -boH -cvF -cxd -cyJ -cAu -cBS -cDi -cEf -cFO -cHh -cIB -cDg -cKs -cNH -cPC -cRb -cSI -cUq -egc -cRb -cRb -dat -dcc -esc -deY -cIs -dib -dkb -dkb -dni -dol -dpW -drB -dta -dux -dvG -dwU -dyi -dzj -dAE -dBX -dDl -dol -dFi -dGM -dHP -aaf -aaf +bHq +bJe +bHq +bMV +bPb +bRc +bMQ +bUT +bXn +bZs +cbk +ccY +ceO +ceO +cim +cjV +clj +ceO +ceO +ceO +crj +csM +cbk +cvM +cxe +bsE +cAm +cBL +cDr +cFf +cGH +cHY +cIY +cKL +cMk +cNI +cHW +cPy +cSP +cUL +cWm +cXW +cZF +dbq +cWm +cWm +dfF +dhn +diz +dkp +cNz +dnv +dpv +dpv +dsG +dtK +dvw +dxd +dyC +dAf +dBm +dCK +dEa +dFe +dGz +dHV +dJl +dtK +dLi +dMN +dNS +aad +aad aaa aaa aaa @@ -148167,180 +150273,180 @@ aaa aaa aaa aaa -aae +aac aaa +aag aai -aaj aan aaa +aag aai -aaj aan aaa +aag aai -aaj aan aaa -aaf -abA +aad +acQ aaa -aaf -aaf -aaf -aaf +aad +aad +aad +aad aaa -aaf -aaf -aaf +aad +aad +aad aaa -aaf +aad aaa -aaf -aaf -aaf -aaf -aaf -aaf -aeX -ahm -ahY -aiL -aeX -aaf -alI -amH -anQ -aou -apu -aqQ -arV -alJ -aus -avJ -avJ -avJ -avJ -awH -aAR -awH -aDi -aEz -aEz -aEz -aIs -aJN -aLv -aNf -aOK -aQy -aSh -aTL -aVp -aNg -aYO -bar -bbF -bcX -eqO -bgl -bii -aeX -blj -aeX +aad +aad +aad +aad +aad +aad +aig +akv +ald +alQ +aig +aad +aoE +apB +aqD +are +asd +atA +auJ +aoF +axm +ayD +ayD +ayD +ayD +azD +aEg +azD +aGC +aHV +aHV +aHV +aLY +aNw +aPf +aQP +aSu +aUk +aVT +aXz +aZd +aQQ +bcD +bef +bfD +bgP +bfu +bkb +blY +aig +bpb +aig aaa -bqw -brU -bti -bux -bti -bxV -bqw +but +bvS +bxh +byy +bxh +bBW +but aaa -cmX -coB -cmX -bIG -bIG -bIG -bIG -bQI -bSW -bUZ -bWM -bYB -bYB -bYB -cdM -cfw -cgI -bYB -bYB -bYB -cmF -coj -bWM -crh -csu -boH -cvG -cxe -cyK -cAv -cBT -cDj -cEg -cFP -cHi -cIC -cDg -cKs -cNI -cLM -cLL -cNw -cUr -cLM -cLL -cLM -cIt -dcd -ddk -dfg -cIu -cIs -cWd -cWd -cIs -dok -dpR -drC -dsV -dol -dvH -dol -dol -dol -dol -dol -dol -dol -dch -dGN -cKs -cKs -dJl -dJp -dJp -dJp -dJp +bHq +bJe +bHq +bMQ +bMQ +bMQ +bMQ +bUW +bXq +bZv +cbk +ccZ +ccZ +ccZ +cin +cjX +cll +ccZ +ccZ +ccZ +crk +csN +cbk +cvN +cxa +bsE +cAn +cBM +cDs +cFg +cGI +cHZ +cIZ +cKM +cMl +cNJ +cHW +cPy +cSQ +cQU +cQT +cSE +cZG +cQU +cQT +cQU +cNA +dho +diy +dkx +cNB +cNz +dbr +dbr +cNz +dtJ +dvr +dxe +dyx +dtK +dBn +dtK +dtK +dtK +dtK +dtK +dtK +dtK +dhs +dMO +cPy +cPy +dPm +dPq +dPq +dPq +dPq aaa -dOV -dMh -dJp -dJr -dJp -dJq -dTz +dUK +dSc +dPq +dPs +dPq +dPr +dZw aaa aaa aaa @@ -148424,181 +150530,181 @@ aaa aaa aaa aaa -aae -aaf +aac +aad +aag aai -aaj aan -aaf +aad +aag aai -aaj aan -aaf +aad +aag aai -aaj aan -aaf -aaf -abA +aad +aad +acQ aaa -aae -aae -aaf -aae -aae -aae -aaf -aae -aae -aae -aae -aae +aac +aac +aad +aac +aac +aac +aad +aac +aac +aac +aac +aac aaa -aaf +aad aaa aaa -aaf -aeX -ahn -ahZ -aiM -aeX -aaf -alI -amI -anR -anR -apv -aqR -arW -alJ -aut -avK -awK -axD -ayU -azU -aAS -aBS -aDj -aEA -awK -awK -awK -awK -aLw -aNg -aOL -aQz -aSi -aTM -aVq -aNg -aYP -bas -bbO -bbF -bbF -bgm -bij -aeX -aeX -aeX -aaf -bqw -brV -btj -buy -btj -brR -bqw -aaf -cmX -bEV -bGN -bIM -bKQ -bMQ -bIM -bQJ -bSX -bVa -bWM -bYC -cas -ccc -cdN -cfx -cgJ -ciq -cjS -clr -cmG -cfs -bWM -cri -csy -cug -cvF +aad +aig +akw +ale +alR +aig +aad +aoE +apC +aqE +aqE +ase +atB +auK +aoF +axn +ayE +azG +aAI +aCb +aDf +aEh +aFk +aGD +aHW +azG +azG +azG +azG +aPg +aQQ +aSv +aUl +aVU +aXA +aZe +aQQ +bcE +beg +bfE +bfD +bfD +bkc +blZ +aig +aig +aig +aad +but +bvT +bxi +byz +bxi +bvP +but +aad +bHq +bJf +bKX +bMW +bPc +bRd +bMW +bUX +bXr +bZw +cbk +cda +ceP +cgD +cio +cjY +clm +cmT +cov +cpX +crl +cjT +cbk +cvO cxf cyL -cAw -cvF -cvF -cvF -cFK -cHd -cDg -cDg -cKs -cNJ -cKp -cKp -cSJ -cPw -cRc -cRc -cRc -dav -dbW -dds -dfh -dav -dif -cZh -cZh -cZh -don -dif -drD -cZh -cZh -cZh -dwV -cZh -dzn -dif -dif -dDm -dEn -dFj -dGO -dHR -dIF +cAm +cBN +cDt +cFh +cAm +cAm +cAm +cKH +cMg +cHW +cHW +cPy +cSR +cPv +cPv +cXX +cUF +cWn +cWn +cWn +dfG +dhh +diH +dky +dfG +dnz +det +det +det +dtM +dnz +dxf +det +det +det +dCL +det +dFi +dnz +dnz dJm -dKe -dKV -dMe -dJp -aaf -dOW -dPE -dQt -dRl -dSc -dSV -dTA -aaf +dKn +dLj +dMP +dNU +dOI +dPn +dQe +dQU +dRZ +dPq +aad +dUL +dVt +dWm +dXa +dXU +dYP +dZx +aad aaa aaa aaa @@ -148681,24 +150787,24 @@ aaa aaa aaa aaa -aaf +aad aaa +aag aai -aaj aan aaa +aag aai -aaj aan aaa +aag aai -aaj aan aaa -aaf -aak -aaf -aae +aad +aaj +aad +aac aaa aaa aaa @@ -148706,157 +150812,157 @@ aaa aaa aaa aaa -aaH -aaf -aaf -aaH -aaf -aaf +abj +aad +aad +abj +aad +aad aaa aaa -aaf -aeX -aeX -aeX -aeX -aeX -aaf -alJ -amJ -alJ -alJ -apw -aqS -ejy -alJ -aaf -aaf -aaf -axE -ayV -azV -aut -azV -aDk -axE -aaf -aaf -aaf -aaf -aaf -aNh -aOM -aQA -aSj -aTN -aVr -aNh -aYQ -bat -bbP -bbG -bey -bgn -bik -bjM -aaf +aad +aig +aig +aig +aig +aig +aad +aoF +apD +aoF +aoF +asf +atC +auL +aoF +aad +aad +aad +aAJ +aCc +aDg +axn +aDg +aGE +aAJ +aad +aad +aad +aad +aad +aQR +aSw +aUm +aVV +aXB +aZf +aQR +bcF +beh +bfF +bfv +bir +bkd +bma +bnC +aad aaa aaa -bqw -bqw -bqw -bqw -bqw -bqw -bqw +but +but +but +but +but +but +but aaa -bDi -bDi -bGO -bDi -bKR -bMR -bIM -bQK -bSU -bVb -bWM -bYD -cat -ccd -cdO -cfy -cgK -cir -cjT -cls -cmH -cok -bWM -crg -csu -cuh -cvF -cxg +bHr +bHr +bKY +bHr +bPd +bRe +bMW +bUY +bXn +bZx +cbk +cdb +ceQ +cgE +cip +cjZ +cln +cmU +cow +cpY +crm +csO +cbk +cvM +cxa cyM -cAx -cBU -cDk -cvF -cFQ -cHj -cID -cID -cLV +cAm +cBO +cDu +cFi +cGJ +cIa +cAm +cKN +cMm cNK cNK -cRi -cLV -cIs -cWd -cWd -cIs -daw -dbY -ddt -dfi -dgH -dig -cXR -cWe -cXR -cWe -dpX -drE -cXR -cWe -erZ -dfi -cXR -cWe -dAF -dfi -dDn -dEo -dFk -dGP -dHS -dDn +cRe +cSS +cSS +cWt +cRe +cNz +dbr +dbr +cNz +dfH +dhj +diI +dkz +dlZ +dnA +dpz +dbs +dpz +dbs +dvx +dxg +dpz +dbs +dde +dkz +dpz +dbs +dGA +dkz dJn -dKf -dKW -dMf -dJp +dKo +dLk +dMQ +dNV +dJn +dPo +dQf +dQV +dSa +dPq aaa -dJp -dPF -dQu -dRm -dSd -dSW -dJp -aaf -agg +dPq +dVu +dWn +dXb +dXV +dYQ +dPq +aad +ajr aaa aaa aaa @@ -148935,185 +151041,185 @@ aaa aaa aaa aaa -aae -aaf -aae -aae -aaf +aac +aad +aac +aac +aad +aag aai -aaj aan aaa -aaf -aak -aaf -aaa -aai +aad aaj +aad +aaa +aag +aai aan aaa -aaf -aaw +aad +aaE aaa -aae +aac aaa aaa aaa aaa -aaH -aaf -aaf -aaH +abj +aad +aad +abj aaa aaa -aaH +abj aaa -aaf +aad aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -alI -amK -anS -aov -apw -aqT -arX -alJ +aad +aad +aad +aad +aad +aad +aad +aoE +apE +aqF +arf +asf +atD +auM +aoF aaa aaa aaa -axF -ayW -azW -aAT -azW -aDl -aEB +aAK +aCd +aDh +aEi +aDh +aGF +aHX aaa aaa aaa aaa -aaf -aNi -aON -aQB -aSk -aTO -aVs -aXj -aYR -bau -bbQ -bcZ -aXf -bgo -aYR -bgp -aaf +aad +aQS +aSx +aUn +aVW +aXC +aZg +baY +bcG +bei +bfG +bgQ +baU +bke +bcG +bkf +aad aaa aaa aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa aaa -bDi -efH -bGP -bIN -bIO -bMS -bDi -bQL -bSU -bUW -bWM -bYE -cau -cce -cdP -cfz -cgL -cis -cjU -clt -cmI -col -bWM -crg -csu -cuh -cvF -cxg -erF -cAy -cvF -cvF -cvF -cFQ -cHj -cIE -cKx -cLW +bHr +bJg +bKZ +bMX +bPe +bRf +bHr +bUZ +bXn +bZs +cbk +cdc +ceR +cgF +ciq +cka +clo +cmV +cox +cpZ +crn +csP +cbk +cvM +cxa +cyM +cAm +cBO +cDv +cFj +cAm +cAm +cAm +cKN +cMm cNL cPD -cRj -cLV -cUs -cKi -cSu -cZq -cIs -dce -ddu -dfj -dat -dih -dkf -dih -dnj -dih -dpY -drF -dih -duy -dih -dfl -dnj -dzo -dih -dfl -dDo -cNP -dFl -dGQ -dHT -dIG +cRf +cST +cUM +cWu +cRe +cZH +cPo +cXI +deC +cNz +dhp +diJ +dkA +dfF +dnB +dpA +dnB +dsH +dnB +dvy +dxh +dnB +dAg +dnB +dkC +dsH +dFj +dnB +dkC dJo -dKg -dKX -dMg -dJp -aaf -dOX -dPG -dQv -dRn -dSe -dSX -dTB +cSX +dLl +dMR +dNW +dOJ +dPp +dQg +dQW +dSb +dPq +aad +dUM +dVv +dWo +dXc +dXW +dYR +dZy aaa -agg +ajr aaa aaa aaa @@ -149192,187 +151298,187 @@ aaa aaa aaa aaa -aae +aac aaa -aaf +aad aaa aaa -aaf -aak -aaf -aaf -aaf -aaw -aaf -aaf -aaf -aak -aaf -aaf -aaf -aaw -aaf -aae -aaf -aaH -aaf -aaf -aaH +aad +aaj +aad +aad +aad +aaE +aad +aad +aad +aaj +aad +aad +aad +aaE +aad +aac +aad +abj +aad +aad +abj aaa aaa -aaH -aaf -aaf -aaH -aaf -aaf -aaf -aae -aae -aaf +abj +aad +aad +abj +aad +aad +aad +aac +aac +aad aaa -aae -aae -aae -aaf -alI -amK -anT -aow -apx -aqU -arX -alI +aac +aac +aac +aad +aoE +apE +aqG +arg +asg +atE +auM +aoE aaa -avL -avL -avL -ayX -azX -avL -azX -aDm -avL -avL -avL +ayF +ayF +ayF +aCe +aDi +ayF +aDi +aGG +ayF +ayF +ayF aaa aaa -aaf -aNj -aOO -aQC -aSl -aTP -aVt -aNj -aaf -bav -bbR -bda -bez -bav -aaf -aaf -aaf -aaf -aaf -aaf -aae -aae -aae -aae -aae -aaf -aaf -bDj -bEX -bGQ -erj -bKS -bMT -bDi -bQL -bSU -bUW -bWM -bYF -cav -ccf -cdQ -cfA -cgM -cit -cjV -clu -cmJ -col -bWM -crj -csz -cui -cvF -cxh -cyO -cAz -cBU -cDl -cvF -cFK -cHj -cIF -cKy -cLX -cLX -cLX -cRk -ega -cUt -cWe -erZ -cZr -dax -dbZ -ddv -dfe -dgI -dgI -dgI -dgI -dnk -dlS -dpZ -dlS -dgI -dgI -daA -dwW -dyj -cKs -daA -dwW -dyj -cKs -dch -dGR -cKs -cKs -dJl -dJp -dKY -dJp -dJp +aad +aQT +aSy +aUo +aVX +aXD +aZh +aQT +aad +bej +bfH +bgR +bis +bej +aad +aad +aad +aad +aad +aad +aac +aac +aac +aac +aac +aad +aad +bHs +bJh +bLa +bMY +bPf +bRg +bHr +bUZ +bXn +bZs +cbk +cdd +ceS +cgG +cir +ckb +clp +cmW +coy +cqa +cro +csP +cbk +cvP +cxg +cyN +cAm +cBP +cDw +cFk +cGJ +cIb +cAm +cKH +cMm +cNM +cPE +cRg +cRg +cRg +cWv +cXY +cZI +dbs +dde +deD +dfI +dhk +diK +dkv +dma +dma +dma +dma +dsI +dro +dvz +dro +dma +dma +dfL +dCM +dEb +cPy +dfL +dCM +dEb +cPy +dhs +dMS +cPy +cPy +dPm +dPq +dQX +dPq +dPq aaa -dOY -dPH -dQw -dRo -dSf -dSY -dOY +dUN +dVw +dWp +dXd +dXX +dYS +dUN aaa -aaf -aaf -agg +aad +aad +ajr aaa aaa aaa @@ -149449,200 +151555,200 @@ aaa aaa aaa aaa -aaf -aaf -aag -aah -aah -aah -aah -aah -aao -aar -aaw -aaw -aaw -aaO -aaw -aaw -aaw -aaw -aaw -aaa -aaf -aaa -aaH -aaa -aaa -aaH -aaf -aaf -aaH -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aad +aad aae aaf -alJ -amK -anU -aox -apy -aqV -arY -alI -aaa -avL -awL -axG -axG -azY -aAU -azY -azY -aEC -avL -avL -aIt -aaa aaf -aNg -aNg -aQD -aSm -aTQ -aNg -aNg -aaa -baw -bbS -bdb -beA -baw -aaa -aaa -aaa -aaa -aaH -aaH -aaH -aaH -aaH -aaH -aaH -aaa -aaa -bDj -bEY -bGR -bIP -bKT -bMU -bOJ -bQM -bSY -bVc -bWQ -bYG -caw -ccg -cdR -cfB -cgN -ciu -cjW -clu -cmH -com -bWM -crg -csu -cuh -cvF -cxi -cyN -cAA -cvF -cvF -cvF -cFQ -cHj -cIG -cKz -cLY -cNM -cLY -cRl -cNK -cUu -cWf -cXS -cZs -cIt -dbY -ddj -dfe -dgI -dii -dkg -dgL -dnl -doo -dqa -drG -dtb -dgI -dvI -cNx -dyk -cKs -dvI -cNx -dyk -cKs -dFm -dGS -cDe -aaa -aaa -dJp -edg -dJp -aaa -aaa -dJp -dPI -dQx -dRp -dSg -dSZ -dJp aaf -agg aaf -agg -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aaf +aao +aau +aaE +aaE +aaE +abv +aaE +aaE +aaE +aaE +aaE aaa aad aaa +abj +aaa +aaa +abj +aad +aad +abj +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aac +aad +aoF +apE +aqH +arh +ash +atF +auN +aoE +aaa +ayF +azH +aAL +aAL +aDj +aEj +aDj +aDj +aHY +ayF +ayF +aLZ +aaa +aad +aQQ +aQQ +aUp +aVY +aXE +aQQ +aQQ +aaa +bek +bfI +bgS +bit +bek +aaa +aaa +aaa +aaa +abj +abj +abj +abj +abj +abj +abj +aaa +aaa +bHs +bJi +bLb +bMZ +bPg +bRh +bSW +bVa +bXs +bZy +cbo +cde +ceT +cgH +cis +ckc +clq +cmX +coz +cqa +crm +csQ +cbk +cvM +cxa +cyM +cAm +cBQ +cDx +cFl +cAm +cAm +cAm +cKN +cMm +cNN +cPF +cRh +cSU +cRh +cWw +cSS +cZJ +dbt +ddf +deE +cNA +dhj +dix +dkv +dma +dnC +dpB +dmd +dsJ +dtN +dvA +dxi +dyD +dma +dBo +cSF +dEc +cPy +dBo +cSF +dEc +cPy +dLm +dMT +cHU +aaa +aaa +dPq +dQY +dPq +aaa +aaa +dPq +dVx +dWq +dXe +dXY +dYT +dPq +aad +ajr +aad +ajr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aab +aaa aaa aaa aaa @@ -149706,32 +151812,32 @@ aaa aaa aaa aaa -aae +aac aaa -aaf +aad aaa aaa -aaf -aal -aaf -aaf -aaf -aaw -aaf -aaf -aaf -aal -aaf -aaf -aaf -aaf -aaf -aae -aaf -aaH -aaf -aaf -aaH +aad +aak +aad +aad +aad +aaE +aad +aad +aad +aak +aad +aad +aad +aad +aad +aac +aad +abj +aad +aad +abj aaa aaa aaa @@ -149748,144 +151854,144 @@ aaa aaa aaa aaa -aaf -alJ -amL -anV -aoy -apz -aqW -arZ -alJ +aad +aoF +apF +aqI +ari +asi +atG +auO +aoF aaa -avL -awM -axH -ayY -axH -axH -axH -axI -aED -aFX -aHs -aIu +ayF +azI +aAM +aCf +aAM +aAM +aAM +aAN +aHZ +aJw +aKT +aMa aaa -aaf -aNh -aOI -aQE -aSf -aTR -aNh -aaf +aad +aQR +aSs +aUq +aVR +aXF +aQR +aad aaa -bax -bbT -bdc -beB -bgp +bel +bfJ +bgT +biu +bkf aaa aaa aaa -bne -bne -bqx -bne -bne -bqx -bne -bne -bne +brc +brc +buu +brc +brc +buu +brc +brc +brc aaa -bDi -bEZ -bGS -bIQ -bKU -bMV -bOK -bQN -bSZ -eiF -bWM -bYH -cax -cch -cdS -cfC -cgO -civ -cjX -clv -efS -con -bWM -crg -csA -cuh -cvF -cxj -cyH -cAB -cBV -cDm -cvF -cFR -cHj -cIH -cKz -cLZ -cNN -cPE -cRm -cSL -cKp -cLM -cLL -cSA -cIt -dbY -ddk -dfe -dgJ -dij -dio -dgM -dnm -dop -dqb -drH -dtc -dgI -dvJ -cNw -dyl -cKs -dvJ -cNw -dyl -cKs -dFn -dGT -daM -aaf -aaf -dKh -dLa -dMh -aaf -aaf -dJq -dPJ -dQy -dRq -dSh -dTa -dMh +bHr +bJj +bLc +bNa +bPh +bRi +bSX +bVb +bXt +bZz +cbk +cdf +ceU +cgI +cit +ckd +clr +cmY +coA +cqb +crp +csR +cbk +cvM +cxh +cyM +cAm +cBR +cDp +cFm +cGK +cIc +cAm +cKO +cMm +cNO +cPF +cRi +cSV +cUN +cWx +cXZ +cPv +cQU +cQT +cXO +cNA +dhj +diy +dkv +dmb +dnD +dnI +drn +dsK +dtO +dvB +dxj +dyE +dma +dBp +cSE +dEd +cPy +dBp +cSE +dEd +cPy +dLn +dMU +dfX +aad +aad +dQh +dQZ +dSc +aad +aad +dPr +dVy +dWr +dXf +dXZ +dYU +dSc aaa -agg -aaf +ajr +aad aaa aaa aaa @@ -149963,29 +152069,29 @@ aaa aaa aaa aaa -aae -aae -aae -aae -aaf -aai -aam -aan -aaa -aaf +aac +aac +aac +aac +aad +aag aal -aaf -aaa -aai -aam aan -aaf -aae -aaf -aae -aae aaa -aaH +aad +aak +aad +aaa +aag +aal +aan +aad +aac +aad +aac +aac +aaa +abj aaa aaa aaa @@ -150004,147 +152110,147 @@ aaa aaa aaa aaa -aae -aaf -alJ -amM -alJ -alJ -alI -alI -alJ -alJ +aac +aad +aoF +apG +aoF +aoF +aoE +aoE +aoF +aoF aaa -avL -ehn -axI -axI -axI -axH -axI -axH -aEE -aFX -aHt -aIu +ayF +azJ +aAN +aAN +aAN +aAM +aAN +aAM +aIa +aJw +aKU +aMa aaa -aaf -aNk -aOP -aQF -aSn -aTS -aVu -aaf -aYS -aYS -aYT -bdd -aYT -aYS -aYS +aad +aQU +aSz +aUr +aVZ +aXG +aZi +aad +bcH +bcH +bcI +bgU +bcI +bcH +bcH aaa aaa -bnf -bpa -bqy -brW -btk -buz -bvZ -bne -bzR +brd +bsX +buv +bvU +bxj +byA +bzZ +brc +bDU aaa -bDj -bFa -bGT -bIR -bKV -bMW -bOL -bQO -bTa -bVd -bWR -bWR -cay -cci -bWR -bWR -bWR -bWM -bWM -bWM -bWM -bWM -bWM -crk -csB -cuk -cvF -cxc -cvF -cAC -cvF -cvF -cvF -cFS -cHj -cII -cKA -cMa -cNO -cPF -cRn -cLV -cUv -cWg -cXT -cZt -cIs -dbY -esc -dfe -dgI -dik -dio -dgL -dnn -doq -dqc -drI -dtd -dgI -dvK -dwX -dym -cKs -dvK -dwX -dym -cKs -cHd -dGU -cDe +bHs +bJk +bLd +bNb +bPi +bRj +bSY +bVc +bXu +bZA +cbp +cbp +ceV +cgJ +cbp +cbp +cbp +cbk +cbk +cbk +cbk +cbk +cbk +cvQ +cxi +cyO +cAm +cBK +cAm +cFn +cAm +cAm +cAm +cKP +cMm +cNP +cPG +cRj +cSW +cUO +cWy +cRe +cZK +dbu +ddg +deF +cNz +dhj +diz +dkv +dma +dnE +dnI +dmd +dsL +dtP +dvC +dxk +dyF +dma +dBq +dCN +dEe +cPy +dBq +dCN +dEe +cPy +cMg +dMV +cHU aaa aaa -dJq -dKZ -dMh +dPr +dRa +dSc aaa aaa -dJp -dPK -dQz -dRr -dSi -dTb -dJp -aaf -aaf -aaf -agg -agg +dPq +dVz +dWs +dXg +dYa +dYV +dPq +aad +aad +aad +ajr +ajr aaa aaa aaa @@ -150223,23 +152329,23 @@ aaa aaa aaa aaa -aae +aac aaa -aai -aam +aag +aal aan aaa -aai -aam +aag +aal aan aaa -aai -aam +aag +aal aan aaa -aae -aaf -aaf +aac +aad +aad aaa aaa aaa @@ -150262,146 +152368,146 @@ aaa aaa aaa aaa -aaf -aaH +aad +abj aaa -aaH -aaf -aaf -aaf -aaf +abj +aad +aad +aad +aad aaa aaa -avL -awN -axI -axH -axH -axH -axH -axH -aEE -aFY -aHt -aIu +ayF +azK +aAN +aAM +aAM +aAM +aAM +aAM +aIa +aJx +aKU +aMa aaa -aaf -aNi -aOQ -aQG -aSo -aTT -aNi -aaf -aYS -bay -bbU -bde -beC -bgq -aYS +aad +aQS +aSA +aUs +aWa +aXH +aQS +aad +bcH +bem +bfK +bgV +biv +bkg +bcH aaa aaa -bnf -bpb -bqz -brX -btl -buA -bwa -bxW -bzR +brd +bsY +buw +bvV +bxk +byB +bAa +bBX +bDU aaa -bDj -bFb -bGU -bIS -bKW -bMX -bOM -bQP -bTb -bVe -bWR -bYI -caz -ccj -cdT -cfD -bWR -ciw -cjY -clw -cmL -coo -cpP -crl -csC -cul -cvH -cxk -cyQ -cAD -cBW -clx -cEh -cFR -cHj -cID -cKB -cMb -cID -cID -cLV -cLV -cKs -cKs -cKs -cKs -cIw -dce -ddw -egj -dgI -dil -dkh -dil -dno -dgI -dqd -dgI -dgI -dgI -dvL -dwY -dyn -cKs -dvL -dwY -dyn -cKs -dFo -dGV -cDe +bHs +bJl +bLe +bNc +bPj +bRk +bSZ +bVd +bXv +bZB +cbp +cdg +ceW +cgK +ciu +cke +cbp +cmZ +coB +cqc +crq +csS +cuw +cvR +cxj +cyP +cAo +cBS +cDy +cFo +cGL +cqd +cJa +cKO +cMm +cNK +cPH +cRk +cNK +cNK +cRe +cRe +cPy +cPy +cPy +cPy +cND +dhp +diL +dkB +dma +dnF +dpC +dnF +dsM +dma +dvD +dma +dma +dma +dBr +dCO +dEf +cPy +dBr +dCO +dEf +cPy +dLo +dMW +cHU aaa -dJp -dJp -dLb -dJp -dJp -dJp -dJp -dOh -dQA -dRs -dMh -dKl -dJp -dJp -dJp -aaf -aaf -aaf +dPq +dPq +dRb +dPq +dPq +dPq +dPq +dTY +dWt +dXh +dSc +dQl +dPq +dPq +dPq +aad +aad +aad aaa aaa aaa @@ -150480,21 +152586,21 @@ aaa aaa aaa aaa -aaf -aaf -aai -aam +aad +aad +aag +aal aan -aaf -aai -aam +aad +aag +aal aan -aaf -aai -aam +aad +aag +aal aan -aaf -aae +aad +aac aaa aaa aaa @@ -150520,145 +152626,145 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa -aae -aae +aac +aac aaa aaa aaa -avL -awO -axJ -ayZ -axJ -eho -ayZ -axJ -aEF -avL -avL -aIv +ayF +azL +aAO +aCg +aAO +aEk +aCg +aAO +aIb +ayF +ayF +aMb aaa -aaf -aNl -aOR -aNg -aNg -aTU -aVv -aaf -aYT -baz -bbV -bdf -beD -bgr -bil +aad +aQV +aSB +aQQ +aQQ +aXI +aZj +aad +bcI +ben +bfL +bgW +biw +bkh +bmb aaa aaa -bnf -bpc -bqA -brY -btm -buB -bwb -bne -bzR +brd +bsZ +bux +bvW +bxl +byC +bAb +brc +bDU aaa -bDi -bFc -bGV -bIT -bKX -bMY -bDi -bQQ -bTc -bVf -bWS -bYJ -caA -cck -cdU -cfE -bWR -cix -cjZ -clx -cmM -cop -cpQ -crm -cpQ -cum -cpQ -cxl -cpQ -cAE -cBX -clx -cEi -cFT -cHk -cIJ -cKC -cMc -cKs -cPG -cKs -cSM -cUw -cWh -cXU -ege -cKs -egg -ddj -dfe -dgI -dim -dim -dlS -dnp -dor -dqe -drJ -egn -dgI -dvM -dwZ -dyo -cKs -dvM -dwZ -dyo -cKs -dFp -dGU -cDe -aaf -dJp -dKi -dLc -dMi -dNh -dOa -dOZ -dPL -dQB -dRt -dSj -dTc -dSj -dUg -dJp -dVm -dWd -aaf +bHr +bJm +bLf +bNd +bPk +bRl +bHr +bVe +bXw +bZC +cbq +cdh +ceX +cgL +civ +ckf +cbp +cna +coC +cqd +crr +csT +cux +cvS +cux +cyQ +cux +cBT +cux +cFp +cGM +cqd +cJb +cKQ +cMn +cNQ +cPI +cRl +cPy +cUP +cPy +cYa +cZL +dbv +ddh +deG +cPy +dhq +dix +dkv +dma +dnG +dnG +dro +dsN +dtQ +dvE +dxl +dyG +dma +dBs +dCP +dEg +cPy +dBs +dCP +dEg +cPy +dLp +dMV +cHU +aad +dPq +dQi +dRc +dSd +dSY +dTR +dUO +dVA +dWu +dXi +dYb +dYW +dYb +eaf +dPq +ebs +ecg +aad aaa aaa aaa @@ -150737,21 +152843,21 @@ aaa aaa aaa aaa -aae +aac aaa -aai -aam +aag +aal aan aaa -aai -aam +aag +aal aan aaa -aai -aam +aag +aal aan aaa -aae +aac aaa aaa aaa @@ -150770,152 +152876,152 @@ aaa aaa aaa aaa +aab aaa aaa aaa aaa aaa aaa +abj aaa -aaH -aaa -aaH +abj aaa aaa aaa aaa aaa aaa -avL -avL -avL -avL -avL -avL -aBT -avL -avL -avL -avL +ayF +ayF +ayF +ayF +ayF +ayF +aFl +ayF +ayF +ayF +ayF aaa aaa -aaf -aaf -aaf +aad +aad +aad aaa aaa -aaf -aaf -aaf -aYS -baA -bbW -bdg -beE -bgs -aYS +aad +aad +aad +bcH +beo +bfM +bgX +bix +bki +bcH aaa aaa -bne -bne -bqB -bne -bne -bne -bwc -bne -bne +brc +brc +buy +brc +brc +brc +bAc +brc +brc aaa -bDi -bDi -bGW -bIU -bDi -bDi -bDi -bQQ -bTd -bVg -bWT -bYK -caB -ccl -cdV -efQ -cgP -ciy -cka -clx -cmM -cop -cpQ -crn -erA -cun -cvI -cxm -cpQ -cAE -cBY -clx -cEj -cFU -cHl -cIK -cKD -cMd -cNP -cPH -cNP -cSN -cUx -cWi -cXV -cZv -day -dcg -ddx -dfl -dgK -din -dim -dlS -dnq -dos -dqf -drK -dtf -dgI -cKs -cKs -cKs -cKs -cKs -cKs -cKs -cKs -cHd -dGW -daM +bHr +bHr +bLg +bNe +bHr +bHr +bHr +bVe +bXx +bZD +cbr +cdi +ceY +cgM +ciw +ckg +cls +cnb +coD +cqd +crr +csT +cux +cvT +cxk +cyR +cAp +cBU +cux +cFp +cGN +cqd +cJc +cKR +cMo +cNR +cPJ +cRm +cSX +cUQ +cSX +cYb +cZM +dbw +ddi +deH +dfJ +dhr +diM +dkC +dmc +dnH +dnG +dro +dsO +dtR +dvF +dxm +dyH +dma +cPy +cPy +cPy +cPy +cPy +cPy +cPy +cPy +cMg +dMX +dfX aaa -dJq -dKj -dLd -dMj -dNi -dOb -dPa -dPM -dQC -dRu -dSk -dTd -dTC -dUh -dUK -dVn -aaf -aaf +dPr +dQj +dRd +dSe +dSZ +dTS +dUP +dVB +dWv +dXj +dYc +dYX +dZz +eag +eaK +ebt +aad +aad aaa aaa aaa @@ -150994,21 +153100,21 @@ aaa aaa aaa aaa -aae +aac aaa -aai -ebb -aan -aaa -aai +aag aam aan aaa -aai -ebb +aag +aal aan aaa -aaf +aag +aam +aan +aaa +aad aaa aaa aaa @@ -151044,136 +153150,136 @@ aaa aaa aaa aaa -aaH -aaH -aaH -aaH -aaH -aaH -aaH -aaH -aaH +abj +abj +abj +abj +abj +abj +abj +abj +abj aaa aaa aaa -aaf +aad aaa -aaf -aaf -aaf -aaf +aad +aad +aad +aad aaa aaa -aYS -aYS -aYT -bdh -aYT -aYS -aYS +bcH +bcH +bcI +bgY +bcI +bcH +bcH aaa aaa aaa -bpd -bqC -bpd +bta +buz +bta aaa -bpd -bwd -bpd +bta +bAd +bta aaa aaa -bDi -bFd -bGX -bIV -bKY -bMZ -bDi -bQR -ern -bVh -bWU -bYL -caC -ccm -cdW -cfG -cgQ -ciz -ckb -clx -cmM -cop -cpR -cro -csD -cuo -cvJ -cxn -cpR -cAE -cBZ -clx -cEk -cFV -cHm -cIL -cKE -cMe -cKs -cPI -cKs -cSO -cUy -cWj -cUz -cZw -daz -dbW -dds -dfm -dgL -dio -dim -dlS -dnr -dot -dqg -drL -dtg -dgI -dvN -daK -dyp -cYg -dAG -dBY -dDp -dgN -dFq -dGU -cDe -aaf +bHr +bJn +bLh +bNf +bPl +bRm +bHr +bVf +bXo +bZE +cbs +cdj +ceZ +cgN +cix +ckh +clt +cnc +coE +cqd +crr +csT +cuy +cvU +cxl +cyS +cAq +cBV +cuy +cFp +cGO +cqd +cJd +cKS +cMp +cNS +cPK +cRn +cPy +cUR +cPy +cYc +cZN +dbx +cZO +deI +dfK +dhh +diH +dkD +dmd +dnI +dnG +dro +dsP +dtS +dvG +dxn +dyI +dma +dBt +dfV +dEh +ddt +dGB +dHW dJp -dKk -dLe -dMk -dNj -dOc -dPb -dPN -dQD -dRv -dSl -dTe -dTD -dUi -dUL -dVo -dWe -aaf -aaf +dmf +dLq +dMV +cHU +aad +dPq +dQk +dRe +dSf +dTa +dTT +dUQ +dVC +dWw +dXk +dYd +dYY +dZA +eah +eaL +ebu +ech +aad +aad aaa aaa aaa @@ -151251,21 +153357,21 @@ aaa aaa aaa aaa -aae +aac aaa aaa -aaf +aad aaa aaa -aai -ebb +aag +aam aan aaa aaa -aaf +aad aaa aaa -aae +aac aaa aaa aaa @@ -151304,134 +153410,134 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa aaa aaa aaa -aae -aaf -aaf +aac +aad +aad aaa aaa -aaf +aad aaa aaa aaa -aaH -aaH -aaH -aaH -aaH +abj +abj +abj +abj +abj aaa -aaf -aaf -aaf -bpe -bqD -bpf -aaf -bpf -bwe -bpe -aaf -aaf -bDi -bFe -bGY -bIW -bKZ -bNa -bDi -bQL -bSU -bVi -bWR -bYM -caD -ccn -cdX -cfH -bWR -ciA -ckc -clx -cmN -coq -cpQ -crp -csE -cuo -cvK -cxo -cpR -cAF -cmN -clx -cvP -cvP -cvP -cvP -cKF -cMf -cNQ -cPJ +aad +aad +aad +btb +buA +btc +aad +btc +bAe +btb +aad +aad +bHr +bJo +bLi +bNg +bPm +bRn +bHr +bUZ +bXn +bZF +cbp +cdk +cfa +cgO +ciy +cki +cbp +cnd +coF +cqd +crs +csU +cux +cvV +cxm +cyS +cAr +cBW +cuy +cFq +crs +cqd +cAw +cAw +cAw +cAw +cPL cRo -cSP -cUz -cWk -cXW -cZx -daA -dbY -ddk -dfn -ecW -dip -dim -dlS -dns -dou -dqh -drM -dth -dgI -dvO -dxa -cZA -dgO -dAH -dcj -dDq -dgO -cWn -dGX -cDe -aaa -dJp -dKl -dLf -dMl -dNk -dKl -dKl -dKl -dOY -dRw +cSY +cUS +cWz +cYd +cZO +dby +ddj +deJ +dfL +dhj +diy +dkE +dme +dnJ +dnG +dro +dsQ +dtT +dvH +dxo +dyJ +dma +dBu +dCQ +deM +dmg +dGC +dhu dJq -dTf -dTE -dKl -dJp -dJp -dJp -dJp -aaf -agg +dmg +dbB +dMY +cHU +aaa +dPq +dQl +dRf +dSg +dTb +dQl +dQl +dQl +dUN +dXl +dPr +dYZ +dZB +dQl +dPq +dPq +dPq +dPq +aad +ajr aaa aaa aaa @@ -151508,21 +153614,21 @@ aaa aaa aaa aaa -aae -aae -aaf -aae -aae +aac +aac +aad +aac +aac aaa aaa -aaf +aad aaa aaa -aae -aae -aaf -aae -aae +aac +aac +aad +aac +aac aaa aaa aaa @@ -151561,136 +153667,136 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa aaa aaa aaa -aae +aac aaa -aaf +aad aaa aaa -aaf +aad aaa aaa -aaf +aad aaa aaa -aaf +aad aaa aaa -aaf -bjN -blk -bjQ -bpf -bqE -bpf -bjQ -bpf -bwf -bpf -bzS -bzS -bDi -bDi -bDi -bDi -bDi -bDi -bDi -bQS -bTe -bVj -bWR -bYN -bYN -bYN -bYN -bYN -bWR -ciB -ckd -clx -cmO -cor -cpS -crq -csF -cuo -cvL -cxp -erA -cAG -cCa -clx -cEl -cFW -cHn -cvP -cKG -cMg -cKs -efZ -cKs -cSQ -cUA -cWl -cXX -cZy -cKs -dbY -ddy -dfe -dgI -diq -dki -dlS -dnt -dov -dqi -drN -dti -dgI -dvP -dxb -dyq -dyq -dyr -dyq -dDr -dyq -dyq -dyq -dyq -aaf -dJp -dKm -dLg -dMm -cHL -egG -dKl -dPO -dQE -dKl -dSm -dTg -dTF -dUj -dUM -dVp -dWf -dJp -aaf -agg -aaf -agg +aad +bnD +bpc +bnG +btc +buB +btc +bnG +btc +bAf +btc +bDV +bDV +bHr +bHr +bHr +bHr +bHr +bHr +bHr +bVg +bXy +bZG +cbp +cdl +cdl +cdl +cdl +cdl +cbp +cne +coG +cqd +crt +csV +cuz +cvW +cxn +cyS +cAs +cBX +cxk +cFr +cGP +cqd +cJe +cKT +cMq +cAw +cPM +cRp +cPy +cUT +cPy +cYe +cZP +dbz +ddk +deK +cPy +dhj +diN +dkv +dma +dnK +dpD +dro +dsR +dtU +dvI +dxp +dyK +dma +dBv +dCR +dEi +dEi +dEj +dEi +dJr +dEi +dEi +dEi +dEi +aad +dPq +dQm +dRg +dSh +dTc +dTU +dQl +dVD +dWx +dQl +dYe +dZa +dZC +eai +eaM +ebv +eci +dPq +aad +ajr +aad +ajr aaa aaa aaa @@ -151769,13 +153875,13 @@ aaa aaa aaa aaa -aae -aae -aaf -aae -aae -aaf -aae +aac +aac +aad +aac +aac +aad +aac aaa aaa aaa @@ -151815,139 +153921,139 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aae +aad +aad +aad +aad +aad +aad +aad +aad +aad +aad +aad +aad +aac aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -bjO -bll -bng -bpg -bqF -brZ -bjQ +aad +aad +aad +aad +aad +aad +aad +aad +aad +aad +aad +aad +aad +bnE +bpd +bre +btd buC -bqF -bpg -bzT -bBA -bDk -bFf -bGZ -bIX -bGZ -bGZ -bON -bQT +bvX +bnG +byD +buC +btd +bDW +bFG +bHt +bJp +bLj +bNh +bLj +bLj bTa -efI -bWV -bDn -caE -cco -efM -bdi -cgR -ciC -eru -clx -ejB -cos -cpQ -crr -csG -cup -cvM -cxq -cyR -cAH -cCb -cDn -cEm -cFX -cHo -cvP -cKH -cHc -cKs -cKs -cKs -cKs -cKs -cKs -cKs -cKs -cKs -dch -ddz -dfo -dgI -dgI -dgI -dgI -dno -dgI -dqj -dgI -dgI -dgI -dvQ -dxc -dyq -dzp -dAI -dBZ -dDs -dAJ -dFr -dGY -dyq +bVh +bXu +bZH +cbt +bHw +cfb +cgP +ciz +bgZ +clu +cnf +coH +cqd +cru +csW +cux +cvX +cxo +cyT +cAt +cBY +cDz +cFs +cGQ +cId +cJf +cKU +cMr +cAw +cPN +cMf +cPy +cPy +cPy +cPy +cPy +cPy +cPy +cPy +cPy +dhs +diO +dkF +dma +dma +dma +dma +dsM +dma +dvJ +dma +dma +dma +dBw +dCS +dEi +dFk +dGD +dHX +dJs +dGE +dLr +dMZ +dEi aaa -dJr -dKn -dLh -dMn -dNm -dOe -dKl -dPP -dQF -dRx -dSn -dTh -dTG -dUk -dUN -dVq -dWg -dWM +dPs +dQn +dRh +dSi +dTd +dTV +dQl +dVE +dWy +dXm +dYf +dZb +dZD +eaj +eaN +ebw +ecj +ecI aaa -aaf +aad aaa -agg +ajr aaa aaa aaa @@ -152072,139 +154178,139 @@ aaa aaa aaa aaa -aaf +aad aaa aaa -aaf +aad aaa -aaf +aad aaa aaa -aaf +aad aaa aaa aaa -aae +aac aaa -aaf +aad aaa aaa -aaf +aad aaa aaa aaa -aaf +aad aaa aaa aaa aaa -aaf -bjP -blm -bnh -bph -bqG -bsa -btn +aad +bnF +bpe +brf +bte buD -bwg -bxX -bzU -bBB -bDl -bFg -bDl -bDl -bLa -bDl -bDl -bQU -bTf -bVl -bWW -bYO -caF -ccp -cdZ -bdi -cgS -ciD -ckc -clx -cmP -cot -cpT -crs -csH -cuq -cvN -cxr -cvN -cAI -cBX -csB -cEn -cFY -cHp -cvP -cKI -cMh -cNR -cNR -cRp -cRp -cUB -cWm -cXY -cZz -daB -dci -ddA -dfp -dgN -dir -dkj -dkj -dnu -dow -dqk -drO -eiG -duz -dvR -dxd -dyq -dzq -dAJ -dCa -dDt -dAJ -dAL -dGZ -dHU +bvY +bxm +byE +bAg +bBY +bDX +bFH +bHu +bJq +bHu +bHu +bPn +bHu +bHu +bVi +bXz +bZI +cbu +cdm +cfc +cgQ +ciA +bgZ +clv +cng +coF +cqd +crv +csX +cuA +cvY +cxp +cyU +cAu +cBZ +cDA +cFt +cGM +cxi +cJg +cKV +cMs +cAw +cPO +cRq +cSZ +cSZ +cWA +cWA +cZQ +dbA +ddl +deL +dfM +dht +diP +dkG +dmf +dnL +dpE +dpE +dsS +dtV +dvK +dxq +dyL +dAh +dBx +dCT +dEi +dFl +dGE +dHY +dJt +dGE +dGG +dNa +dNX aaa -dJs -dKo -dLi -dMo -dNn -dOf -dMh -dPQ -dQG -dRy -dSo -dTi -dTH -dKl -dUO -dVr -dKl -dJp -aaf -agg -aaf -agg +dPt +dQo +dRi +dSj +dTe +dTW +dSc +dVF +dWz +dXn +dYg +dZc +dZE +dQl +eaO +ebx +dQl +dPq +aad +ajr +aad +ajr aaa aaa aaa @@ -152329,139 +154435,139 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf +aad +aad +aad +aad aaa -aaf +aad aaa aaa -aaf +aad aaa aaa aaa -aae -aaf -aae +aac +aad +aac aaa aaa -aaf +aad aaa aaa aaa -aaf +aad aaa -bdi -beF -bgt -bim -bjQ -bln -bni -bpi -bqH -bsb -bto +bgZ +biy +bkj +bmc +bnG +bpf +brg +btf buE -bwh -era -bzV -bBC -bDm -bFh -bFh -bIY -bFh -bFh -bFh -bQV -bTg -bVm -bWX -bDn -caG -ccq -cea -bdi -cgT +bvZ +bxn +byF +bAh +bBZ +bDY +bFI +bHv +bJr +bJr +bNi +bJr +bJr +bJr +bVj +bXA +bZJ +cbv +bHw +cfd +cgR ciB -cke -clx -cmP -cou -cpU -crt -csI -cur -cvO -cxs -cyS -cAJ -cCd -cDo -cEo -cFZ -cHq -cvP -cKJ -cMi -cMi -cPL -cRq -cSR -cUC -cWn -cWn -cZA -daC -dcj -ddB -dfq -dgO -dis -cMi -dcq -daL -dox -dql -daL -eiH -cWq -dvS -dxe -dyq -dzr -dAK -dCb -dDu -dEp -dFs -dHa -dHU -aaf -dJp +bgZ +clw +cne +coI +cqd +crv +csY +cuB +cvZ +cxq +cyV +cAv +cCa +cyV +cFu +cGR +cIe +cJh +cKW +cMt +cAw +cPP +cRr +cRr +cUU +cWB +cYf +cZR +dbB +dbB +deM +dfN +dhu +diQ +dkH +dmg +dnM +cRr +dhB +dfW +dtW +dvL +dfW +dyM +dbE +dBy +dCU +dEi +dFm +dGF +dHZ +dJu dKp -axC -dMp -dNo -dOg -dKl -dPR -dQH -dRz -dSp -dTj -dTI -dUk -dUP -dVs -dWg -dWM +dLs +dNb +dNX +aad +dPq +dQp +dRj +dSk +dTf +dTX +dQl +dVG +dWA +dXo +dYh +dZd +dZF +eaj +eaP +eby +ecj +ecI aaa -aaf +aad aaa -agg +ajr aaa aaa aaa @@ -152586,139 +154692,139 @@ aaa aaa aaa aaa -aaH +abj aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aae +aad +aad +aad +aad +aad +aad +aad +aad +aad +aac aaa -aae +aac aaa aaa -aBU -aEG -aEG -aBU -aBU +aFm +aIc +aIc +aFm +aFm aaa -bdi -efr -bgu -bin -bjQ -blo -bnj -bpj -bqI -bsc -bjQ +bgZ +biz +bkk +bmd +bnG +bpg +brh +btg buF -bwi -bxY -efF -bjQ -bdi -bdi -bdi -bdi -bdi -bdi -bdi -bdi -bTh -bVn -bWY -bdi -bIZ -YGN -ceb -bdi -cgU -ciE -ckf +bwa +bnG +byG +bAi +bCa +bDZ +bnG +bgZ +bgZ +bgZ +bgZ +bgZ +bgZ +bgZ +bgZ +bXB +bZK +cbw +bgZ +bNj +ehu +ciC +bgZ clx -clx -clx -cpV -clx -clx -clx -clx -clx -clx -clx -clx -clx -cEp -cGa -cHr -cvP -cvP -cvP -cvP -cvP -cvP -cSS -cUD -cWo -cWo -cWo -daD -cZH -cWo -cWo -dgP -dgP -dgP -dgP -dgP -doy -dgP -dgP -dgP -dgP -dvT -dxf -dyq -dzs -dAL -dAL -dDv -dAJ -dAL -dHb -dyq -aaf -dJp -dKl -egx -dMq -dNp -dOh -dKl -dPS -dQI -dKl -dSq -dTk -dTJ -dUj -dUQ -dVt -dWf -dJp -aaf -agg -aaf -agg +cnh +coJ +cqd +cqd +csZ +cuC +cwa +cxr +cyW +cqd +cCb +cDB +cFv +cGS +cqd +cJi +cKX +cMu +cAw +cAw +cAw +cAw +cAw +cAw +cYg +cZS +dbC +dbC +dbC +dfO +deT +dbC +dbC +dmh +dmh +dmh +dmh +dmh +dtX +dmh +dmh +dmh +dmh +dBz +dCV +dEi +dFn +dGG +dGG +dJv +dGE +dGG +dNc +dEi +aad +dPq +dQl +dRk +dSl +dTg +dTY +dQl +dVH +dWB +dQl +dYi +dZe +dZG +eai +eaQ +ebz +eci +dPq +aad +ajr +aad +ajr aaa aaa aaa @@ -152843,139 +154949,139 @@ aaa aaa aaa aaa -aaH -aaf -aaf -aaH +abj +aad +aad +abj aaa -aaf +aad aaa aaa -aaf +aad aaa aaa aaa -aaf +aad aaa -aae -aaf -aaf -aBU -aVw -aXk -aYU -aBU -aaf -bdi -beH -bgv -bio -bjQ -blp -bnk -bpk -bqJ -bsd -blk +aac +aad +aad +aFm +aZk +baZ +bcJ +aFm +aad +bgZ +biA +bkl +bme +bnG +bph +bri +bth buG -bwh -bxZ -bzX -bjQ -bDo -erg -bHb -bIZ -bLb -bFj -bHb -bIZ -bTi -bVo -bWZ -bIZ -caH -ccr -cec -bdi -cgV -ciF -ckg +bwb +bpc +byH +bAh +bCb +bEa +bnG +bHx +bJt +bLl +bNj +bPo +bRo +bLl +bNj +bXC +bZL +cbx +bNj +cfe +cgS +ciD +bgZ cly -cmQ -cov -cpW -cru -csJ -cus -cvP -cxt -cyT -cAK +cni +coK +cqe +crw +cta +cuD +cqe +cqe +cyX +cAw +cAw +cAw +cAw +cAw +cAw +cJj +cKY +cMv +cIg +cPQ +cFy +cTa cCe -eiT -eiZ -cGb -cHs -eiT -eci -cCg -cNS -cxw -cvP -cST -cUE -cWo -cXZ -cZB -daE -dck -ddC -dfr -dgP -dit -dkk -dlT -dnv -doz -dqm -drP -dtj -dgP -dvU -esk -dyq -dzt -dAM -dCc -dDw -dEq -dFt -dHc -dyq -aaf -aaf -dJp -dLk -dMr -dNl -dOi -dJp -dJp -dJp -dJp -dJp -dOY -dJp -dJp -dJp -dJp -dJp -dJp -aaf +cAw +cYh +cZT +dbC +ddm +deN +dfP +dhv +diR +dkI +dmh +dnN +dpF +drp +dsT +dtY +dvM +dxr +dyN +dmh +dBA +dCW +dEi +dFo +dGH +dIa +dJw +dKq +dLt +dNd +dEi +aad +aad +dPq +dRl +dSm +dTh +dTZ +dPq +dPq +dPq +dPq +dPq +dUN +dPq +dPq +dPq +dPq +dPq +dPq +aad aaa aaa -agg +ajr aaa aaa aaa @@ -153100,139 +155206,139 @@ aaa aaa aaa aaa -aaH +abj aaa aaa -aaH -aaf -aaf -aaf -agg -agg -agg -aaf -aaf -aaf -aaf -aaf +abj +aad +aad +aad +ajr +ajr +ajr +aad +aad +aad +aad +aad aaa aaa -aBU -aVx -aXl -aYV -aBU +aFm +aZl +bba +bcK +aFm aaa -bdi -beI -bgw -bip -bjQ -blq -bnl -bpl -bqK -bse -bjQ +bgZ +biB +bkm +bmf +bnG +bpi +brj +bti buH -bwj -bya -bzY -bjQ -bDp -bFk -bHc -bAb -bLc -bgA -bOO -bIZ -bTj -bVp -bXa -bIZ -caI -ccs -ced -bdi -cgW -ciG -ckh +bwc +bnG +byI +bAj +bCc +bEb +bnG +bHy +bJu +bLm +bEe +bPp +bkq +bTb +bNj +bXD +bZM +cby +bNj +cff +cgT +ciE +bgZ clz -cmR -cow -cpX -crv -csK -cke -cvP -cxu -cyT -cyT -cyT -cDp -cEq -eje -cHt -cIM -cyX -cyX +cnj +coL +cqf +crx +ctb +cuE +cwb +cxs +coI +cAw +cCc +cDC +cFw +cGT +cIf +cJk +cKZ +cMw cNT -cPM -cvP -erW -cUF -cWo -cYa -cZC -daF -dcl -ddD -dfs -dgP -diu -dkl -dkl -dkl -doA -dkl -dkl -dqm -dgP -dvP -cSS -dyq -dzu -dAN -dAN -dDx -dAN -dFu -dHd -dyq -aaf -aaf -dJq -dLl -dMs -dNq -dOj -dMh +cDG +cDG +cTb +cUV +cAw +cYi +cZU +dbC +ddn +deO +dfQ +dhw +diS +dkJ +dmh +dnO +dpG +dpG +dpG +dtZ +dpG +dpG +dvM +dmh +dBv +cYg +dEi +dFp +dGI +dGI +dJx +dGI +dLu +dNe +dEi +aad +aad +dPr +dRm +dSn +dTi +dUa +dSc aaa -aaf -aaf -aaf +aad +aad +aad aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -agg -aaf -agg +aad +aad +aad +aad +aad +aad +aad +ajr +aad +ajr aaa aaa aaa @@ -153357,137 +155463,137 @@ aaa aaa aaa aaa -aaH -aaf -aaf -aaH +abj +aad +aad +abj aaa aaa -aaf +aad aaa -aaf +aad aaa aaa -aaf -aBU -aBU -aBU -aBU -aBU -aBU -aVy -aXm -aBU -aBU -aBU -bdi -beJ -bgx -biq -bjQ -blr -bnm -bpm -bqL -blk -bjQ -bjQ -bwk -byb -bjQ -bjQ -bDq -bFl -bim -bIZ -bDq -bNb -bOP -bIZ -epG -bVq -epH -bIZ -beF -cct -bOP -bdi -cgX -ciH -cki -cgX -cgT -cox -cmX -cmX -ciB -erB -cvP -cxv -cyU -cAL -cCf -eiU -eja -cGd -cHu -eiU -cKK -cMj -cyX -cPN -cvP -cSS -cUF -cWo -cYb -cZD -daG -dcm -dcl -dft -dgP -div -dkl -dkl -dkl -doB -dkl -drQ -dtk -eqf -dvV -dxg -dyr -dzv -dAO -dAO -dDy -dAO -dAO -dHe -dHU +aad +aFm +aFm +aFm +aFm +aFm +aFm +aZm +bbb +aFm +aFm +aFm +bgZ +biC +bkn +bmg +bnG +bpj +brk +btj +buI +bpc +bnG +bnG +bAk +bCd +bnG +bnG +bHz +bJv +bmc +bNj +bHz +bRp +bTc +bNj +bXE +bZN +cbz +bNj +biy +cgU +bTc +bgZ +clA +cnk +coM +clA +clw +ctc +bHq +bHq +cne +cyY +cAx +cCd +cDD +cFx +cGU +cAw +cJl +cLa +cMx +cIi +cPR +cRs +cDG +cUW +cAw +cYg +cZU +dbC +ddo +deP +dfR +dhx +dhw +dkK +dmh +dnP +dpG +dpG +dpG +dua +dpG +dxs +dyO +dAi +dBB +dCX +dEj +dFq +dGJ +dGJ +dJy +dGJ +dGJ +dNf +dNX aaa -aaf -dJp -dLm -dMt -dNr -dOk -dJp -aaf -agg -agg -agg -aaf -agg -agg -agg +aad +dPq +dRn +dSo +dTj +dUb +dPq +aad +ajr +ajr +ajr +aad +ajr +ajr +ajr aaa -agg -agg -agg -agg +ajr +ajr +ajr +ajr aaa aaa aaa @@ -153617,131 +155723,131 @@ aaa aaa aaa aaa -aaH -aaf -aaf -agg +abj +aad +aad +ajr aaa -aaf -aaf -aaf -aaf -aBU -aNm -aOS -aQH -aSp -aTV -aVz -aXn -aYW -baB -bbX -bdj -beK -bgy -bir -bjR -bir -bnn -bpn -bqM -bir -btp -buI -bwl -byc -bzZ -bir -bDr -bFm -bHd -bJa -bLd -bFm -bOQ -bQW -bTk -bir -bXb -bYP -caJ -ccu -cee -cfI -cgY -ciI +aad +aad +aad +aad +aFm +aQW +aSC +aUt +aWb +aXJ +aZn +bbc +bcL +bep +bfN +bha +biD +bko +bmh +bnH +bmh +brl +btk +buJ +bmh +bxo +byJ +bAl +bCe +bEc +bmh +bHA +bJw +bLn +bNk +bPq +bJw +bTd +bVk +bXF +bmh +cbA +cdn +cfg +cgV +ciF ckj -clA -cmS -coy -cpY -crw -ciB -cut -cvP -cvP -cvP -cvP -cvP -cvP -cEr -cGe -cHv -cvP -cvP -cvP -cvP -cvP -cvP -cSU -cUG -cWo -cYc -cZC -daH -dcn -ddE -dfu -dgP -diw -dkm -dkl -dnw -doC -dkl -drR -dtl -dgP -dvQ -dxh -dyr -dzw -dAL -dCd -dDz -dAI -dCa -dHf -dHU +clB +cnl +coN +cqg +cry +ctd +cuF +cwc +cne +cyZ +cAw +cAw +cAw +cAw +cAw +cAw +cJm +cLb +cMy +cAw +cAw +cAw +cAw +cAw +cAw +cYj +cZV +dbC +ddp +deO +dfS +dhy +diT +dkL +dmh +dnQ +dpH +dpG +dsU +dub +dpG +dxt +dyP +dmh +dBw +dCY +dEj +dFr +dGG +dIb +dJz +dGD +dHY +dNg +dNX aaa -aaf -dJp -dJp -dJp -dJp -dJp -dJp +aad +dPq +dPq +dPq +dPq +dPq +dPq aaa -aaf +aad aaa aaa aaa aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -153877,129 +155983,129 @@ aaa aaa aaa aaa -agg -aaf -aaf -aBU -aBU -aBU -aBU -aNn -aOT -aOT -aOT -aTW -aVA -aXo -aYX -baC -bbY -bdk -beL -bgz -bis -bjS -bls -bno -bpo -eqW -bqN -bqN -bqN -bwm -byd -efG -bBD -bDs -bFn -bHe -bqN -bLe -bFn -bOR -bqN -bTl -bVr -bjS -bYQ -caK -ccv -cef -cfJ -cgZ -ciJ +ajr +aad +aad +aFm +aFm +aFm +aFm +aQX +aSD +aSD +aSD +aXK +aZo +bbd +bcM +beq +bfO +bhb +biE +bkp +bmi +bnI +bpk +brm +btl +buK +bwd +bwd +bwd +bAm +bCf +bEd +bFJ +bHB +bJx +bLo +bwd +bPr +bJx +bTe +bwd +bXG +bZO +bnI +cdo +cfh +cgW +ciG ckk -clB -cmT -coz -cpZ -cmX -ciF -cuu -cvP -cxw -cyV -cCg -ech -eiT -eiZ -ejf -ejj -eiT -cKL -cMk -cyY -cxz -cvP -cSV -cUG -cWo -cYd -cZE -cZC -dco -ddF -dfv -dgP -dix -dkl -dkl -dkl -dkl -dkl -drS -dtm -duA -dvW -cSS -dyq -dzx -dAP -dCe -dDA -dEr -dFw -dHg -dyq -aaf -aaf -aaf +clC +cnm +coO +cqh +crz +cte +cuG +bHq +cni +cza +cAw +cCe +cDE +cFy +cGV +cIg +cJj +cLc +cMz +cIg +cPS +cRt +cDH +cCh +cAw +cYk +cZV +dbC +ddq +deQ +deO +dhz +diU +dkM +dmh +dnR +dpG +dpG +dpG +dpG +dpG +dxu +dyQ +dAj +dBC +cYg +dEi +dFs +dGK +dIc +dJA +dKr +dLv +dNh +dEi +aad +aad +aad aaa aaa aaa -aaf -aaf -aaf -agg -agg -aaf -aaf -aaf -agg -agg -agg -agg -agg +aad +aad +aad +ajr +ajr +aad +aad +aad +ajr +ajr +ajr +ajr +ajr aaa aaa aaa @@ -154134,118 +156240,118 @@ aaa aaa aaa aaa -agg +ajr aaa -aaf -aBU -aIw -aJO -aBU -aNo -aOU -aQI -aSq -aTX -aVB -aXp -aYY -baD -bbZ -bdl -beM -bgA -bit -bjT -bgA -bnp -bpp -bgA -bgA -btq -buJ -bwn -bye -bAb -bBE -bDt -bFo -bHf -bJb -bJb -bJb -bHf -bJb -bTm -bVs -bXc -bYR -bDt -ccw -ceg -cfK -cha -ciK -ckl +aad +aFm +aMc +aNx +aFm +aQY +aSE +aUu +aWc +aXL +aZp +bbe +bcN +ber +bfP +bhc +biF +bkq +bmj +bnJ +bkq +brn +btm +bkq +bkq +bxp +byK +bAn +bCg +bEe +bFK +bHC +bJy +bLp +bNl +bNl +bNl +bLp +bNl +bXH +bZP +cbB +cdp +bHC cgX -cmU -coA -cqa -cmX -csL -cuv -cvP -cxx -cyW -cyX -cyX -cDq -cEs -cGf -cHw -cIN -cyZ -cAO -cyZ -cPO -cvP -cSU -cUG -cWo -cYe -cZF -cZE -cZC -dcl -dfw -dgP -diy -dkl -dkl -dkl -dkl -dqn -drT -dtn -dgP -dvP -drW -dys -dys -dys -dys -dys -dys -dys -dys -dys -aaf -agg -agg -agg -aaf -agg -agg -agg +ciH +ckl +clD +cnn +coP +clA +crA +ctf +cuH +bHq +cxt +czb +cAw +cCf +cDF +cDG +cDG +cIh +cJn +cLd +cMA +cNU +cDI +cFB +cDI +cUX +cAw +cYj +cZV +dbC +ddr +deR +deQ +deO +dhw +dkN +dmh +dnS +dpG +dpG +dpG +dpG +dvN +dxv +dyR +dmh +dBv +dxy +dEk +dEk +dEk +dEk +dEk +dEk +dEk +dEk +dEk +aad +ajr +ajr +ajr +aad +ajr +ajr +ajr aaa aaa aaa @@ -154391,116 +156497,116 @@ aaa aaa aaa aaa -aaf +aad aaa -aaf -aBU -aHu -eeZ -aBU -aBU -aBU -aBU -aBU -aBU -aVC -aXq -aBU -aBU -bca -bdm -bdm -bdn -biu -bjU -bdn -bnq -bpq -bqO -bdm -bdm -buK -bwo -byf -bdm -bBF -bDu -bBF -bBF -bHg -bLf -bHg -bBF -bBF -bTn -bVt -bXd -bBF -caL -ccx -bdi -bdi -chb -ciL -ckm -cgX -cgW -coB -cqb -cmX -csL -cuw -cvP -cxy -cyX -cAM -cCh -eiU -ejc -ejg -ejl -eiU -cKM -cyZ -cyZ -cPP -cvP -cSW -cUF -cWo -cYf -cZG -daI -dcp -ddG -cZG -dgP -diz -dkn -dlU -dnx -doD -dqo -drU -dto -dgP -dvT -dxf -dys -dzy -dAQ -dCf -dDB -dEs -dFx -dHh -dys -aaf +aad +aFm +aKV +aNy +aFm +aFm +aFm +aFm +aFm +aFm +aZq +bbf +aFm +aFm +bfQ +bhd +bhd +bhe +bmk +bnK +bhe +bro +btn +buL +bhd +bhd +byL +bAo +bCh +bhd +bFL +bHD +bFL +bFL +bLq +bPs +bLq +bFL +bFL +bXI +bZQ +cbC +bFL +cfi +cgY +bgZ +bgZ +clE +cno +coQ +clA +clz +bJe +cuI +bHq +cxt +czc +cAw +cCg +cDG +cFz +cGW +cIi +cJo +cLe +cMB +cIi +cPT +cDI +cDI +cUY +cAw +cYl +cZU +dbC +dds +deS +dfT +dhA +diV +deS +dmh +dnT +dpI +drq +dsV +duc +dvO +dxw +dyS +dmh +dBz +dCV +dEk +dFt +dGL +dId +dJB +dKs +dLw +dNi +dEk +aad aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -154645,120 +156751,120 @@ aaa aaa aaa aaa -agg -agg -aaf -aaf +ajr +ajr +aad +aad aaa -aaf -aBU -aIx -aJQ -aLx -aNp -aHu -aQJ -aSr -aTY -aVD -aXq -aBU -baE -bcb -bdm -beN -bgB -biv -bjV -blt -bnr -bpr -bqP -bsf -bdm -biB -bkd -byg -bdm -bBG -bDv -bFp -bHg -bJc -bLg -bNc -bOS -bQX -bTo -bVu -bXe -bHg -caM -ccy -ceh -bdi -chc -ciM -ckn -cgX -cmV -coC -cqc -cmX -ciC -cux -cvP -cvP -cvP -cvP -cvP -cvP -cEu -ejh -cHx -cvP -cvP -cvP -cvP -cvP -cvP -cSX -cUH -cWo -cWo -cZH -daJ -cWo -cWo -cWo -dgP -dgP -dgP -dgP -dgP -doE -dgP -dgP -dgP -dgP -dvX -dxi -dyt -dzz -dAR -dCg -dDC -dEt -dFy -dHi -dAV -aaf -aaf -agg -agg -agg -agg -agg +aad +aFm +aMd +aNz +aPh +aQZ +aKV +aUv +aWd +aXM +aZr +bbf +aFm +bes +bfR +bhd +biG +bkr +bml +bnL +bpl +brp +bto +buM +bwe +bhd +bmr +bnT +bCi +bhd +bFM +bHE +bJz +bLq +bNm +bPt +bRq +bTf +bVl +bXJ +bZR +cbD +bLq +cfj +cgZ +ciI +bgZ +clF +cnp +coR +clA +crB +ctg +cuJ +bHq +cnf +czd +cAw +cAw +cAw +cAw +cAw +cAw +cJp +cLf +cMC +cAw +cAw +cAw +cAw +cAw +cAw +cYm +cZW +dbC +dbC +deT +dfU +dbC +dbC +dbC +dmh +dmh +dmh +dmh +dmh +dud +dmh +dmh +dmh +dmh +dBD +dCZ +dEl +dFu +dGM +dIe +dJC +dKt +dLx +dNj +dGQ +aad +aad +ajr +ajr +ajr +ajr +ajr aaa aaa aaa @@ -154902,138 +157008,115 @@ aaa aaa aaa aaa -agg -aaf -aaf -aaf -aaf -aaf -aBV -aIy -aJR -aLy -aNq -aOV -aQK -aSs -aTZ -aVD -aXr -aBU -baF -bcc -bdn -beO -bgC -biw -bjW -blu -bns -bps -bqQ -bsg -bdm -buM -bwp -byh -bdm -bBG -bDw -bFq -bHh -bJd -bLh -bNd -bOT -bQY -bTp -bVv -bXf -efL -caN -ccz -cei -bdi -chd -ciM -cko -cgX -cmW -coD -cqd -cmX -ciF -ckc -cvP -cxz -cyY -cAN -cCi -eiT -cEv -eji -cHy -eiT -cKN -cMl -cyT -cxt -cvP -cSY -cUI -cWp -cYg -cYg -daK -cWp -ddH -dfy -cWm -diA -cWp -esf -ddH -doF -cWp -cWp -dtp -ddH -dvY -dxf -dys -dzA -dAS -dCh -dDD -dEu -dFz -dHj -dAV -aaf -aaf -aaa -aaf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +ajr +aad +aad +aad +aad +aad +aFn +aMe +aNA +aPi +aRa +aSF +aUw +aWe +aXN +aZr +bbg +aFm +bet +bfS +bhe +biH +bks +bmm +bnM +bpm +brq +btp +buN +bwf +bhd +byM +bAp +bCj +bhd +bFM +bHF +bJA +bLr +bNn +bPu +bRr +bTg +bVm +bXK +bZS +cbE +cdq +cfk +cha +ciJ +bgZ +clG +cnp +coS +clA +crC +cth +cuK +bHq +cni +coF +cAw +cCh +cDH +cFA +cGX +cIg +cJq +cLg +cMD +cIg +cPU +cRu +cPV +cUZ +cAw +cYn +cZX +dbD +ddt +ddt +dfV +dbD +diW +dkO +dbA +dnU +dbD +drr +diW +due +dbD +dbD +dyT +diW +dBE +dCV +dEk +dFv +dGN +dIf +dJD +dKu +dLy +dNk +dGQ +aad +aad aaa aad aaa @@ -155058,6 +157141,29 @@ aaa aaa aaa aaa +aab +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -155159,117 +157265,117 @@ aaa aaa aaa aaa -agg -aaf -aBU -aBU -aEG -aBU -aBU -aIz -aJS -aLz -aNr -aHu -aQL -aSt -aUa -aVE -aXs -aBU -aBU -aEM -bdm -beP -bgD -bix -bjX -blv -bnt -bpt -bqR -bsh -btr -buM -bwq -byi -bdm -bBH -bDx -bBG -bDC -bJe -bLi -bNe -bOU -bQZ -bTq -bVw -bXg -bDC -caO -ccA -efN -bdi -che -ciM -ckp -cgX -cmX -coE -cmX -cmX -csL -cke -cvP -cxA -cyZ -cAO -cyZ -cDr -cEt -cGc -cHx -cIO -cyT -cyT -cyT -cPQ -cvP -cSZ -cUJ -cWq -cMi -cMi -daL -dcq -cMi -dfz -cWq -diB -dko -daL -dcq -dcq -dqp -drV -daL -dqp -dvZ -dxj -dys -egs -dAT -dAS -dDE -dAS -dFA -dHk -dAV -aaf -agg +ajr +aad +aFm +aFm +aIc +aFm +aFm +aMf +aNB +aPj +aRb +aKV +aUx +aWf +aXO +aZs +bbh +aFm +aFm +aIi +bhd +biI +bkt +bmn +bnN +bpn +brr +btq +buO +bwg +bxq +byM +bAq +bCk +bhd +bFN +bHG +bFM +bHL +bNo +bPv +bRs +bTh +bVn +bXL +bZT +cbF +bHL +cfl +chb +ciK +bgZ +clH +cnp +coT +clA +bHq +cti +bHq +bHq +cxt +coI +cAw +cCi +cDI +cFB +cDI +cIj +cJr +cLh +cMC +cNV +cPV +cPV +cPV +cVa +cAw +cYo +cZY +dbE +cRr +cRr +dfW +dhB +cRr +dkP +dbE +dnV +dpJ +dfW +dhB +dhB +dvP +dxx +dfW +dvP +dBF +dDa +dEk +dFw +dGO +dGN +dJE +dGN +dLz +dNl +dGQ +aad +ajr aaa -aaf +aad aaa aaa aaa @@ -155417,116 +157523,116 @@ aaa aaa aaa aaa -aaf -aBU -aDn -aEH -aFZ -aHu -aIA -aJT -aLA -aNs -aHu -aHu -aHu -aHu -aVF -aXt -aYZ -aBU +aad +aFm +aGH +aId +aJy +aKV +aMg +aNC +aPk +aRc +aKV +aKV +aKV +aKV +aZt +bbi +bcO +aFm aaa -bdm -beQ -bgD -biy -bjY -biz -bnu -bpu -bqR -bsi -bdm -buN -bwr -efD -bdm -bBI -bDy -bFr -bHi -bHi -bLj -bLj -bHi -bRa -bTr -bVx -bXh -bHi -caP -ccB -cek -bdi -chf -ciM -chh -cgX +bhd +biJ +bkt +bmo +bnO +bmp +brs +btr +buO +bwh +bhd +byN +bAr +bCl +bhd +bFO +bHH +bJB +bLs +bLs +bPw +bPw +bLs +bVo +bXM +bZU +cbG +bLs +cfm +chc +ciL +bgZ +clI +cnp +clK +clA aaa aaa -aaf -coE -csM -cuy -cvP -cxB -cyZ -cyZ +aad +cti +cxu +cze +cAw cCj -eiU -ejc -cGg -ejl -eiU -cKO -cMm -cNU -cPR -cvP -cTa -cUK -cEe -cYh -cDe -daM -cDe -cDe -dfA -cDe -dfA -cDe -cDe -daM -cDe -cDe -dfA -eig -eil -dwa -eiv -eig -dzC -dAU -dCi -egu -dEv -dFB -dHl -dys -aaf -agg -aaf -agg +cDI +cDI +cGY +cIi +cJo +cLi +cMB +cIi +cPW +cRv +cTc +cVb +cAw +cYp +cZZ +cIX +ddu +cHU +dfX +cHU +cHU +dkQ +cHU +dkQ +cHU +cHU +dfX +cHU +cHU +dkQ +dyU +dAk +dBG +dDb +dyU +dFx +dGP +dIg +dJF +dKv +dLA +dNm +dEk +aad +ajr +aad +ajr aaa aaa aaa @@ -155675,115 +157781,115 @@ aaa aaa aaa aaa -aBV -aDo -aEI -aGa -aHv -aIB -aJU -aLB -aNt -aHu -aQM -aSu -aTY -aVG -aXu -aZa -aYX -aaf -bdm -beR -bgE -biz -bjZ -blw -bnv -bpv -bqS -bsj -bdm -buM -buM -byg -bdm -bBJ -bDz -bFs -bHi -bJf -bJf -bJf -bOV -bRb -bTs -bVy -bXi -bHi -caQ -ccC -cel -bim -chg -ciN -ckq -cgX -aaf -aaf -cqe -cqe -csN -cuz -cvP -cvP -cvP -cvP -cvP -cvP -cEw -cGa -cHz -cvP -cvP -cvP -cvP -cvP -cvP -cTb -cUL -cqe -cqe -cqe -aaf -cDe -ddI -dfB -cDe -diC -dkp -cDe -aaf -cDe -dqq -drW -eig -duB -eip -dxk -eig -dys -dAV -dys -dys -dys -dAV -dys -dys -aaf -agg -aaf -agg +aFn +aGI +aIe +aJz +aKW +aMh +aND +aPl +aRd +aKV +aUy +aWg +aXM +aZu +bbj +bcP +bcM +aad +bhd +biK +bku +bmp +bnP +bpo +brt +bts +buP +bwi +bhd +byM +byM +bCi +bhd +bFP +bHI +bJC +bLs +bNp +bNp +bNp +bTi +bVp +bXN +bZV +cbH +bLs +cfn +chd +ciM +bmc +clJ +cnq +coU +clA +aad +aad +cuL +cuL +cxv +czf +cAw +cAw +cAw +cAw +cAw +cAw +cJs +cKX +cME +cAw +cAw +cAw +cAw +cAw +cAw +cYq +daa +cuL +cuL +cuL +aad +cHU +diX +dkR +cHU +dnW +dpK +cHU +aad +cHU +dvQ +dxy +dyU +dAl +dBH +dDc +dyU +dEk +dGQ +dEk +dEk +dEk +dGQ +dEk +dEk +aad +ajr +aad +ajr aaa aaa aaa @@ -155932,115 +158038,115 @@ aaa aaa aaa aaa -aBU -aDp -aEJ -aGb -aHw -aIC -aJV -aLC -aGb -aOW -aQN -aSv -aUb -aVH -aXq -aZb -aBU +aFm +aGJ +aIf +aJA +aKX +aMi +aNE +aPm +aJA +aSG +aUz +aWh +aXP +aZv +bbf +bcQ +aFm aaa -bdn -beS -bgF -biA -bka -blx -bnw -bpw -bqT -bsk -bdm -buO -bws -byk -bdm -bBK -bDA -bFt -bHi -bJg -bLk -bNf -bNf -bNf -bTt -bVy -bXj -bYT -caR -ccB -cem -bdi -chh -ciO -ckr -clC +bhe +biL +bkv +bmq +bnQ +bpp +bru +btt +buQ +bwj +bhd +byO +bAs +bCm +bhd +bFQ +bHJ +bJD +bLs +bNq +bPx +bRt +bRt +bRt +bXO +bZV +cbI +cdr +cfo +chc +ciN +bgZ +clK +cnr +coV +cqi aaa aaa -cqe -crx -csO -cuA -cvQ -cxC -cza -cAP +cuL +cwd +cxw +czg +cAy cCk -cDs -cEx -cGh -cHA -cIP -cKP -cMn -cNV -cPS -cRr -cTc -cUM -cWr -cYi -cqe +cDJ +cFC +cGZ +cIk +cJt +cLj +cMF +cNW +cPX +cRw +cTd +cVc +cWC +cYr +dab +dbF +ddv +cuL aaa -dcr -ddJ -dfC -cDe -diD -dkq -daM +dhC +diY +dkS +cHU +dnX +dpL +dfX aaa -daM -dqr -drX -eig -duC -eiq -abN -eik -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf +dfX +dvR +dxz +dyU +dAm +dBI +dDd +dyV +aad +aad +aad +aad +aad +aad +aad +aad +aad aaa aaa -agg +ajr aaa aaa aaa @@ -156164,140 +158270,140 @@ aaa aaa aaa aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aFn +aGK +aIg +aJB +aKY +aMj +aNF +aPn +aRe +aKV +aUA +aWf +aXO +aZw +bbk +aKV +aFm +aad +bhd +biM +bkw +bkw +bnR +bpq +brv +btu +bkw +bku +bxr +byP +bAt +bCn +bhd +bFR +bHK +bJE +bLs +bNr +bPy +bRu +bTj +bVq +bXP +bZW +cbJ +cds +cfp +che +ciO +bmc +clL +cnp +coW +clA +aad +aad +cuM +cwe +cxx +czh +cAz +cCl +cCl +cCl +cCl +cCl +cJu +cLk +cMG +cCl +cCl +cCl +cCl +cCl +cWD +cAz +dac +cxy +ddw +cuM +aad +dhC +diZ +dkT +cHU +dnY +dpM +dfX +aad +dfX +dvS +dxA +dyU +dAn +dBJ +dDe +dyU +aad +ajr +ajr +ajr +aad +ajr +ajr +ajr +aad +aad +aad aad -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aBV -aDq -aEK -aGc -aHx -aID -aJW -aLD -aNu -aHu -aQO -aSt -aUa -aVI -aXv -aHu -aBU -aaf -bdm -beT -bgG -bgG -bkb -bly -bnx -bpx -bgG -bgE -bts -buP -bwt -byl -bdm -bBL -bDB -bFu -bHi -bJh -bLl -bNg -bOW -bRc -bTu -bVz -bXk -bYU -caS -ccD -cen -bim -chi -ciM -cks -cgX -aaf -aaf -cqf -cry -csP -cuB -cvR -cxD -cxD -cxD -cxD -cxD -cEy -cGi -cHB -cxD -cxD -cxD -cxD -cxD -cRs -cvR -cUN -csQ -cYj -cqf -aaf -dcr -ddK -dfD -cDe -diE -dkr -daM -aaf -daM -dqs -drY -eig -duD -eir -dxl -eig -aaf -agg -agg -agg -aaf -agg -agg -agg -aaf -aaf -aaf -aaf aaa aaa aaa @@ -156445,116 +158551,116 @@ aaa aaa aaa aaa -aaf -aBU -aDr -aEL -aGd -aHu -aIE -aJX -aLE -aNv -aHu -aHu -aHu -aHu -aVJ -aXq -aZc -aBU +aad +aFm +aGL +aIh +aJC +aKV +aMk +aNG +aPo +aRf +aKV +aKV +aKV +aKV +aZx +bbf +bcR +aFm aaa -bdm -beU -bgH -bgH -bkc -blz -bny -bpy -bqU -bsl -btt -buQ -bwu -bym -bdm -bBF -bDC -bBF -bHi -bJi -bLm -bNh -bNh -bNh -bTv -bVA -bXl -bHi -caT -ccE -ceo -bdi -cgX +bhd +biN +bkx +bkx +bnS +bpr +brw +btv +buR +bwk +bxs +byQ +bAu +bCo +bhd +bFL +bHL +bFL +bLs +bNs +bPz +bRv +bRv +bRv +bXQ +bZX +cbK +bLs +cfq +chf ciP -cgX -cgX +bgZ +clA +cns +clA +clA aaa aaa -cqf -cry -csQ -cuC -cvS -cxE -czb -csQ -czc -cDt -cEz -cEz -cHC -cIQ -cKQ -csQ -cNW -cNW -cRt -cTd -cUO -cNW -cYj -cqf +cuM +cwe +cxy +czi +cAA +cCm +cDK +cxy +cDL +cIl +cJv +cJv +cMH +cNX +cPY +cxy +cTe +cTe +cWE +cYs +dad +cTe +ddw +cuM aaa -dcr -dcr -cDe -cDe -cDe -daM -daM +dhC +dhC +cHU +cHU +cHU +dfX +dfX aaa -daM -daM -cDe -eik -eik -eis -eik -eik -aaf +dfX +dfX +cHU +dyV +dyV +dBK +dyV +dyV +aad aaa aaa -aaf +aad aaa aaa -aaf -aaf +aad +aad aaa -aaf +aad aaa -agg +ajr aaa aaa aaa @@ -156659,7 +158765,6 @@ aaa aaa aaa aaa -aab aaa aaa aaa @@ -156701,117 +158806,118 @@ aaa aaa aaa aaa -agg -aaf -aBU -aBU -aEM -aBU -aBU -aIF -aJS -aLF -aNw -aHu -aQJ -aSw -aTY -aVK -aXo -aZd -aYX -aaf -bdm -beV -bgI -biB -bkd -blA -bnz -bpz -bqV -bsm -btu -biB -bwv -byn -bdm -aaf aaa -aaf -bHi -bJj -bLn -bNi -bOX -bRd -bTw -bVB -bXm -bHi -caU -ccF -caU -bdi +ajr +aad +aFm +aFm +aIi +aFm +aFm +aMl +aNB +aPp +aRg +aKV +aUv +aWi +aXM +aZy +bbd +bcS +bcM +aad +bhd +biO +bky +bmr +bnT +bps +brx +btw +buS +bwl +bxt +bmr +bAv +bCp +bhd +aad aaa -aaf +aad +bLs +bNt +bPA +bRw +bTk +bVr +bXR +bZY +cbL +bLs +cfr +chg +cfr +bgZ +aaa +aad aaa aaa -cmY +crD aaa -cqf -crz -csQ -cuD -cvT -cxF -czc -csQ -cCl -cDu -cxF -cxF -cHD -cIR -cKR -csQ -cNX -cPT -cNW +cuM +cwf +cxy +czj +cAB +cCn +cDL +cxy +cHa +cIm +cCn +cCn +cMI +cNY +cPZ +cxy +cTf +cVd cTe -cUP -cWs -cYj -cqf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -eik -eit -eik -aaf +cYt +dae +dbG +ddw +cuM +aad +aad +aad +aad +aad +aad +aad +aad +aad +aad +aad +aad +aad +dyV +dBL +dyV +aad aaa aaa -agg -agg -aaf -agg -agg -agg -agg -aaf +ajr +ajr +aad +ajr +ajr +ajr +ajr +aad aaa -aaf +aad aaa aaa aaa @@ -156958,118 +159064,118 @@ aaa aaa aaa aaa -agg -aaf -aaf -aaf +ajr +aad +aad +aad aaa -aaf -aBU -aIG -aJY -aLG -aNx -aOX -aQP -aSx -aUc -aVL -aXs -aZe -aBU +aad +aFm +aMm +aNH +aPq +aRh +aSH +aUB +aWj +aXQ +aZz +bbh +bcT +aFm aaa -bdm -beW -beW -biC -bke -blB -bnA -bpA -beW -beW -bdm -bdm -bdm -bdm -bdm -aaf +bhd +biP +biP +bms +bnU +bpt +bry +btx +biP +biP +bhd +bhd +bhd +bhd +bhd +aad aaa -aaf -bHi -bHi -bHi -bHi -bHi -bHi -bHi -bHi -bHi -bHi -bdi -bVq -bdi -bdi +aad +bLs +bLs +bLs +bLs +bLs +bLs +bLs +bLs +bLs +bLs +bgZ +bZN +bgZ +bgZ aaa -aaf -aaf -agg -aaf -aaf -cqf -crA -csQ -cuD -cvU -cxF -czc -csQ -cCl -cDu -cxF -cxF -cxF -cIR -cKR -csQ +aad +aad +ajr +aad +aad +cuM +cwg +cxy +czj +cAC +cCn +cDL +cxy +cHa +cIm +cCn +cCn +cCn cNY -cPU -csQ -cTe -cUQ -cWt -cYk -cqf -aaf +cPZ +cxy +cTg +cVe +cxy +cYt +daf +dbH +ddx +cuM +aad aaa -agg -agg -agg -agg -agg +ajr +ajr +ajr +ajr +ajr aaa -agg +ajr aaa -agg -agg -aaf -eik -epN -eik -aaf -aaf -agg -agg +ajr +ajr +aad +dyV +dBM +dyV +aad +aad +ajr +ajr aaa aaa -aaf +aad aaa aaa -aaf -aaf -agg -agg -agg +aad +aad +ajr +ajr +ajr aaa aaa aaa @@ -157218,86 +159324,86 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aBV -aIH -aJZ -aLH -aNy -aHu -aQQ -aSy -aHu -aVM -aXw -aBU -aBU -aaf -aaf -beW -bgJ -biD -bkf -blC -bnB -bpB -bqW -beW +aad +aad +aad +aFn +aMn +aNI +aPr +aRi +aKV +aUC +aWk +aKV +aZA +bbl +aFm +aFm +aad +aad +biP +bkz +bmt +bnV +bpu +brz +bty +buT +biP aaa aaa -aaf +aad aaa aaa -aaf +aad aaa -aaf -aaf -aaf -aaf -aaf -bOY -aaf +aad +aad +aad +aad +aad +bTl +aad aaa aaa -aaf +aad aaa aaa -aaf +aad aaa aaa aaa -aaf +aad aaa aaa aaa aaa -cqf -crB -csQ -cuD -cvT -cxF -erH -csQ -cCl -cDu -cEA -cxF -cxF -cIR -cKR -csQ -cNZ -cPV -erT -cTf -cUR -cWu -czc -cqf -aaf +cuM +cwh +cxy +czj +cAB +cCn +cDM +cxy +cHa +cIm +cJw +cCn +cCn +cNY +cPZ +cxy +cTh +cVf +cWF +cYu +dag +dbI +cDL +cuM +aad aaa aaa aaa @@ -157309,24 +159415,24 @@ aaa aaa aaa aaa -aaf +aad aaa -dwb -aaf -aaf +dBN +aad +aad aaa -aaf +aad aaa aaa -dzD -ebD -dCj +dFy +dGR +dIh aaa aaa -aaf +aad aaa aaa -agg +ajr aaa aaa aaa @@ -157474,88 +159580,88 @@ aaa aaa aaa aaa -agg -aaf +ajr +aad aaa -aaf -aBV -aII -aKa -aLI -aHy -aHy -aHy -aHy -aBU -aVN -aXo -aYX +aad +aFn +aMo +aNJ +aPs +aKZ +aKZ +aKZ +aKZ +aFm +aZB +bbd +bcM aaa -aaf +aad aaa -beX -bgK -biE -bkg -blD -bnC -biG -bqX -beX -aaf -agg -agg -aaf -agg -agg -agg -agg -aaf -agg -agg -agg -agg -aaf -agg -agg -agg -agg -agg -aaf -agg -agg -aaf -aaf -agg -agg -aaf -aaf -cqf -crC -csQ -cuE -cvV -cxG -czd -csQ -czc -cDv -cEB -cGj -cGj -cIS -cKQ -csQ -cNW -cNW -cRu -cTg -cUS -cNW -cWv -cqf -aaf -agg +biQ +bkA +bmu +bnW +bpv +brA +bmw +buU +biQ +aad +ajr +ajr +aad +ajr +ajr +ajr +ajr +aad +ajr +ajr +ajr +ajr +aad +ajr +ajr +ajr +ajr +ajr +aad +ajr +ajr +aad +aad +ajr +ajr +aad +aad +cuM +cwi +cxy +czk +cAD +cCo +cDN +cxy +cDL +cIn +cJx +cLl +cLl +cNZ +cPY +cxy +cTe +cTe +cWG +cYv +dah +cTe +dbJ +cuM +aad +ajr aaa aaa aaa @@ -157566,24 +159672,24 @@ aaa aaa aaa aaa -agg -aaf -dwc -aaf +ajr +aad +dBO +aad aaa -dzD -ebD -dCj +dFy +dGR +dIh aaa -dzD -dAW -dCj +dFy +dGS +dIh aaa -dzD -ebD -dCj +dFy +dGR +dIh aaa -aaf +aad aaa aaa aaa @@ -157722,97 +159828,97 @@ aaa aaa aaa aaa +aab +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +ajr +aad +aad +aad +aFm +aMp +aNK +aPt +aKZ +aSI +aUD +aWl +aFm +aZC +bbm +bcM +aad +aad +aad +biR +bkB +bmv +bnX +bpw +brB +btz +buV +bwm +aaa +aad +aaa +aaa +aad +aad +aaa +aad +aad +aad +aaa +aad +aad +aaa +aad +aaa +aad +aaa +aaa +aad +aaa +aaa +aaa aad aaa aaa aaa aaa -aaa -aaa -aaa -aaa -agg -aaf -aaf -aaf -aBU -aIJ -aKb -aLJ -aHy -aOY -aQR -aSz -aBU -aVO -aXx -aYX -aaf -aaf -aaf -beY -bgL -biF -bkh -blE -bnD -bpC -bqY -bsn -aaa -aaf -aaa -aaa -aaf -aaf -aaa -aaf -aaf -aaf -aaa -aaf -aaf -aaa -aaf -aaa -aaf -aaa -aaa -aaf -aaa -aaa -aaa -aaf -aaa -aaa -aaa -aaa -cqf -crC -csQ -cuF -cvW -cxH -cxH -cxH -cxH -cxH -cEC -cxH -cxH -cxH -cxH -cxH -cxH -cxH -cxH -cTh -cuF -csQ -cWv -cqf -aaf -agg +cuM +cwi +cxy +czl +cAE +cCp +cCp +cCp +cCp +cCp +cJy +cCp +cCp +cCp +cCp +cCp +cCp +cCp +cCp +cYw +czl +cxy +dbJ +cuM +aad +ajr aaa aaa aaa @@ -157823,24 +159929,24 @@ aaa aaa aaa aaa -aaf +aad aaa -dwc -aaf -aaf -dzD -dAW -dCj +dBO +aad +aad +dFy +dGS +dIh aaa -dzD -dAW -dCj +dFy +dGS +dIh aaa -dzD -dAW -dCj +dFy +dGS +dIh aaa -agg +ajr aaa aaa aaa @@ -157989,124 +160095,124 @@ aaa aaa aaa aaa -aaf -aaa -aGe -aHy -aHy -aHy -aHy -aHy -aOZ -aQS -aSA -aUd -aVP -aXx -aYX -aaa -aaf -aaa -beZ -bgM -biG -bki -blF -bnE -biG -bqZ -beZ -aaf -aaf -agg -agg -agg -aaf -aaf -aaf -aaf -aaf -aaf -agg -agg -agg -agg -aaf -aaf -aaf -agg -agg -agg -agg -aaf -agg -aaf -aaf -agg -aaf -cqf -crC -crC -cuG -cvX -cxI -cze -cAQ -cAQ -cvX -cED -cGk -cGk -cIT -cKS -cMo -cMo -cPW -cMo -cKS -cUT -cWv -cYl -cqf -aaf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -agg -aaf -dwc -aaf -aaa -dzD -dAW -dCj -aaf -dzD -dAW -dCj -aaf -dzD -dAW -dCj -aaf -aaf -aaa -aaa -aaa -aaa -aaa +aad aaa +aJD +aKZ +aKZ +aKZ +aKZ +aKZ +aSJ +aUE +aWm +aXR +aZD +bbm +bcM aaa aad aaa +biS +bkC +bmw +bnY +bpx +brC +bmw +buW +biS +aad +aad +ajr +ajr +ajr +aad +aad +aad +aad +aad +aad +ajr +ajr +ajr +ajr +aad +aad +aad +ajr +ajr +ajr +ajr +aad +ajr +aad +aad +ajr +aad +cuM +cwi +cwi +czm +cAF +cCq +cDO +cFD +cFD +cAF +cJz +cLm +cLm +cOa +cQa +cRx +cRx +cVg +cRx +cQa +dai +dbJ +ddy +cuM +aad +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +ajr +aad +dBO +aad +aaa +dFy +dGS +dIh +aad +dFy +dGS +dIh +aad +dFy +dGS +dIh +aad +aad +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aab +aaa aaa aaa aaa @@ -158215,6 +160321,7 @@ aaa aaa aaa aaa +agO aaa aaa aaa @@ -158245,38 +160352,38 @@ aaa aaa aaa aaa +abj +aad +aad +aLa +aMq +aNL +aPu +aRj +aSK +aUF +aWn +aXS +aZE +bbn +aFm +aad +aad +aad +biP +bkD +bmx +bnV +bpy +brD +btA +buX +biP aaa -aaH -aaf -aaf -aHz -aIK -aKc -aLK -aNz -aPa -aQT -aSB -aUe -aVQ -aXy -aBU -aaf -aaf -aaf -beW -bgN -biH -bkf -blG -bnF -bpD -bra -beW +aad aaa -aaf +aad aaa -aaf aaa aaa aaa @@ -158300,33 +160407,33 @@ aaa aaa aaa aaa +cuM +cwj +cwj +cwj +cuM +cuM +cuM +cuM +cuM +cuM +cJA +cuM +cuM +cOb +cuM +cuM +cuM +cuM +cuM +cuM +daj +dbK +ddz +cuM +aad +ajr aaa -cqf -crD -crD -crD -cqf -cqf -cqf -cqf -cqf -cqf -epj -cqf -cqf -epk -cqf -cqf -cqf -cqf -cqf -cqf -cUU -cWw -cYm -cqf -aaf -agg aaa aaa aaa @@ -158336,25 +160443,24 @@ aaa aaa aaa aaa +ajr aaa -agg +dBO +aad +aad +dFy +dGS +dIh aaa -dwc -aaf -aaf -dzD -dAW -dCj +dFy +dGS +dIh aaa -dzD -dAW -dCj +dFy +dGS +dIh aaa -dzD -dAW -dCj -aaa -agg +ajr aaa aaa aaa @@ -158503,37 +160609,37 @@ aaa aaa aaa aaa -aaH +abj aaa aaa -aHz -aIL -aKd -aLL -aNA -aPb -aQU -aSC -aBU -aVR -aXz -aBU -aaf +aLa +aMr +aNM +aPv +aRk +aSL +aUG +aWo +aFm +aZF +bbo +aFm +aad aaa -aaf -beW -beW -biI -bkj -blH -bnG -bpE -beW -beW -aaf -aaf -aaf -agg +aad +biP +biP +bmy +bnZ +bpz +brE +btB +biP +biP +aad +aad +aad +ajr aaa aaa aaa @@ -158558,32 +160664,32 @@ aaa aaa aaa aaa -cqf -crE -csR -cuH -cqf +cuM +cwk +cxz +czn +cuM aaa aaa -aaf +aad aaa -cqf -cEF -cqe -cGl -cIV -cqf +cuM +cJB +cuL +cLn +cOc +cuM aaa -aaf +aad aaa aaa -cqf -cUV -cWx -cYn -cqf -aaf -agg +cuM +dak +dbL +ddA +cuM +aad +ajr aaa aaa aaa @@ -158594,27 +160700,27 @@ aaa aaa aaa aaa -agg -aaf -dwc -aaf +ajr +aad +dBO +aad aaa -dzD -dAW -dCj +dFy +dGS +dIh aaa -aaf -dwb -aaf +aad +dBN +aad aaa -dzD -dAW -dCj +dFy +dGS +dIh aaa -agg -aaf -agg -agg +ajr +aad +ajr +ajr aaa aaa aaa @@ -158760,37 +160866,37 @@ aaa aaa aaa aaa -aaH -aaf -aaf -aHz -aIM -aKe -efe -aNB -aPc -aQV -aSD -aBU -aVS -aXA -aBU -aaf +abj +aad +aad +aLa +aMs +aNN +aPw +aRl +aSM +aUH +aWp +aFm +aZG +bbp +aFm +aad aaa -aaf +aad aaa -beW -biJ -bkk -blI -bnH -biJ -beW +biP +bmz +boa +bpA +brF +bmz +biP aaa aaa -aaf +aad aaa -agg +ajr aaa aaa aaa @@ -158814,32 +160920,32 @@ aaa aaa aaa aaa -aaf -cqe -cqf -cqf -cqf -cqe -aaf -czf -cAR -cAR -cAR -cEG -cqf -cqf -cIW -cKT -cKT -cKT -cPX -aaf -cqe -cqf -cqf -cqf -cqe -aaf +aad +cuL +cuM +cuM +cuM +cuL +aad +cDP +cFE +cFE +cFE +cJC +cuM +cuM +cOd +cQb +cQb +cQb +cVh +aad +cuL +cuM +cuM +cuM +cuL +aad aaa aaa aaa @@ -158851,27 +160957,27 @@ aaa aaa aaa aaa -aaf +aad aaa -dwc -aaf +dBO +aad aaa -aaf -dwb -aaf -aaf -aaf -dwc -aaf -aaf -aaf -dwb -aaf +aad +dBN +aad +aad +aad +dBO +aad +aad +aad +dBN +aad aaa aaa -aaf +aad aaa -agg +ajr aaa aaa aaa @@ -159017,37 +161123,37 @@ aaa aaa aaa aaa -aaf +aad aaa -aGe -aHy -aHy -aHy -aHy -aHy -aPd -aQW -aSE -aBU -aVT -aXB -aBU -aaf +aJD +aKZ +aKZ +aKZ +aKZ +aKZ +aSN +aUI +aWq +aFm +aZH +bbq +aFm +aad aaa -aaf +aad aaa -beW -biK -bkf -blJ -bnI -bpF -beW -aaf -aaf -aaf +biP +bmA +bnV +bpB +brG +btC +biP +aad +aad +aad aaa -agg +ajr aaa aaa aaa @@ -159071,33 +161177,33 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -cqf +aad +aad +aad +aad +aad +cuM aaa -czg -cAS -cAS -cAS -cAS -cAS -cAS -cAS -cAS -cAS -cAS -cPY +cDQ +cFF +cFF +cFF +cFF +cFF +cFF +cFF +cFF +cFF +cFF +cVi aaa -cqf -aaf -aaf -aaf -aaf -aaf -agg +cuM +aad +aad +aad +aad +aad +ajr aaa aaa aaa @@ -159108,27 +161214,28 @@ aaa aaa aaa aaa -agg -aaf -dwc -dxm -dyu -dyu -dyu -dyu -dyu -dyu -dFC -dHm -dwc -dIH -dxm -dyu -dyu -dyu -dNs -aaf -agg +ajr +aad +dBO +dDf +dEm +dEm +dEm +dEm +dEm +dEm +dLB +dNn +dBO +dOK +dDf +dEm +dEm +dEm +dTk +aad +ajr +aaa aaa aaa aaa @@ -159147,7 +161254,6 @@ aaa aaa aaa aaa -eaU aaa aaa aaa @@ -159273,38 +161379,38 @@ aaa aaa aaa aaa -aBW -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aHy -aPe -aQX -aSF -aBU -aVR -aXz -aBU -aHu -aaf -aaf -aaf -beW -biL -bkl -blK -bnJ -bpG -beW +aFo +aad +aad +aad +aad +aad +aad +aad +aKZ +aSO +aUJ +aWr +aFm +aZF +bbo +aFm +aKV +aad +aad +aad +biP +bmB +bob +bpC +brH +btD +biP aaa -aaf +aad aaa -aaf -aaf +aad +aad aaa aaa aaa @@ -159332,29 +161438,29 @@ aaa aaa aaa aaa -aaf -cqf +aad +cuM aaa -czg -cAS -cAS -cAS -cAS -cAS -cAS -cAS -cAS -cAS -cAS -cPY +cDQ +cFF +cFF +cFF +cFF +cFF +cFF +cFF +cFF +cFF +cFF +cVi aaa -cqf -aaf +cuM +aad aaa aaa -agg -agg -agg +ajr +ajr +ajr aaa aaa aaa @@ -159365,27 +161471,27 @@ aaa aaa aaa aaa -agg +ajr aaa aaa -aaf +aad aaa -aaf -dAX -aaf -aaf -aaf -dwc -aaf -aaf -aaf -dAX -aaf +aad +dGT +aad +aad +aad +dBO +aad +aad +aad +dGT +aad aaa aaa -aaf +aad aaa -aaf +aad aaa aaa aaa @@ -159530,37 +161636,37 @@ aaa aaa aaa aaa -agg -agg -agg +ajr +ajr +ajr aaa -agg -agg -agg +ajr +ajr +ajr aaa -aHy -aHy -aHy -aHy -aBU -aVU -aXC -aZf -aHu +aKZ +aKZ +aKZ +aKZ +aFm +aZI +bbr +bcU +aKV aaa -aaf +aad aaa -beW -biM -bkm -blL -bnK -bpH -beW -aaf -aaf +biP +bmC +boc +bpD +brI +btE +biP +aad +aad aaa -aaf +aad aaa aaa aaa @@ -159586,28 +161692,28 @@ aaa aaa aaa aaa -agg -aaf -aaf -aaf -cqf -aaf -czh -cAT -cAS -cAS -cAS -cAS -cAS -cAS -cAS -cAS -cOa -cPZ -aaf -cqf -aaf -agg +ajr +aad +aad +aad +cuM +aad +cDR +cFG +cFF +cFF +cFF +cFF +cFF +cFF +cFF +cFF +cTi +cVj +aad +cuM +aad +ajr aaa aaa aaa @@ -159622,27 +161728,27 @@ aaa aaa aaa aaa -agg -agg -aaf -aaf +ajr +ajr +aad +aad aaa -dzD -dAY -dCj +dFy +dGU +dIh aaa -aaf -dAX -aaf +aad +dGT +aad aaa -dzD -dAY -dCj +dFy +dGU +dIh aaa -agg -agg -aaf -agg +ajr +ajr +aad +ajr aaa aaa aaa @@ -159796,28 +161902,28 @@ aaa aaa aaa aaa -aaH -aQY -aSG -aUf -aVV -aXD -aZg -aYX +abj +aUK +aWs +aXT +aZJ +bbs +bcV +bcM aaa -aaf +aad aaa -beW -beW -bkn -blM -bnL -beW -beW +biP +biP +bod +bpE +brJ +biP +biP aaa -aaf -aaf -agg +aad +aad +ajr aaa aaa aaa @@ -159846,25 +161952,25 @@ aaa aaa aaa aaa -aaf -cqf +aad +cuM aaa -czg -cAS -cAS -cAS -cAS -cAS -cAS -cAS -cAS -cAS -cAS -cPY +cDQ +cFF +cFF +cFF +cFF +cFF +cFF +cFF +cFF +cFF +cFF +cVi aaa -cqf -aaf -agg +cuM +aad +ajr aaa aaa aaa @@ -159882,21 +161988,21 @@ aaa aaa aaa aaa -aaf -aaf -dzD -dAY -dCj +aad +aad +dFy +dGU +dIh aaa -dzD -dAY -dCj +dFy +dGU +dIh aaa -dzD -dAY -dCj +dFy +dGU +dIh aaa -agg +ajr aaa aaa aaa @@ -160053,28 +162159,28 @@ aaa aaa aaa aaa -aaf -aHu -aHu -aHu -aVW -aXE -aKa -aHu +aad +aKV +aKV +aKV +aZK +bbt +aNJ +aKV aaa -aaf +aad aaa aaa -aaf +aad aaa -aaf +aad aaa -aaf +aad aaa aaa -aaf +aad aaa -agg +ajr aaa aaa aaa @@ -160102,26 +162208,26 @@ aaa aaa aaa aaa -agg -aaf -cqf +ajr +aad +cuM aaa -czg -cAS -cAS -cAS -cAS -cAS -cAS -cAS -cAS -cAS -cAS -cPY +cDQ +cFF +cFF +cFF +cFF +cFF +cFF +cFF +cFF +cFF +cFF +cVi aaa -cqf -aaf -agg +cuM +aad +ajr aaa aaa aaa @@ -160139,21 +162245,21 @@ aaa aaa aaa aaa -agg +ajr aaa -dzD -dAY -dCj -aaf -dzD -dAY -dCj -aaf -dzD -dAY -dCj -aaf -agg +dFy +dGU +dIh +aad +dFy +dGU +dIh +aad +dFy +dGU +dIh +aad +ajr aaa aaa aaa @@ -160312,26 +162418,26 @@ aaa aaa aaa aaa -aaf -aHu -aVX -aXF -aVX -aHu -aaf -agg -agg -agg -aaf -agg -agg -agg -agg -agg -agg -aaf +aad +aKV +aZL +bbu +aZL +aKV +aad +ajr +ajr +ajr +aad +ajr +ajr +ajr +ajr +ajr +ajr +aad aaa -agg +ajr aaa aaa aaa @@ -160359,26 +162465,26 @@ aaa aaa aaa aaa -agg -aaf -cqe -aaf -czi -cAR -cAR -cAR -cEH -cqf -cqf -cIX -cKT -cKT -cKT -cQa -aaf -cqe -aaf -agg +ajr +aad +cuL +aad +cDS +cFE +cFE +cFE +cJD +cuM +cuM +cOe +cQb +cQb +cQb +cVk +aad +cuL +aad +ajr aaa aaa aaa @@ -160396,21 +162502,21 @@ aaa aaa aaa aaa -agg -aaf -dzD -dAY -dCj +ajr +aad +dFy +dGU +dIh aaa -dzD -dAY -dCj +dFy +dGU +dIh aaa -dzD -dAY -dCj +dFy +dGU +dIh aaa -aaf +aad aaa aaa aaa @@ -160568,27 +162674,27 @@ aaa aaa aaa aaa -agg -aaf -aHu -aVY -aVY -aZh -aHu +ajr +aad +aKV +aZM +aZM +bcW +aKV aaa aaa aaa aaa -aaf +aad aaa aaa -aaf +aad aaa aaa aaa aaa aaa -aaf +aad aaa aaa aaa @@ -160617,24 +162723,24 @@ aaa aaa aaa aaa -aaf -cqf +aad +cuM aaa aaa -aaf +aad aaa -cqf -cEI -cGl -cqe -cIY -cqf +cuM +cJE +cLn +cuL +cOf +cuM aaa -aaf +aad aaa aaa -cqf -aaf +cuM +aad aaa aaa aaa @@ -160653,21 +162759,21 @@ aaa aaa aaa aaa -agg +ajr aaa -dzD -ebE -dCj +dFy +dGV +dIh aaa -dzD -dAY -dCj +dFy +dGU +dIh aaa -dzD -ebE -dCj +dFy +dGV +dIh aaa -agg +ajr aaa aaa aaa @@ -160825,78 +162931,23 @@ aaa aaa aaa aaa -agg -aaf -aHu -aVZ -aXG -aVZ -aHu -aaf -aaf -agg -agg -agg -agg -agg -aaf -agg -agg -aaf -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -cqf -cqf -cqf -cqf -cqf -cqf -epj -cqf -cqf -epk -cqf -cqf -cqf -cqf -cqf -cqf -aaf -agg -aaa -aaa -aaa -aaa +ajr +aad +aKV +aZN +bbv +aZN +aKV +aad +aad +ajr +ajr +ajr +ajr +ajr +aad +ajr +ajr aad aaa aaa @@ -160910,21 +162961,76 @@ aaa aaa aaa aaa -agg aaa aaa aaa aaa aaa -dzD -ebE -dCj aaa aaa aaa aaa aaa -agg +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aad +cuM +cuM +cuM +cuM +cuM +cuM +cJA +cuM +cuM +cOb +cuM +cuM +cuM +cuM +cuM +cuM +aad +ajr +aaa +aaa +aaa +aaa +aab +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +ajr +aaa +aaa +aaa +aaa +aaa +dFy +dGV +dIh +aaa +aaa +aaa +aaa +aaa +ajr aaa aaa aaa @@ -161083,12 +163189,12 @@ aaa aaa aaa aaa -aaf -aHu -aWa -aXH -aWa -aHu +aad +aKV +aZO +bbw +aZO +aKV aaa aaa aaa @@ -161131,24 +163237,24 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -cqf -cEJ -cGm -cHE -cIZ -cqf -aaf -aaf -aaf -aaf -aaf -aaf +aad +aad +aad +aad +aad +aad +cuM +cJF +cLo +cMJ +cOg +cuM +aad +aad +aad +aad +aad +aad aaa aaa aaa @@ -161167,21 +163273,21 @@ aaa aaa aaa aaa -agg -agg -aaf -agg -agg +ajr +ajr +aad +ajr +ajr aaa aaa aaa aaa aaa -agg -aaf -agg -aaf -aaf +ajr +aad +ajr +aad +aad aaa aaa aaa @@ -161341,11 +163447,11 @@ aaa aaa aaa aaa -aUg -aWa -aXI -aWa -aUg +aXU +aZO +bbx +aZO +aXU aaa aaa aaa @@ -161381,29 +163487,29 @@ aaa aaa aaa aaa +aab +aaa +aaa +aaa +aaa +aaa +aaa +aaa +ajr +ajr +aaa +ajr +aad +cIo +cJG +cLp +cMK +cOh +cIo aad aaa -aaa -aaa -aaa -aaa -aaa -aaa -agg -agg -aaa -agg -aaf -cDw -cEK -cGn -cHF -cJa -cDw -aaf -aaa -agg -agg +ajr +ajr aaa aaa aaa @@ -161428,13 +163534,13 @@ aaa aaa aaa aaa -agg -agg -aaf -agg -agg -aaf -agg +ajr +ajr +aad +ajr +ajr +aad +ajr aaa aaa aaa @@ -161599,9 +163705,9 @@ aaa aaa aaa aaa -aWa -aXJ -aWa +aZO +bby +aZO aaa aaa aaa @@ -161651,12 +163757,12 @@ aaa aaa aaa aaa -cqf -cEL -cGo -cHG -cJb -cqf +cuM +cJH +cLq +cML +cOi +cuM aaa aaa aaa @@ -161857,7 +163963,7 @@ aaa aaa aaa aaa -aXK +bbz aaa aaa aaa @@ -161908,12 +164014,12 @@ aaa aaa aaa aaa -cqf -cqf -cqf -cqf -cqf -cqf +cuM +cuM +cuM +cuM +cuM +cuM aaa aaa aaa @@ -162104,7 +164210,7 @@ aaa aaa aaa aaa -aad +aab aaa aaa aaa @@ -163452,7 +165558,7 @@ aaa aaa aaa aaa -aad +aab aaa aaa aaa @@ -163482,7 +165588,7 @@ aaa aaa aaa aaa -aad +aab aaa aaa aaa @@ -163922,7 +166028,7 @@ aaa aaa aaa aaa -aad +aab aaa aaa aaa @@ -163937,7 +166043,7 @@ aaa aaa aaa aaa -aad +aab aaa aaa aaa diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 0e2ebb0c62..ad97c70e39 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -3678,8 +3678,7 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -4232,7 +4231,9 @@ /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) "aiZ" = ( -/obj/machinery/computer/holodeck, +/obj/machinery/computer/holodeck{ + dir = 4 + }, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) "aja" = ( @@ -4699,8 +4700,7 @@ /area/security/brig) "akh" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/effect/turf_decal/stripes/line{ dir = 2 @@ -4782,8 +4782,7 @@ icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 @@ -4798,10 +4797,7 @@ /turf/open/floor/plating, /area/maintenance/port) "akp" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/clothing/gloves/color/yellow, /obj/item/mop, /obj/item/bikehorn/rubberducky, @@ -4823,10 +4819,7 @@ /turf/open/floor/plating, /area/maintenance/port/fore) "aks" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/clothing/neck/tie/red{ pixel_x = -5; pixel_y = 3 @@ -5084,8 +5077,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/red/side{ dir = 1 @@ -5141,8 +5133,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -5195,9 +5186,7 @@ /turf/open/floor/plasteel, /area/security/range) "akZ" = ( -/obj/structure/rack{ - pixel_y = 2 - }, +/obj/structure/rack, /obj/item/gun/energy/laser/practice{ pixel_x = 2; pixel_y = -2 @@ -5515,10 +5504,7 @@ /obj/structure/light_construct/small{ dir = 4 }, -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/storage/secure/briefcase, /obj/item/disk/data, /obj/item/grenade/flashbang, @@ -5800,7 +5786,9 @@ /turf/open/floor/plasteel, /area/security/main) "amk" = ( -/obj/machinery/computer/card/minor/hos, +/obj/machinery/computer/card/minor/hos{ + dir = 8 + }, /turf/open/floor/plasteel, /area/security/main) "aml" = ( @@ -5808,8 +5796,7 @@ dir = 8 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/red, /area/security/main) @@ -5828,9 +5815,8 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 4; - icon_state = "pipe-j2s"; sortType = 8 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -5845,9 +5831,8 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 4; - icon_state = "pipe-j2s"; sortType = 7 }, /obj/structure/cable/yellow{ @@ -5899,8 +5884,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -6180,9 +6164,7 @@ /turf/open/floor/plating, /area/maintenance/port) "ana" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/item/clothing/under/rank/mailman, /obj/item/clothing/under/rank/vice{ pixel_x = 4; @@ -6556,8 +6538,7 @@ id = "garbage" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating, /area/maintenance/disposal) @@ -6658,8 +6639,7 @@ dir = 1 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable/yellow{ icon_state = "2-4" @@ -6804,8 +6784,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable/yellow{ icon_state = "2-8" @@ -6901,8 +6880,7 @@ "aoE" = ( /obj/machinery/holopad, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/red, /area/security/main) @@ -6915,8 +6893,7 @@ "aoG" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/red, /area/security/main) @@ -6967,8 +6944,7 @@ dir = 5 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -7176,10 +7152,7 @@ /turf/open/floor/plating, /area/maintenance/starboard/fore) "ape" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/storage/belt{ desc = "Can hold quite a lot of stuff."; name = "multi-belt" @@ -7355,10 +7328,7 @@ /turf/open/floor/plating, /area/maintenance/port/fore) "apx" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/secure_data{ pixel_x = -2; pixel_y = 2 @@ -7398,8 +7368,7 @@ dir = 6 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable/yellow{ icon_state = "2-4" @@ -7411,8 +7380,7 @@ dir = 9 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable/yellow{ icon_state = "1-8" @@ -7460,7 +7428,9 @@ /turf/open/floor/plating, /area/security/warden) "apI" = ( -/obj/machinery/computer/prisoner, +/obj/machinery/computer/prisoner{ + dir = 4 + }, /obj/structure/cable/yellow{ icon_state = "4-8" }, @@ -7632,8 +7602,7 @@ /area/crew_quarters/fitness/recreation) "aqg" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/neutral/corner{ dir = 8 @@ -7725,10 +7694,7 @@ /obj/item/device/mmi{ name = "man-machine interface" }, -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/starboard/fore) @@ -7979,8 +7945,7 @@ dir = 6 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable/yellow{ icon_state = "2-4" @@ -8024,7 +7989,9 @@ /turf/open/floor/plasteel/black, /area/security/brig) "ara" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 4 + }, /obj/machinery/computer/security/telescreen{ desc = "Used for watching Prison Wing holding areas."; dir = 2; @@ -8659,7 +8626,9 @@ /turf/open/floor/plasteel/black, /area/security/brig) "asp" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 4 + }, /obj/structure/cable/yellow{ icon_state = "4-8" }, @@ -8684,7 +8653,9 @@ /turf/open/floor/plasteel/showroomfloor, /area/security/warden) "asr" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 8 + }, /obj/structure/cable/yellow{ icon_state = "2-8" }, @@ -8856,8 +8827,7 @@ dir = 10 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -8898,8 +8868,7 @@ pixel_y = -32 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -9247,8 +9216,7 @@ dir = 5 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/port/fore) @@ -9275,8 +9243,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating, /area/maintenance/port/fore) @@ -9292,8 +9259,7 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -9307,9 +9273,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 4; - icon_state = "pipe-j1s"; sortType = 2 }, /turf/open/floor/plating, @@ -9418,8 +9383,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -9431,7 +9395,9 @@ /turf/open/floor/plating, /area/shuttle/labor) "atK" = ( -/obj/machinery/computer/gulag_teleporter_computer, +/obj/machinery/computer/gulag_teleporter_computer{ + dir = 1 + }, /turf/open/floor/plasteel/black, /area/security/brig) "atL" = ( @@ -9693,8 +9659,7 @@ dir = 1 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating, /area/maintenance/fore) @@ -9855,8 +9820,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/port/fore) @@ -9869,8 +9833,7 @@ /turf/open/floor/plating, /area/maintenance/port/fore) "auK" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -9922,7 +9885,9 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/labor) "auR" = ( -/obj/machinery/computer/shuttle/labor, +/obj/machinery/computer/shuttle/labor{ + dir = 4 + }, /obj/structure/reagent_dispensers/peppertank{ pixel_x = -31 }, @@ -9942,8 +9907,7 @@ /area/shuttle/labor) "auU" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/sign/securearea{ @@ -10198,8 +10162,7 @@ /area/maintenance/starboard) "avt" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable/yellow{ icon_state = "2-4" @@ -10268,8 +10231,7 @@ /area/engine/gravity_generator) "avx" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable/yellow{ icon_state = "2-4" @@ -10395,18 +10357,15 @@ /area/hallway/primary/port) "avI" = ( /obj/structure/closet/crate, -/obj/item/stack/sheet/metal{ - amount = 50; +/obj/item/stack/sheet/metal/fifty{ pixel_x = 2; pixel_y = 2 }, -/obj/item/stack/sheet/metal{ - amount = 50; +/obj/item/stack/sheet/metal/fifty{ pixel_x = 2; pixel_y = 2 }, -/obj/item/stack/sheet/metal{ - amount = 50; +/obj/item/stack/sheet/metal/fifty{ pixel_x = 2; pixel_y = 2 }, @@ -10450,8 +10409,7 @@ /area/maintenance/port/fore) "avO" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable/yellow{ icon_state = "2-4" @@ -10496,9 +10454,8 @@ /turf/open/floor/plating, /area/maintenance/port/fore) "avR" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 1; - icon_state = "pipe-j2s"; sortType = 1 }, /obj/structure/cable/yellow{ @@ -10592,8 +10549,7 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel, /area/security/brig) @@ -10641,9 +10597,8 @@ /obj/structure/cable/yellow{ icon_state = "2-4" }, -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 4 }, /turf/open/floor/plasteel, /area/security/brig) @@ -10738,8 +10693,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel, /area/security/brig) @@ -11005,15 +10959,13 @@ /area/maintenance/port/fore) "awU" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/port/fore) "awV" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable/yellow{ @@ -11423,8 +11375,7 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -11501,8 +11452,7 @@ /area/security/brig) "axS" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable/yellow{ icon_state = "1-8" @@ -11904,8 +11854,7 @@ /area/crew_quarters/toilet/restrooms) "ayN" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/neutral/corner{ dir = 1 @@ -11916,8 +11865,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 @@ -12120,9 +12068,7 @@ }, /area/quartermaster/miningoffice) "azp" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/item/storage/toolbox/emergency{ pixel_x = 2; pixel_y = -3 @@ -12185,8 +12131,7 @@ /area/quartermaster/warehouse) "azu" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable/yellow{ icon_state = "1-8" @@ -12453,8 +12398,7 @@ /area/security/detectives_office) "azW" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, @@ -12488,8 +12432,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plating, /area/maintenance/fore) @@ -12548,8 +12491,7 @@ /area/crew_quarters/dorms) "aAf" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/neutral/corner{ dir = 1 @@ -12563,9 +12505,8 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 4 }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) @@ -12654,8 +12595,7 @@ /area/maintenance/starboard/fore) "aAn" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable/yellow{ icon_state = "1-8" @@ -12709,7 +12649,7 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ sortType = 4 }, /obj/effect/landmark/start/station_engineer, @@ -13076,18 +13016,15 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, /turf/open/floor/plasteel/floorgrime, /area/security/brig) "aBh" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, /turf/open/floor/plasteel/floorgrime, /area/security/brig) "aBi" = ( @@ -13149,7 +13086,9 @@ dir = 8; pixel_x = 24 }, -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 8 + }, /turf/open/floor/carpet, /area/security/detectives_office) "aBq" = ( @@ -13509,10 +13448,7 @@ /turf/open/floor/plasteel/floorgrime, /area/quartermaster/warehouse) "aCc" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/electronics/apc, /obj/item/stock_parts/cell{ maxcharge = 2000 @@ -13690,6 +13626,9 @@ /area/security/brig) "aCq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, /turf/closed/wall, /area/security/brig) "aCr" = ( @@ -13756,7 +13695,9 @@ /turf/open/floor/carpet, /area/security/detectives_office) "aCx" = ( -/obj/machinery/computer/med_data, +/obj/machinery/computer/med_data{ + dir = 8 + }, /obj/machinery/newscaster{ pixel_x = 28 }, @@ -13802,8 +13743,7 @@ /area/crew_quarters/dorms) "aCD" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) @@ -13828,8 +13768,7 @@ pixel_y = 8 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/floorgrime, /area/crew_quarters/dorms) @@ -13930,8 +13869,7 @@ /area/engine/engineering) "aCT" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable/yellow{ icon_state = "1-2" @@ -13952,8 +13890,7 @@ /area/engine/engineering) "aCV" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -14036,6 +13973,7 @@ dir = 8 }, /obj/machinery/computer/shuttle/mining{ + dir = 4; req_access = "0"; req_one_access = "0" }, @@ -14273,12 +14211,12 @@ /area/security/brig) "aDG" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, /turf/open/floor/plasteel/black, /area/security/brig) "aDH" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, @@ -14363,10 +14301,7 @@ /turf/open/floor/plasteel/grimy, /area/security/detectives_office) "aDN" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/storage/briefcase{ pixel_x = -3; pixel_y = 2 @@ -14678,8 +14613,7 @@ pixel_y = 6 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/light_switch{ pixel_y = 28 @@ -14696,6 +14630,7 @@ /area/shuttle/mining) "aEv" = ( /obj/machinery/computer/security/mining{ + dir = 4; network = list("MINE","AuxBase") }, /turf/open/floor/plasteel, @@ -14970,15 +14905,18 @@ /turf/open/floor/plasteel/black, /area/security/brig) "aEX" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, /turf/open/floor/plasteel/black, /area/security/brig) "aEY" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, /obj/machinery/airalarm{ dir = 8; pixel_x = 24 @@ -15329,9 +15267,7 @@ }, /area/quartermaster/miningoffice) "aFH" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/item/pickaxe{ pixel_x = 5 }, @@ -15691,10 +15627,12 @@ /turf/open/floor/plating, /area/security/brig) "aGq" = ( +/obj/machinery/computer/security{ + dir = 1 + }, /obj/machinery/newscaster/security_unit{ pixel_y = -30 }, -/obj/machinery/computer/secure_data, /turf/open/floor/plasteel/black, /area/security/brig) "aGr" = ( @@ -15705,7 +15643,9 @@ network = list("Prison"); pixel_y = -30 }, -/obj/machinery/computer/security, +/obj/machinery/computer/secure_data{ + dir = 1 + }, /turf/open/floor/plasteel/black, /area/security/brig) "aGs" = ( @@ -15933,9 +15873,7 @@ /area/crew_quarters/dorms) "aGQ" = ( /obj/structure/table, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /obj/item/wrench, /obj/item/storage/box/lights/mixed, /obj/effect/turf_decal/bot{ @@ -15947,24 +15885,12 @@ /area/engine/engineering) "aGR" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/item/crowbar, /obj/item/grenade/chem_grenade/smart_metal_foam, /obj/item/grenade/chem_grenade/smart_metal_foam, @@ -16633,8 +16559,7 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -16649,8 +16574,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel, /area/quartermaster/storage) @@ -16663,8 +16587,7 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/effect/turf_decal/stripes/corner{ dir = 2 @@ -16727,8 +16650,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -17061,10 +16983,7 @@ /turf/open/floor/wood, /area/lawoffice) "aIW" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/storage/briefcase{ pixel_x = -3; pixel_y = 2 @@ -18661,8 +18580,7 @@ dir = 5 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable/yellow{ icon_state = "1-4" @@ -18734,9 +18652,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 4 }, /turf/open/floor/plasteel/neutral/corner{ dir = 1 @@ -18750,7 +18667,6 @@ dir = 9 }, /obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; dir = 4 }, /turf/open/floor/plasteel/neutral/corner{ @@ -18760,8 +18676,7 @@ "aNe" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel, /area/crew_quarters/locker) @@ -18822,15 +18737,9 @@ /area/engine/engineering) "aNo" = ( /obj/structure/closet/crate, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/rods/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/item/electronics/airlock, /obj/item/electronics/airlock, /obj/item/stock_parts/cell/high{ @@ -18949,7 +18858,9 @@ pixel_x = -27; pixel_y = 5 }, -/obj/machinery/computer/cargo, +/obj/machinery/computer/cargo{ + dir = 4 + }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) @@ -19386,8 +19297,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel, /area/crew_quarters/locker) @@ -19662,8 +19572,7 @@ /area/quartermaster/storage) "aPe" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -19735,8 +19644,7 @@ "aPj" = ( /obj/effect/landmark/start/quartermaster, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/chair/office/dark{ dir = 4 @@ -20270,6 +20178,7 @@ /area/quartermaster/qm) "aQq" = ( /obj/machinery/computer/security/mining{ + dir = 4; network = list("MINE","AuxBase") }, /obj/machinery/light_switch{ @@ -20796,8 +20705,7 @@ dir = 6 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable{ icon_state = "4-8" @@ -20825,7 +20733,7 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ sortType = 5 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, @@ -20879,15 +20787,9 @@ /area/construction/mining/aux_base) "aRF" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/item/pipe_dispenser, /obj/machinery/light{ dir = 4 @@ -20935,7 +20837,9 @@ /turf/open/floor/plasteel, /area/quartermaster/storage) "aRK" = ( -/obj/machinery/computer/cargo, +/obj/machinery/computer/cargo{ + dir = 4 + }, /turf/open/floor/plasteel/brown{ dir = 10 }, @@ -21009,7 +20913,6 @@ /area/storage/primary) "aRQ" = ( /obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -21017,8 +20920,7 @@ /area/storage/primary) "aRR" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel, /area/storage/primary) @@ -21411,9 +21313,7 @@ /obj/item/stack/sheet/plasteel{ amount = 10 }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /obj/item/storage/box/lights/mixed, /turf/open/floor/plasteel/yellow/side{ dir = 6 @@ -21473,8 +21373,7 @@ "aSU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel, /area/quartermaster/storage) @@ -21843,8 +21742,7 @@ /area/engine/engineering) "aTG" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable/yellow{ icon_state = "1-2" @@ -21859,8 +21757,7 @@ /area/engine/engineering) "aTH" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/effect/turf_decal/stripes/line{ dir = 2 @@ -22884,6 +22781,7 @@ pixel_x = 27 }, /obj/machinery/computer/security/mining{ + dir = 8; network = list("MINE","AuxBase") }, /turf/open/floor/plasteel/red/side{ @@ -23500,7 +23398,9 @@ /turf/open/floor/plasteel/red/side, /area/security/checkpoint/supply) "aXq" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 8 + }, /turf/open/floor/plasteel/red/side{ dir = 6 }, @@ -23526,8 +23426,7 @@ dir = 1 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plating, /area/maintenance/port/fore) @@ -23581,8 +23480,7 @@ icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 @@ -23974,10 +23872,7 @@ /turf/open/floor/plating, /area/maintenance/starboard/fore) "aYi" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = -1 @@ -23988,10 +23883,7 @@ /turf/open/floor/plasteel/black, /area/storage/tech) "aYj" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/pandemic{ pixel_x = -3; pixel_y = 3 @@ -24010,10 +23902,7 @@ /turf/open/floor/plasteel/black, /area/storage/tech) "aYk" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/mining, /obj/item/circuitboard/machine/autolathe{ pixel_x = 3; @@ -24365,8 +24254,7 @@ dir = 1 }, /obj/structure/disposalpipe/junction{ - dir = 1; - icon_state = "pipe-j1" + dir = 1 }, /turf/open/floor/plasteel, /area/hallway/primary/central) @@ -24375,8 +24263,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel, /area/hallway/primary/central) @@ -25298,8 +25185,7 @@ dir = 6 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/neutral/corner{ dir = 2 @@ -25395,8 +25281,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/neutral/corner{ dir = 2 @@ -25616,10 +25501,7 @@ }, /area/maintenance/starboard/fore) "bbk" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/borgupload{ pixel_x = -1; pixel_y = 1 @@ -25657,10 +25539,7 @@ }, /area/storage/tech) "bbn" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/cloning, /obj/item/circuitboard/computer/med_data{ pixel_x = 3; @@ -25676,10 +25555,7 @@ /turf/closed/wall, /area/maintenance/solars/port/fore) "bbp" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/powermonitor{ pixel_x = -2; pixel_y = 2 @@ -26136,10 +26012,7 @@ }, /area/hallway/primary/central) "bcn" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/machinery/firealarm{ dir = 8; pixel_x = -26 @@ -26196,10 +26069,7 @@ /turf/open/floor/plating, /area/storage/tech) "bcv" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/crew{ pixel_x = -1; pixel_y = 1 @@ -26288,8 +26158,7 @@ pixel_x = -26 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -26333,8 +26202,7 @@ /area/crew_quarters/heads/chief) "bcI" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable/yellow{ icon_state = "1-2" @@ -26385,7 +26253,9 @@ /turf/open/floor/plasteel, /area/security/checkpoint/engineering) "bcN" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 8 + }, /obj/machinery/computer/security/telescreen{ desc = "Used for monitoring the engine."; dir = 8; @@ -26552,8 +26422,7 @@ /area/maintenance/port/fore) "bdf" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/closed/wall, /area/quartermaster/sorting) @@ -26609,8 +26478,7 @@ /area/quartermaster/sorting) "bdl" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/extinguisher_cabinet{ @@ -26641,8 +26509,7 @@ /area/quartermaster/office) "bdo" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -26650,7 +26517,9 @@ /turf/open/floor/plasteel, /area/quartermaster/office) "bdp" = ( -/obj/machinery/computer/cargo, +/obj/machinery/computer/cargo{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -26713,9 +26582,8 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 1; - icon_state = "pipe-j1s"; sortType = 22 }, /turf/open/floor/plasteel, @@ -26723,8 +26591,7 @@ "bdz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/firealarm{ dir = 4; @@ -26818,8 +26685,7 @@ pixel_y = 32 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/carpet, /area/crew_quarters/heads/captain/private) @@ -26884,12 +26750,8 @@ /area/storage/tools) "bdS" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, /obj/item/storage/box/lights/mixed, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/yellow/side{ @@ -26913,12 +26775,8 @@ /area/storage/tools) "bdV" = ( /obj/structure/table, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/rods/fifty, /turf/open/floor/plasteel/yellow/side{ dir = 6 }, @@ -26932,10 +26790,7 @@ /turf/open/floor/plating, /area/maintenance/starboard/fore) "bdX" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/robotics{ pixel_x = -2; pixel_y = 2 @@ -26977,10 +26832,7 @@ /turf/open/floor/plasteel/black, /area/storage/tech) "bec" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = -1 @@ -27040,10 +26892,7 @@ }, /area/crew_quarters/heads/chief) "beh" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/storage/secure/briefcase, /obj/item/clothing/mask/cigarette/cigar, /obj/machinery/computer/security/telescreen{ @@ -27057,10 +26906,7 @@ }, /area/crew_quarters/heads/chief) "bei" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/lighter, /obj/item/clothing/glasses/meson, /obj/machinery/button/door{ @@ -27582,8 +27428,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/floorgrime, /area/janitor) @@ -27621,8 +27466,7 @@ pixel_y = 5 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -28223,7 +28067,7 @@ /turf/open/floor/plating, /area/maintenance/port/fore) "bgE" = ( -/obj/structure/disposalpipe/wrapsortjunction{ +/obj/structure/disposalpipe/sorting/wrap{ dir = 1 }, /turf/closed/wall, @@ -28368,8 +28212,7 @@ /area/quartermaster/office) "bgS" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -28447,8 +28290,7 @@ icon_state = "2-8" }, /obj/structure/disposalpipe/junction{ - dir = 2; - icon_state = "pipe-j1" + dir = 2 }, /turf/open/floor/plasteel, /area/hallway/primary/port) @@ -28713,8 +28555,7 @@ "bhA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/neutral/corner{ dir = 8 @@ -28729,8 +28570,7 @@ location = "14-Starboard-Central" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel, /area/hallway/primary/central) @@ -28825,8 +28665,7 @@ /area/hallway/primary/starboard) "bhL" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -28840,8 +28679,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/yellow/corner{ dir = 1 @@ -28979,8 +28817,7 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 2 }, /turf/open/floor/plasteel/yellow/side{ @@ -29567,8 +29404,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel, /area/hallway/primary/central) @@ -29655,8 +29491,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/junction{ - dir = 2; - icon_state = "pipe-j1" + dir = 2 }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) @@ -29665,8 +29500,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) @@ -29737,8 +29571,7 @@ /area/hallway/primary/starboard) "bjD" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable/yellow{ icon_state = "2-8" @@ -29778,8 +29611,7 @@ /area/engine/break_room) "bjH" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -29791,8 +29623,7 @@ /area/engine/break_room) "bjI" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 2 @@ -30191,8 +30022,7 @@ /area/hallway/primary/port) "bku" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -30206,8 +30036,7 @@ /area/hallway/primary/port) "bkv" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -30215,10 +30044,7 @@ /obj/structure/cable/yellow{ icon_state = "1-8" }, -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/storage/box, /obj/item/storage/box, /obj/item/storage/box, @@ -30664,15 +30490,13 @@ /area/engine/break_room) "blm" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel, /area/engine/break_room) "bln" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel, /area/engine/break_room) @@ -31443,8 +31267,7 @@ /area/hallway/primary/starboard) "bmW" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable/yellow{ icon_state = "1-4" @@ -31458,9 +31281,8 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 8; - icon_state = "pipe-j2s"; sortType = 6 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -31517,8 +31339,7 @@ /area/engine/break_room) "bnb" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -31939,17 +31760,15 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/hallway/primary/port) "bnT" = ( -/obj/structure/disposalpipe/junction{ - dir = 1; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 1 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -32170,7 +31989,9 @@ /obj/machinery/newscaster/security_unit{ pixel_x = 32 }, -/obj/machinery/computer/security/mining, +/obj/machinery/computer/security/mining{ + dir = 8 + }, /turf/open/floor/wood, /area/crew_quarters/heads/hop) "bop" = ( @@ -32309,7 +32130,9 @@ /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) "boH" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 8 + }, /obj/item/device/radio/intercom{ dir = 8; freerange = 1; @@ -32519,8 +32342,7 @@ /area/hallway/primary/starboard) "bpe" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable/yellow{ icon_state = "1-2" @@ -32529,8 +32351,7 @@ /area/hallway/primary/starboard) "bpf" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/caution/corner{ @@ -33065,8 +32886,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel, /area/hallway/primary/port) @@ -33174,9 +32994,8 @@ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 8; - icon_state = "pipe-j1s"; sortType = 3 }, /turf/open/floor/plasteel, @@ -33200,8 +33019,7 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel, /area/hallway/primary/port) @@ -33272,7 +33090,9 @@ /area/crew_quarters/heads/hop) "bqD" = ( /obj/structure/window/reinforced, -/obj/machinery/computer/cargo/request, +/obj/machinery/computer/cargo/request{ + dir = 8 + }, /turf/open/floor/wood, /area/crew_quarters/heads/hop) "bqE" = ( @@ -33490,7 +33310,9 @@ /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) "bqZ" = ( -/obj/machinery/computer/card, +/obj/machinery/computer/card{ + dir = 8 + }, /obj/machinery/light/small{ dir = 4 }, @@ -33579,8 +33401,7 @@ /area/crew_quarters/bar) "bri" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/wood, /area/crew_quarters/bar) @@ -33644,9 +33465,8 @@ /obj/structure/cable/yellow{ icon_state = "2-4" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 2; - icon_state = "pipe-j1s"; sortType = 19 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ @@ -34168,7 +33988,9 @@ }, /area/ai_monitored/turret_protected/aisat/foyer) "bsg" = ( -/obj/machinery/computer/station_alert, +/obj/machinery/computer/station_alert{ + dir = 1 + }, /obj/machinery/light, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/machinery/computer/security/telescreen{ @@ -34188,7 +34010,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/computer/monitor, +/obj/machinery/computer/monitor{ + dir = 1 + }, /obj/structure/cable/yellow, /turf/open/floor/plasteel/black, /area/ai_monitored/storage/satellite) @@ -34682,8 +34506,7 @@ /area/crew_quarters/heads/captain/private) "bth" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -34722,8 +34545,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/neutral/corner{ dir = 8 @@ -34776,15 +34598,13 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/effect/landmark/xeno_spawn, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/wood, /area/crew_quarters/bar) "btq" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/closet/gmcloset, /obj/item/wrench, @@ -35083,8 +34903,7 @@ "btY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable/yellow{ icon_state = "1-2" @@ -35178,9 +34997,8 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 1; - icon_state = "pipe-j1s"; sortType = 15 }, /obj/structure/cable/yellow{ @@ -35228,8 +35046,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/carpet, /area/crew_quarters/heads/hop) @@ -36111,11 +35928,15 @@ /turf/open/floor/plasteel/black, /area/engine/break_room) "bwm" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 1 + }, /turf/open/floor/wood, /area/crew_quarters/heads/hop) "bwn" = ( -/obj/machinery/computer/card, +/obj/machinery/computer/card{ + dir = 1 + }, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -36316,8 +36137,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/chair/comfy/brown{ dir = 8 @@ -36441,8 +36261,7 @@ "bwP" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/bar, /area/crew_quarters/bar) @@ -36695,6 +36514,7 @@ pixel_x = 26 }, /obj/machinery/computer/telecomms/monitor{ + dir = 8; network = "tcommsat" }, /turf/open/floor/plasteel/grimy, @@ -37263,8 +37083,7 @@ /area/crew_quarters/bar) "byF" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -37278,16 +37097,14 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 2 }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 4 }, /turf/open/floor/wood, /area/crew_quarters/bar) "byH" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 @@ -37350,12 +37167,8 @@ /area/crew_quarters/theatre) "byO" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/machinery/power/apc{ dir = 2; name = "MiniSat Maint APC"; @@ -37655,7 +37468,9 @@ /turf/open/floor/plasteel/black, /area/aisat) "bzn" = ( -/obj/machinery/computer/message_monitor, +/obj/machinery/computer/message_monitor{ + dir = 4 + }, /obj/machinery/airalarm{ dir = 4; pixel_x = -23 @@ -37715,6 +37530,7 @@ pixel_x = 26 }, /obj/machinery/computer/telecomms/server{ + dir = 8; network = "tcommsat" }, /obj/structure/cable/yellow{ @@ -38246,7 +38062,9 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bAF" = ( -/obj/machinery/computer/atmos_control, +/obj/machinery/computer/atmos_control{ + dir = 8 + }, /obj/machinery/requests_console{ department = "Atmospherics"; departmentType = 4; @@ -38262,12 +38080,8 @@ dir = 8 }, /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, /obj/item/grenade/chem_grenade/smart_metal_foam, /obj/item/grenade/chem_grenade/smart_metal_foam, /turf/open/floor/plasteel/caution{ @@ -38995,7 +38809,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/machinery/computer/atmos_control, +/obj/machinery/computer/atmos_control{ + dir = 8 + }, /turf/open/floor/plasteel/caution{ dir = 4 }, @@ -39264,8 +39080,7 @@ dir = 4 }, /obj/structure/disposalpipe/junction{ - dir = 1; - icon_state = "pipe-j1" + dir = 1 }, /turf/open/floor/plasteel, /area/hallway/primary/central) @@ -39349,8 +39164,7 @@ dir = 1 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/neutral/corner{ dir = 1 @@ -39553,8 +39367,7 @@ dir = 2 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/neutral/corner{ dir = 4 @@ -39604,8 +39417,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/neutral/corner{ dir = 4 @@ -39788,6 +39600,7 @@ /area/engine/atmos) "bEc" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 8; frequency = 1441; input_tag = "mix_in"; name = "Gas Mix Tank Control"; @@ -40554,8 +40367,7 @@ /area/crew_quarters/bar) "bFu" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/item/toy/cards/deck{ pixel_y = 4 @@ -40644,8 +40456,7 @@ icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 @@ -40677,8 +40488,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) @@ -41859,12 +41669,8 @@ /obj/item/stack/sheet/rglass{ amount = 50 }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/rods/fifty, /obj/item/storage/toolbox/emergency, /obj/item/device/flashlight, /obj/machinery/power/apc/highcap/five_k{ @@ -42059,18 +41865,10 @@ /area/engine/atmos) "bIN" = ( /obj/structure/table, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/rods/fifty, +/obj/item/stack/rods/fifty, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, @@ -42485,9 +42283,7 @@ /obj/item/stack/sheet/rglass{ amount = 50 }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, /obj/item/storage/toolbox/emergency, /obj/item/device/flashlight, /obj/structure/window/reinforced, @@ -42898,6 +42694,7 @@ /area/engine/atmos) "bKF" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 8; frequency = 1441; input_tag = "n2o_in"; name = "Nitrous Oxide Supply Control"; @@ -43116,20 +42913,14 @@ /turf/open/floor/plating, /area/maintenance/port) "bLf" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/effect/spawner/lootdrop/costume, /obj/effect/spawner/lootdrop/costume, /turf/open/floor/plating, /area/maintenance/port) "bLg" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/effect/spawner/lootdrop/costume, /obj/effect/spawner/lootdrop/costume, /turf/open/floor/plating, @@ -43167,12 +42958,8 @@ /obj/item/stack/sheet/rglass{ amount = 50 }, -/obj/item/stack/rods{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, +/obj/item/stack/rods/fifty, /obj/structure/table, /obj/item/storage/toolbox/mechanical{ pixel_x = -2; @@ -43231,10 +43018,7 @@ dir = 1; pixel_y = 1 }, -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/clothing/shoes/magboots{ pixel_x = -4; pixel_y = 3 @@ -43264,8 +43048,7 @@ "bLt" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -43476,8 +43259,7 @@ /area/crew_quarters/kitchen) "bLO" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/sink/kitchen{ pixel_y = 28 @@ -43616,10 +43398,7 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bMf" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/clothing/suit/hazardvest, /obj/item/clothing/suit/hazardvest, /obj/item/clothing/suit/hazardvest, @@ -44659,12 +44438,8 @@ }, /area/hallway/primary/central) "bOo" = ( -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, /obj/structure/table, /obj/item/stack/sheet/plasteel{ amount = 10 @@ -44673,12 +44448,8 @@ dir = 4; pixel_x = -22 }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/item/crowbar, /obj/item/wrench, /obj/item/storage/toolbox/electrical{ @@ -44722,10 +44493,7 @@ req_access_txt = "19" }, /obj/structure/window/reinforced, -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/tank/jetpack/carbondioxide{ pixel_x = 4; pixel_y = -1 @@ -44740,7 +44508,9 @@ }, /area/ai_monitored/storage/eva) "bOt" = ( -/obj/machinery/computer/teleporter, +/obj/machinery/computer/teleporter{ + dir = 4 + }, /turf/open/floor/plating, /area/teleporter) "bOu" = ( @@ -44845,10 +44615,7 @@ /turf/open/floor/wood, /area/bridge/showroom/corporate) "bOG" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/stack/medical/ointment, /obj/item/stack/medical/bruise_pack, /obj/item/reagent_containers/syringe/charcoal, @@ -45037,8 +44804,7 @@ dir = 1 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -45062,9 +44828,8 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 2; - icon_state = "pipe-j1s"; sortType = 18 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -45297,10 +45062,7 @@ /turf/open/floor/plating, /area/maintenance/port) "bPJ" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/clothing/mask/horsehead, /turf/open/floor/plating, /area/maintenance/port) @@ -45546,10 +45308,7 @@ /turf/open/floor/wood, /area/bridge/showroom/corporate) "bQp" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/clothing/suit/hazardvest, /obj/item/clothing/suit/hazardvest, /obj/item/clothing/head/hardhat/orange{ @@ -45838,6 +45597,7 @@ /area/engine/atmos) "bQW" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 8; frequency = 1441; input_tag = "tox_in"; name = "Plasma Supply Control"; @@ -46219,10 +45979,7 @@ /obj/item/device/radio/off, /obj/item/device/radio/off, /obj/item/device/radio/off, -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/machinery/button/door{ id = "gateshutter"; name = "Gateway Shutter Control"; @@ -46355,8 +46112,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable/yellow{ icon_state = "1-4" @@ -46899,8 +46655,7 @@ /area/crew_quarters/kitchen) "bTa" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable/yellow{ icon_state = "2-4" @@ -46925,8 +46680,7 @@ icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating, /area/maintenance/starboard) @@ -46960,8 +46714,7 @@ /area/maintenance/starboard) "bTe" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable/yellow{ icon_state = "1-8" @@ -47140,8 +46893,7 @@ dir = 8 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -47167,8 +46919,7 @@ icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -47571,8 +47322,7 @@ /area/crew_quarters/kitchen) "bUq" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -47609,7 +47359,7 @@ }, /area/crew_quarters/kitchen) "bUs" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 2; sortType = 20 }, @@ -47633,8 +47383,7 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/starboard) @@ -48256,6 +48005,7 @@ /area/engine/atmos) "bVM" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 8; frequency = 1441; input_tag = "co2_in"; name = "Carbon Dioxide Supply Control"; @@ -48388,8 +48138,7 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plating, /area/maintenance/port) @@ -48406,9 +48155,8 @@ /turf/open/floor/plating, /area/maintenance/port) "bWe" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 4; - icon_state = "pipe-j2s"; sortType = 16 }, /obj/structure/cable/yellow{ @@ -48445,8 +48193,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 4 }, /turf/open/floor/plasteel/vault, @@ -48473,8 +48220,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/camera{ c_tag = "Central Primary Hallway - Aft-Port Corner"; @@ -48632,8 +48378,7 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel, /area/hallway/primary/central) @@ -48674,8 +48419,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/neutral/corner{ dir = 2 @@ -48860,8 +48604,7 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plating, /area/maintenance/starboard) @@ -48982,8 +48725,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/components/binary/pump{ dir = 8; @@ -49084,6 +48826,7 @@ /area/engine/atmos) "bXt" = ( /obj/machinery/power/solar_control{ + dir = 1; id = "aftport"; name = "Port Quarter Solar Control"; track = 0 @@ -49447,8 +49190,7 @@ /obj/structure/cable/yellow{ icon_state = "1-4" }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 2 }, /turf/open/floor/plating, @@ -49489,8 +49231,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plating, /area/maintenance/starboard) @@ -50197,8 +49938,7 @@ "bZW" = ( /obj/item/cigbutt, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -50261,8 +50001,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 @@ -50614,8 +50353,7 @@ /area/hydroponics) "caK" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -50748,7 +50486,7 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ sortType = 21 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -50848,6 +50586,7 @@ "cbe" = ( /obj/structure/window/reinforced, /obj/machinery/computer/atmos_control/tank{ + dir = 1; frequency = 1441; input_tag = "n2_in"; name = "Nitrogen Supply Control"; @@ -50902,6 +50641,7 @@ "cbi" = ( /obj/structure/window/reinforced, /obj/machinery/computer/atmos_control/tank{ + dir = 1; frequency = 1441; input_tag = "o2_in"; name = "Oxygen Supply Control"; @@ -51121,9 +50861,8 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 1; - icon_state = "pipe-j1s"; sortType = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -51185,8 +50924,7 @@ /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -51264,7 +51002,9 @@ /turf/closed/wall, /area/security/checkpoint/medical) "cbQ" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 4 + }, /obj/machinery/computer/security/telescreen{ desc = "Used for monitoring medbay to ensure patient safety."; dir = 1; @@ -51443,7 +51183,9 @@ /turf/open/floor/plasteel, /area/security/checkpoint/science/research) "ccn" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 8 + }, /obj/item/book/manual/wiki/security_space_law, /obj/machinery/computer/security/telescreen{ desc = "Used for watching the RD's goons from the safety of his office."; @@ -52085,8 +51827,7 @@ /area/medical/medbay/central) "cdE" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) @@ -52116,8 +51857,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel, /area/hallway/primary/aft) @@ -52143,8 +51883,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/white, /area/science/research) @@ -52156,8 +51895,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/white, /area/science/research) @@ -52295,8 +52033,7 @@ /area/maintenance/disposal/incinerator) "ceb" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable/yellow{ icon_state = "1-2" @@ -52327,8 +52064,7 @@ /area/maintenance/disposal/incinerator) "cee" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable{ icon_state = "1-2" @@ -52695,8 +52431,7 @@ }, /area/science/research) "ceR" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 4 }, /turf/open/floor/plasteel/whitepurple/side{ @@ -52723,8 +52458,7 @@ "ceT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/whitepurple/side{ dir = 2 @@ -52782,8 +52516,7 @@ /area/security/checkpoint/science/research) "ceY" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable/yellow{ icon_state = "2-4" @@ -52930,8 +52663,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 2 @@ -53559,8 +53291,7 @@ /area/engine/atmos) "cgF" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable/yellow{ @@ -53570,6 +53301,7 @@ dir = 4; pixel_x = 28 }, +/obj/structure/reagent_dispensers/cooking_oil, /turf/open/floor/plasteel/showroomfloor, /area/crew_quarters/kitchen) "cgG" = ( @@ -53594,8 +53326,7 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 @@ -53622,8 +53353,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -54539,8 +54269,7 @@ /area/science/lab) "ciE" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -54839,8 +54568,7 @@ /area/maintenance/port/aft) "cjr" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -55164,7 +54892,9 @@ }, /area/medical/chemistry) "cjX" = ( -/obj/machinery/computer/rdconsole/core, +/obj/machinery/computer/rdconsole/core{ + dir = 4 + }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/lab) @@ -55855,14 +55585,11 @@ }, /area/hallway/primary/aft) "clz" = ( -/obj/item/stack/sheet/glass{ - amount = 50; +/obj/item/stack/sheet/glass/fifty{ pixel_x = 3; pixel_y = 3 }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, /obj/item/clothing/glasses/welding, /obj/structure/table, /obj/effect/turf_decal/stripes/line{ @@ -55997,8 +55724,7 @@ /area/science/research) "clO" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 @@ -56714,7 +56440,9 @@ /turf/open/floor/plasteel, /area/medical/surgery) "cnr" = ( -/obj/machinery/computer/med_data, +/obj/machinery/computer/med_data{ + dir = 4 + }, /obj/structure/extinguisher_cabinet{ pixel_x = -27 }, @@ -56941,8 +56669,7 @@ }, /area/medical/chemistry) "cnI" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 2 }, /obj/structure/cable/yellow{ @@ -57080,8 +56807,7 @@ /area/science/lab) "cnY" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -57109,8 +56835,7 @@ /area/science/research) "coa" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -57658,8 +57383,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/white, /area/science/lab) @@ -57677,8 +57401,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/whitepurple/side{ dir = 4 @@ -57764,8 +57487,7 @@ /obj/structure/cable/yellow{ icon_state = "1-8" }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 2 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -57803,8 +57525,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j1" + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -57847,9 +57568,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 8 }, /turf/open/floor/plasteel/whitepurple/side{ dir = 4 @@ -57879,8 +57599,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -58251,8 +57970,7 @@ /area/crew_quarters/heads/cmo) "cqm" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 @@ -58301,8 +58019,7 @@ /area/crew_quarters/heads/cmo) "cqq" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 @@ -58506,8 +58223,7 @@ /area/science/research) "cqG" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 @@ -58538,8 +58254,7 @@ /area/science/research) "cqJ" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -58710,8 +58425,7 @@ "crc" = ( /obj/structure/lattice, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/space, /area/space) @@ -58769,7 +58483,9 @@ /turf/open/floor/plasteel/white, /area/medical/surgery) "crl" = ( -/obj/machinery/computer/operating, +/obj/machinery/computer/operating{ + dir = 1 + }, /turf/open/floor/plasteel/white, /area/medical/surgery) "crm" = ( @@ -59370,8 +59086,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -59405,9 +59120,8 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 8; - icon_state = "pipe-j2s"; sortType = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -59428,8 +59142,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -59482,15 +59195,16 @@ name = "Station Intercom (General)"; pixel_y = -29 }, -/obj/machinery/computer/card/minor/cmo, +/obj/machinery/computer/card/minor/cmo{ + dir = 8 + }, /turf/open/floor/plasteel/barber{ dir = 8 }, /area/crew_quarters/heads/cmo) "csC" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -59519,9 +59233,8 @@ }, /area/maintenance/aft) "csF" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 8; - icon_state = "pipe-j1s"; sortType = 11 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -59533,9 +59246,8 @@ /turf/open/floor/plating, /area/maintenance/aft) "csH" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 8; - icon_state = "pipe-j2s"; sortType = 23 }, /obj/effect/turf_decal/stripes/line{ @@ -59572,8 +59284,7 @@ dir = 4 }, /obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j1" + dir = 8 }, /turf/open/floor/plasteel, /area/hallway/primary/aft) @@ -59603,9 +59314,8 @@ /turf/open/floor/plating, /area/maintenance/aft) "csN" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 8; - icon_state = "pipe-j2s"; sortType = 14 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -59654,9 +59364,8 @@ /turf/open/floor/plating, /area/maintenance/aft) "csR" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 8; - icon_state = "pipe-j1s"; sortType = 12 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -59705,8 +59414,7 @@ /area/science/research) "csV" = ( /obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j1" + dir = 8 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 @@ -59719,17 +59427,15 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 8; - icon_state = "pipe-j2s"; sortType = 13 }, /turf/open/floor/plasteel/white, /area/science/research) "csX" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, @@ -59770,7 +59476,9 @@ pixel_y = 30; receive_ore_updates = 1 }, -/obj/machinery/modular_computer/console/preset/research, +/obj/machinery/modular_computer/console/preset/research{ + dir = 8 + }, /turf/open/floor/plasteel/cafeteria{ dir = 5 }, @@ -60143,7 +59851,9 @@ }, /area/crew_quarters/heads/hor) "ctS" = ( -/obj/machinery/computer/robotics, +/obj/machinery/computer/robotics{ + dir = 8 + }, /obj/structure/window/reinforced{ dir = 4 }, @@ -60186,8 +59896,7 @@ dir = 5 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -60203,8 +59912,7 @@ }, /obj/structure/chair/stool, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -60620,7 +60328,9 @@ /turf/open/floor/plating, /area/crew_quarters/heads/hor) "cuM" = ( -/obj/machinery/computer/card/minor/rd, +/obj/machinery/computer/card/minor/rd{ + dir = 4 + }, /turf/open/floor/plasteel/cafeteria{ dir = 5 }, @@ -60632,7 +60342,9 @@ }, /area/crew_quarters/heads/hor) "cuO" = ( -/obj/machinery/computer/mecha, +/obj/machinery/computer/mecha{ + dir = 8 + }, /obj/structure/window/reinforced{ dir = 4 }, @@ -60855,8 +60567,7 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable/yellow{ icon_state = "1-2" @@ -60868,8 +60579,7 @@ /area/maintenance/port/aft) "cvm" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable/yellow{ icon_state = "2-8" @@ -60957,7 +60667,9 @@ /turf/open/floor/plasteel/vault, /area/medical/genetics/cloning) "cvx" = ( -/obj/machinery/computer/scan_consolenew, +/obj/machinery/computer/scan_consolenew{ + dir = 4 + }, /obj/machinery/camera{ c_tag = "Genetics Lab"; dir = 4; @@ -60992,7 +60704,9 @@ }, /area/medical/genetics) "cvB" = ( -/obj/machinery/computer/scan_consolenew, +/obj/machinery/computer/scan_consolenew{ + dir = 8 + }, /turf/open/floor/plasteel/whiteblue, /area/medical/genetics) "cvC" = ( @@ -61108,8 +60822,7 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/white, /area/science/research) @@ -61191,8 +60904,7 @@ dir = 8 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/cafeteria{ dir = 5 @@ -61453,7 +61165,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, -/obj/machinery/computer/cloning, +/obj/machinery/computer/cloning{ + dir = 8 + }, /obj/machinery/light{ dir = 4 }, @@ -61954,8 +61668,7 @@ /area/medical/genetics) "cxx" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/blue/corner{ dir = 4 @@ -62795,7 +62508,9 @@ /turf/open/floor/mech_bay_recharge_floor, /area/science/robotics/mechbay) "czk" = ( -/obj/machinery/computer/mech_bay_power_console, +/obj/machinery/computer/mech_bay_power_console{ + dir = 1 + }, /obj/structure/cable/yellow{ icon_state = "0-4" }, @@ -62990,15 +62705,9 @@ }, /area/science/mixing) "czG" = ( -/obj/item/stack/rods{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/rods/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/metal/fifty, /obj/item/target, /obj/item/target/syndicate, /obj/item/target/alien, @@ -63064,8 +62773,7 @@ /area/medical/medbay/aft) "czP" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/cafeteria{ dir = 5 @@ -63317,8 +63025,7 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -63345,8 +63052,7 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -63519,8 +63225,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/white, /area/science/mixing) @@ -63552,8 +63257,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/white, /area/science/mixing) @@ -65013,8 +64717,7 @@ /area/medical/virology) "cDK" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -65052,8 +64755,7 @@ /area/maintenance/port/aft) "cDN" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable/yellow{ icon_state = "2-8" @@ -65102,8 +64804,7 @@ /area/medical/medbay/aft) "cDS" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white/side{ @@ -65119,7 +64820,6 @@ /area/medical/medbay/aft) "cDU" = ( /obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; dir = 4 }, /turf/open/floor/plasteel/white/side{ @@ -65203,8 +64903,7 @@ /area/medical/morgue) "cEb" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -65318,8 +65017,7 @@ dir = 6 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable/yellow{ icon_state = "1-4" @@ -65349,8 +65047,7 @@ dir = 10 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable/yellow{ icon_state = "2-8" @@ -65698,8 +65395,7 @@ /turf/open/floor/plasteel/black, /area/medical/morgue) "cEV" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 2 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -65713,8 +65409,7 @@ /area/medical/morgue) "cEX" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/black, /area/medical/morgue) @@ -66188,8 +65883,7 @@ /area/medical/morgue) "cFV" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -66198,8 +65892,7 @@ /area/medical/morgue) "cFW" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 @@ -66228,7 +65921,9 @@ }, /area/hallway/primary/aft) "cGa" = ( -/obj/machinery/computer/rdconsole/robotics, +/obj/machinery/computer/rdconsole/robotics{ + dir = 4 + }, /obj/machinery/requests_console{ department = "Robotics"; departmentType = 2; @@ -66258,8 +65953,7 @@ "cGe" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable/yellow{ icon_state = "1-2" @@ -67185,8 +66879,7 @@ /area/maintenance/aft) "cHI" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable/yellow{ icon_state = "2-4" @@ -67225,8 +66918,7 @@ /area/maintenance/aft) "cHL" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 2 @@ -67552,8 +67244,7 @@ "cIs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/closed/wall, /area/medical/virology) @@ -67561,8 +67252,7 @@ /obj/structure/closet/wardrobe/virology_white, /obj/item/storage/backpack/satchel/vir, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/firealarm{ dir = 8; @@ -67645,10 +67335,7 @@ /area/maintenance/aft) "cIC" = ( /obj/item/clothing/gloves/color/latex/nitrile, -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/clothing/suit/toggle/labcoat, /obj/item/clothing/suit/apron/surgical, /obj/item/clothing/mask/surgical, @@ -67983,8 +67670,7 @@ /area/maintenance/aft) "cJo" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable/yellow{ icon_state = "1-4" @@ -68037,10 +67723,7 @@ /turf/open/floor/plating, /area/maintenance/aft) "cJt" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/screwdriver{ pixel_y = 6 }, @@ -68188,6 +67871,7 @@ /area/shuttle/abandoned) "cJJ" = ( /obj/machinery/computer/operating{ + dir = 1; name = "Robotics Operating Computer" }, /turf/open/floor/plasteel/white/side{ @@ -68294,7 +67978,9 @@ name = "Station Intercom (General)"; pixel_y = -28 }, -/obj/machinery/computer/rdservercontrol, +/obj/machinery/computer/rdservercontrol{ + dir = 1 + }, /turf/open/floor/plasteel/black, /area/science/server) "cJT" = ( @@ -68513,8 +68199,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/aft) @@ -68522,9 +68207,8 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 8; - icon_state = "pipe-j2s"; sortType = 17 }, /obj/structure/cable/yellow{ @@ -68541,8 +68225,7 @@ /area/maintenance/aft) "cKu" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating, /area/maintenance/aft) @@ -68875,8 +68558,7 @@ /area/maintenance/aft) "cLd" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/aft) @@ -68914,9 +68596,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 8 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, @@ -68949,8 +68630,7 @@ /area/maintenance/aft) "cLj" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable/yellow{ icon_state = "1-8" @@ -68981,8 +68661,7 @@ /area/hallway/secondary/exit/departure_lounge) "cLn" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/navbeacon{ @@ -69005,8 +68684,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) @@ -69187,6 +68865,7 @@ req_access_txt = "12" }, /obj/machinery/computer/turbine_computer{ + dir = 1; id = "incineratorturbine" }, /turf/open/floor/plasteel/floorgrime, @@ -69346,8 +69025,7 @@ pixel_y = 30 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/grimy, /area/chapel/office) @@ -69356,8 +69034,7 @@ dir = 8 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable/yellow{ icon_state = "1-2" @@ -69485,8 +69162,7 @@ /area/maintenance/aft) "cMm" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -69498,8 +69174,7 @@ /area/maintenance/port/aft) "cMo" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable/yellow{ icon_state = "1-8" @@ -69551,8 +69226,7 @@ /area/maintenance/solars/starboard/aft) "cMt" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plating/airless, /area/space) @@ -69577,8 +69251,7 @@ dir = 9 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable/yellow{ icon_state = "0-4" @@ -69929,8 +69602,7 @@ /area/maintenance/aft) "cNf" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable/yellow{ icon_state = "1-8" @@ -69941,10 +69613,7 @@ /turf/open/floor/plating, /area/maintenance/port/aft) "cNg" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/device/flashlight, /obj/effect/spawner/lootdrop/maintenance, /obj/machinery/light/small, @@ -69976,9 +69645,7 @@ /obj/item/reagent_containers/food/snacks/grown/citrus/orange, /obj/item/reagent_containers/food/snacks/grown/grapes, /obj/item/reagent_containers/food/snacks/grown/cocoapod, -/obj/structure/rack{ - layer = 2.8 - }, +/obj/structure/rack, /obj/item/seeds/wheat, /obj/item/seeds/watermelon, /obj/item/seeds/watermelon, @@ -69993,9 +69660,7 @@ /obj/item/device/plant_analyzer, /obj/item/cultivator, /obj/item/reagent_containers/glass/bucket, -/obj/structure/rack{ - layer = 2.8 - }, +/obj/structure/rack, /obj/item/seeds/corn, /obj/item/seeds/cabbage, /obj/item/seeds/ambrosia, @@ -70014,8 +69679,7 @@ /area/maintenance/starboard/aft) "cNm" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable/yellow{ icon_state = "2-8" @@ -70051,6 +69715,7 @@ /area/maintenance/solars/starboard/aft) "cNq" = ( /obj/machinery/power/solar_control{ + dir = 8; id = "aftstarboard"; name = "Starboard Quarter Solar Control"; track = 0 @@ -70171,8 +69836,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/carpet, /area/chapel/main) @@ -70242,8 +69906,7 @@ /area/hallway/secondary/exit/departure_lounge) "cNL" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -70277,7 +69940,9 @@ /turf/open/floor/plating, /area/hallway/secondary/exit/departure_lounge) "cNQ" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 4 + }, /obj/structure/cable/yellow{ icon_state = "2-8" }, @@ -71511,24 +71176,12 @@ pixel_x = 3; pixel_y = -4 }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, /obj/structure/extinguisher_cabinet{ pixel_x = 27 }, @@ -72009,10 +71662,7 @@ /turf/open/floor/plating, /area/chapel/main) "cRM" = ( -/obj/machinery/processor{ - desc = "A machine used to process slimes and retrieve their extract."; - name = "Slime Processor" - }, +/obj/machinery/processor/slime, /obj/effect/turf_decal/stripes/corner{ dir = 2 }, @@ -72816,8 +72466,7 @@ /area/science/xenobiology) "cTn" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plating, /area/maintenance/department/science/xenobiology) @@ -73243,9 +72892,11 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 1; frequency = 1441; - id = "n2_in" + id = "n2_in"; + volume_rate = 200 }, -/turf/open/floor/plating/airless, +/obj/structure/lattice/catwalk, +/turf/open/space, /area/engine/atmos) "cVB" = ( /obj/structure/chair{ @@ -73294,6 +72945,7 @@ "cVJ" = ( /obj/structure/window/reinforced, /obj/machinery/computer/atmos_control/tank{ + dir = 1; frequency = 1441; input_tag = "air_in"; name = "Mixed Air Supply Control"; @@ -73397,9 +73049,7 @@ /area/shuttle/abandoned) "cVU" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, /obj/item/stock_parts/cell/high{ charge = 100; maxcharge = 15000; @@ -73776,14 +73426,11 @@ /area/shuttle/abandoned) "cWy" = ( /obj/structure/table, -/obj/item/stack/sheet/glass{ - amount = 50; +/obj/item/stack/sheet/glass/fifty{ pixel_x = -2; pixel_y = 2 }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /obj/effect/decal/cleanable/dirt{ desc = "A thin layer of dust coating the floor."; name = "dust" @@ -73792,11 +73439,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "cWz" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9; - pixel_y = 2 - }, +/obj/structure/rack, /obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = 6 @@ -74269,7 +73912,9 @@ desc = "A thin layer of dust coating the floor."; name = "dust" }, -/obj/machinery/computer/shuttle/white_ship, +/obj/machinery/computer/shuttle/white_ship{ + dir = 8 + }, /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "cXv" = ( @@ -74383,6 +74028,7 @@ name = "dust" }, /obj/machinery/computer/camera_advanced/shuttle_docker/whiteship{ + dir = 1; station_lock_override = 1; view_range = 15; x_offset = -3; @@ -75625,11 +75271,15 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "dak" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 4 + }, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "dal" = ( -/obj/machinery/computer/emergency_shuttle, +/obj/machinery/computer/emergency_shuttle{ + dir = 4 + }, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "dam" = ( @@ -75640,7 +75290,9 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "dan" = ( -/obj/machinery/computer/station_alert, +/obj/machinery/computer/station_alert{ + dir = 4 + }, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "dao" = ( @@ -75721,9 +75373,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "dav" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/item/tank/internals/oxygen/red, /obj/item/clothing/suit/fire/firefighter, /obj/item/clothing/mask/gas, @@ -75866,8 +75516,7 @@ /area/science/xenobiology) "daO" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/department/science/xenobiology) @@ -75885,8 +75534,7 @@ /area/maintenance/department/science/xenobiology) "daQ" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 @@ -76694,8 +76342,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/effect/turf_decal/stripes/line{ dir = 2 @@ -77038,8 +76685,7 @@ /area/science/xenobiology) "ddm" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable/yellow{ icon_state = "1-8" @@ -77217,7 +76863,9 @@ /turf/open/floor/pod/light, /area/shuttle/transport) "ddK" = ( -/obj/machinery/computer/shuttle/ferry/request, +/obj/machinery/computer/shuttle/ferry/request{ + dir = 8 + }, /turf/open/floor/pod/dark, /area/shuttle/transport) "ddL" = ( @@ -77560,10 +77208,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ - filter_type = "freon"; - name = "gas filter (freon)" - }, +/obj/machinery/atmospherics/components/trinary/filter/flipped/critical, /turf/open/floor/engine, /area/engine/engineering) "deK" = ( @@ -78448,14 +78093,9 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/stack/sheet/cardboard, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /obj/item/paper, /obj/item/storage/box/lights/mixed, /obj/structure/sign/poster/official/random{ @@ -79112,8 +78752,7 @@ /area/maintenance/aft) "diM" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable/yellow{ icon_state = "2-8" @@ -79152,8 +78791,7 @@ /area/maintenance/starboard/aft) "diQ" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/sign/poster/contraband/random{ pixel_y = 32 @@ -80234,9 +79872,6 @@ /area/security/brig) "dBH" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass_security{ name = "Security Desk"; @@ -80846,9 +80481,7 @@ }, /area/construction/mining/aux_base) "dDK" = ( -/obj/structure/rack{ - dir = 4 - }, +/obj/structure/rack, /obj/item/electronics/airlock, /obj/item/electronics/airlock, /obj/item/electronics/airlock, @@ -81018,6 +80651,34 @@ }, /turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) +"EDo" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/atmos) +"EDp" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/atmos) +"EDq" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/atmos) +"EDr" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/atmos) +"EDs" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/atmos) +"EDt" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/atmos) +"EDu" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/atmos) (1,1,1) = {" aaa @@ -90840,7 +90501,7 @@ aaa aaa aaa aaa -EDa +aaa aaa aaa aaa @@ -91872,7 +91533,7 @@ aaa aaa aaa aaa -aaa +EDa aaa aaa aaa @@ -95105,7 +94766,7 @@ aaa aaa aaa aaa -dbC +aaa aaa aaa aaa @@ -109066,7 +108727,7 @@ aaa aaa aaa aaa -aab +aaa aaa aaa aaa @@ -111842,7 +111503,7 @@ aaa aaa aaa aaa -dbD +aaa aaa aaa aaa @@ -122545,7 +122206,7 @@ cbe ccO bza aaf -bza +EDo chO cjd ckG @@ -123573,7 +123234,7 @@ cbi ccS bza aaf -bza +EDo chR cjg ckH @@ -124601,7 +124262,7 @@ cVJ ccQ bza aaf -bza +EDo chU cjj ckJ @@ -126123,19 +125784,19 @@ aaa aaf bAR dBC -bza +EDo bFZ bAR bCA -bza +EDo bFZ bAR bCA -bza +EDo bFZ bAR bCA -bza +EDo bFZ bAR aaf @@ -129643,7 +129304,7 @@ aaa aaa aaa aaa -cTX +aaa aaa aaa aaa @@ -130058,7 +129719,7 @@ aaa aaa aaa aaa -dbB +aaa aaa aaa aaa diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm index d634822968..e3f175d5c7 100644 --- a/_maps/map_files/Mining/Lavaland.dmm +++ b/_maps/map_files/Mining/Lavaland.dmm @@ -107,9 +107,7 @@ /turf/open/floor/plasteel/white, /area/mine/laborcamp) "au" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/item/storage/bag/ore, /obj/item/pickaxe, /obj/item/device/flashlight, @@ -117,9 +115,7 @@ /turf/open/floor/plasteel, /area/mine/laborcamp) "av" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/item/storage/bag/ore, /obj/item/device/flashlight, /obj/item/pickaxe, diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index 21e18ab470..d87c34e930 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -677,7 +677,9 @@ /obj/structure/cable/white{ icon_state = "0-2" }, -/obj/machinery/modular_computer/console/preset/command, +/obj/machinery/modular_computer/console/preset/command{ + dir = 4 + }, /turf/open/floor/plasteel/vault{ dir = 5 }, @@ -2981,7 +2983,9 @@ }, /area/crew_quarters/heads/hop) "afA" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 8 + }, /obj/machinery/ai_status_display{ pixel_x = 32 }, @@ -3052,7 +3056,9 @@ pixel_x = 24; pixel_y = -8 }, -/obj/machinery/computer/cargo, +/obj/machinery/computer/cargo{ + dir = 8 + }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) @@ -3144,7 +3150,9 @@ /turf/open/floor/plasteel/grimy, /area/security/detectives_office) "afT" = ( -/obj/machinery/computer/med_data, +/obj/machinery/computer/med_data{ + dir = 8 + }, /obj/machinery/requests_console{ department = "Detective's Office"; departmentType = 0; @@ -3421,7 +3429,9 @@ }, /area/crew_quarters/heads/hop) "agt" = ( -/obj/machinery/computer/card, +/obj/machinery/computer/card{ + dir = 8 + }, /obj/machinery/status_display{ pixel_x = 32 }, @@ -3610,7 +3620,9 @@ /turf/open/floor/plasteel/grimy, /area/security/detectives_office) "agM" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 8 + }, /obj/machinery/light{ dir = 4 }, @@ -4180,7 +4192,9 @@ /turf/open/floor/plasteel, /area/crew_quarters/heads/captain/private) "ahI" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 1 + }, /obj/machinery/status_display{ pixel_y = -32 }, @@ -4191,7 +4205,9 @@ /turf/open/floor/carpet, /area/crew_quarters/heads/captain/private) "ahJ" = ( -/obj/machinery/computer/card, +/obj/machinery/computer/card{ + dir = 1 + }, /obj/machinery/ai_status_display{ pixel_y = -32 }, @@ -6702,15 +6718,9 @@ /area/ai_monitored/storage/eva) "amo" = ( /obj/structure/table/reinforced, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/rods/fifty, /obj/item/stock_parts/cell/high, /obj/item/stock_parts/cell/high, /obj/structure/cable/white{ @@ -6804,7 +6814,9 @@ /turf/open/floor/plasteel/brown, /area/quartermaster/storage) "amx" = ( -/obj/machinery/computer/cargo, +/obj/machinery/computer/cargo{ + dir = 8 + }, /turf/open/floor/plasteel/brown, /area/quartermaster/storage) "amy" = ( @@ -7821,7 +7833,9 @@ /turf/open/floor/plasteel/red/side, /area/security/brig) "aou" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 1 + }, /obj/structure/cable/white{ icon_state = "4-8" }, @@ -7976,7 +7990,9 @@ /turf/open/floor/plasteel, /area/teleporter) "aoI" = ( -/obj/machinery/computer/teleporter, +/obj/machinery/computer/teleporter{ + dir = 8 + }, /obj/machinery/newscaster{ pixel_x = 32 }, @@ -8871,7 +8887,9 @@ /turf/open/floor/plasteel/brown/corner, /area/hallway/primary/central) "aqj" = ( -/obj/machinery/computer/cargo/request, +/obj/machinery/computer/cargo/request{ + dir = 1 + }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/central) @@ -8964,7 +8982,9 @@ }, /area/quartermaster/miningdock) "aqs" = ( -/obj/machinery/computer/shuttle/mining, +/obj/machinery/computer/shuttle/mining{ + dir = 8 + }, /turf/open/floor/plasteel/brown{ dir = 4 }, @@ -9050,10 +9070,10 @@ /turf/closed/wall/r_wall, /area/engine/atmos) "aqE" = ( -/obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, +/obj/effect/spawner/structure/window/plasma/reinforced, /turf/open/floor/plating, /area/engine/atmos) "aqF" = ( @@ -9393,7 +9413,9 @@ }, /area/quartermaster/miningdock) "arm" = ( -/obj/machinery/computer/security/mining, +/obj/machinery/computer/security/mining{ + dir = 8 + }, /obj/machinery/status_display{ pixel_x = 32 }, @@ -10384,7 +10406,9 @@ /turf/open/floor/plasteel, /area/security/brig) "asR" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 1 + }, /obj/machinery/firealarm{ dir = 1; pixel_x = -26; @@ -10406,7 +10430,9 @@ }, /area/security/brig) "asS" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 1 + }, /obj/machinery/light/small, /obj/machinery/newscaster/security_unit{ pixel_y = -32 @@ -10695,8 +10721,8 @@ /turf/open/floor/engine/n2, /area/engine/atmos) "aty" = ( -/obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/effect/spawner/structure/window/plasma/reinforced, /turf/open/floor/plating, /area/engine/atmos) "atz" = ( @@ -10711,6 +10737,7 @@ /area/engine/atmos) "atA" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 4; frequency = 1441; input_tag = "n2_in"; name = "Nitrogen Supply Control"; @@ -12627,6 +12654,7 @@ /area/engine/atmos) "axk" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 4; frequency = 1441; input_tag = "o2_in"; name = "Oxygen Supply Control"; @@ -12772,12 +12800,8 @@ /area/engine/atmos) "axz" = ( /obj/structure/table/reinforced, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/rods/fifty, /obj/machinery/airalarm{ pixel_y = 23 }, @@ -12790,12 +12814,8 @@ /area/engine/atmos) "axA" = ( /obj/structure/table/reinforced, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, /obj/item/grenade/chem_grenade/smart_metal_foam, /obj/item/grenade/chem_grenade/smart_metal_foam, /obj/machinery/newscaster{ @@ -13734,7 +13754,9 @@ /turf/open/floor/plasteel/neutral, /area/engine/atmos) "azz" = ( -/obj/machinery/computer/atmos_alert, +/obj/machinery/computer/atmos_alert{ + dir = 8 + }, /obj/structure/cable/white{ icon_state = "1-8" }, @@ -14203,7 +14225,9 @@ /turf/open/floor/plasteel/neutral, /area/engine/atmos) "aAB" = ( -/obj/machinery/computer/station_alert, +/obj/machinery/computer/station_alert{ + dir = 8 + }, /obj/structure/cable/white{ icon_state = "1-4" }, @@ -14477,7 +14501,9 @@ }, /area/hallway/primary/central) "aBc" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 4 + }, /obj/machinery/newscaster/security_unit{ pixel_x = -32 }, @@ -14490,7 +14516,9 @@ /turf/open/floor/plasteel/red/side, /area/hallway/secondary/exit) "aBe" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/red/side, /area/hallway/secondary/exit) @@ -14561,7 +14589,9 @@ }, /area/shuttle/escape) "aBn" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 8 + }, /obj/machinery/ai_status_display{ pixel_x = 32 }, @@ -14585,6 +14615,7 @@ /area/engine/atmos) "aBq" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 4; frequency = 1441; input_tag = "air_in"; name = "Mixed Air Supply Control"; @@ -14737,7 +14768,9 @@ /turf/open/floor/plasteel/caution, /area/engine/atmos) "aBI" = ( -/obj/machinery/computer/atmos_control, +/obj/machinery/computer/atmos_control{ + dir = 1 + }, /obj/machinery/light_switch{ pixel_x = 38; pixel_y = -24 @@ -18280,9 +18313,7 @@ /area/engine/engineering) "aIs" = ( /obj/structure/table/reinforced, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /obj/item/wrench, /obj/item/storage/box/lights/mixed, /obj/machinery/newscaster{ @@ -18601,17 +18632,13 @@ /turf/open/floor/plasteel, /area/crew_quarters/kitchen) "aIW" = ( -/obj/structure/sink/kitchen{ - desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; - name = "sink"; - pixel_y = 28 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/effect/turf_decal/stripes/line{ dir = 6 }, +/obj/structure/reagent_dispensers/cooking_oil, /turf/open/floor/plasteel, /area/crew_quarters/kitchen) "aIX" = ( @@ -18900,18 +18927,10 @@ /area/engine/engineering) "aJB" = ( /obj/structure/table/reinforced, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/item/crowbar, /obj/item/grenade/chem_grenade/smart_metal_foam, /obj/item/grenade/chem_grenade/smart_metal_foam, @@ -18964,7 +18983,9 @@ /obj/structure/cable/white{ icon_state = "2-4" }, -/obj/machinery/computer/apc_control, +/obj/machinery/computer/apc_control{ + dir = 8 + }, /turf/open/floor/plasteel/yellow/side{ dir = 4 }, @@ -19561,7 +19582,9 @@ /turf/open/floor/plasteel/neutral, /area/engine/engineering) "aKO" = ( -/obj/machinery/computer/station_alert, +/obj/machinery/computer/station_alert{ + dir = 8 + }, /obj/structure/cable/white{ icon_state = "1-8" }, @@ -19920,9 +19943,7 @@ /area/engine/gravity_generator) "aLF" = ( /obj/structure/table/reinforced, -/obj/item/stack/sheet/plasteel{ - amount = 20 - }, +/obj/item/stack/sheet/plasteel/twenty, /obj/item/wrench, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -20657,9 +20678,7 @@ /area/engine/engineering) "aNd" = ( /obj/structure/table/reinforced, -/obj/item/stack/sheet/plasteel{ - amount = 50 - }, +/obj/item/stack/sheet/plasteel/fifty, /obj/item/stack/sheet/rglass{ amount = 50; pixel_x = 2; @@ -21143,7 +21162,9 @@ /turf/open/floor/plasteel/grimy, /area/tcommsat/server) "aNX" = ( -/obj/machinery/computer/telecomms/monitor, +/obj/machinery/computer/telecomms/monitor{ + dir = 8 + }, /obj/item/device/radio/intercom{ name = "Station Intercom"; pixel_y = 24 @@ -21357,7 +21378,9 @@ /turf/open/floor/plasteel, /area/maintenance/starboard/central) "aOv" = ( -/obj/machinery/computer/message_monitor, +/obj/machinery/computer/message_monitor{ + dir = 4 + }, /obj/machinery/newscaster{ pixel_x = -32 }, @@ -21383,7 +21406,9 @@ /turf/open/floor/plasteel/grimy, /area/tcommsat/server) "aOy" = ( -/obj/machinery/computer/telecomms/server, +/obj/machinery/computer/telecomms/server{ + dir = 8 + }, /obj/machinery/newscaster{ pixel_x = 32 }, @@ -22096,9 +22121,7 @@ dir = 8 }, /obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ - dir = 1; - filter_type = "freon"; - name = "gas filter (freon)" + dir = 1 }, /turf/open/floor/plasteel, /area/engine/engineering) @@ -24151,7 +24174,9 @@ }, /area/medical/medbay/zone3) "aUq" = ( -/obj/machinery/computer/cloning, +/obj/machinery/computer/cloning{ + dir = 8 + }, /turf/open/floor/plasteel/whiteblue/corner{ dir = 4 }, @@ -24606,7 +24631,9 @@ /turf/open/floor/plasteel/neutral, /area/hallway/primary/central) "aVt" = ( -/obj/machinery/computer/rdconsole/core, +/obj/machinery/computer/rdconsole/core{ + dir = 4 + }, /obj/machinery/power/apc{ dir = 8; name = "Research and Development Lab APC"; @@ -25012,12 +25039,8 @@ /area/medical/chemistry) "aWk" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/item/wrench, /obj/item/clothing/glasses/welding, /turf/open/floor/plasteel/whitepurple/corner{ @@ -26093,7 +26116,9 @@ }, /area/science/research) "aYs" = ( -/obj/machinery/computer/rdservercontrol, +/obj/machinery/computer/rdservercontrol{ + dir = 8 + }, /obj/machinery/light, /obj/structure/cable/white{ icon_state = "0-8" @@ -26948,18 +26973,10 @@ /turf/open/floor/plasteel, /area/science/robotics/lab) "baf" = ( -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/structure/table/reinforced, /obj/item/stack/cable_coil/white, /obj/item/stack/cable_coil/white, @@ -27848,7 +27865,9 @@ dir = 8 }, /obj/effect/turf_decal/bot, -/obj/machinery/computer/rdconsole, +/obj/machinery/computer/rdconsole{ + dir = 8 + }, /turf/open/floor/plasteel, /area/science/robotics/lab) "bbP" = ( @@ -27987,7 +28006,9 @@ /turf/open/floor/plasteel/blue, /area/medical/medbay/zone3) "bcf" = ( -/obj/machinery/computer/operating, +/obj/machinery/computer/operating{ + dir = 8 + }, /turf/open/floor/plasteel/neutral, /area/medical/medbay/zone3) "bcg" = ( @@ -28081,7 +28102,9 @@ /obj/machinery/status_display{ pixel_x = 32 }, -/obj/machinery/computer/card, +/obj/machinery/computer/card{ + dir = 8 + }, /turf/open/floor/plasteel/red/side{ dir = 6 }, @@ -28367,7 +28390,9 @@ }, /area/medical/medbay/zone3) "bda" = ( -/obj/machinery/computer/med_data, +/obj/machinery/computer/med_data{ + dir = 4 + }, /turf/open/floor/plasteel/vault{ dir = 8 }, @@ -28444,7 +28469,9 @@ /turf/open/floor/plasteel/neutral, /area/security/checkpoint) "bdg" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 8 + }, /obj/machinery/light{ dir = 4 }, @@ -28868,7 +28895,9 @@ }, /area/medical/medbay/zone3) "bdX" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 4 + }, /obj/machinery/newscaster{ pixel_y = -32 }, @@ -28940,7 +28969,9 @@ /turf/open/floor/plasteel/neutral, /area/security/checkpoint) "bee" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 8 + }, /obj/machinery/ai_status_display{ pixel_x = 32 }, @@ -28973,7 +29004,9 @@ /turf/open/floor/plasteel, /area/science/robotics/mechbay) "beh" = ( -/obj/machinery/computer/mech_bay_power_console, +/obj/machinery/computer/mech_bay_power_console{ + dir = 1 + }, /obj/machinery/ai_status_display{ pixel_y = -32 }, @@ -29049,7 +29082,9 @@ /turf/open/floor/plasteel, /area/science/robotics/lab) "bep" = ( -/obj/machinery/computer/operating, +/obj/machinery/computer/operating{ + dir = 4 + }, /obj/machinery/newscaster{ pixel_y = -32 }, @@ -31877,7 +31912,9 @@ /turf/open/floor/plasteel, /area/science/xenobiology) "bjR" = ( -/obj/machinery/computer/camera_advanced/xenobio, +/obj/machinery/computer/camera_advanced/xenobio{ + dir = 1 + }, /obj/machinery/light, /obj/machinery/requests_console{ department = "Xenobiology Lab"; @@ -32466,11 +32503,15 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "bld" = ( -/obj/structure/frame/computer, +/obj/structure/frame/computer{ + dir = 1 + }, /turf/open/floor/plasteel/blue, /area/shuttle/arrival) "ble" = ( -/obj/structure/frame/computer, +/obj/structure/frame/computer{ + dir = 1 + }, /turf/open/floor/plasteel/blue/side, /area/shuttle/arrival) "blf" = ( @@ -33329,7 +33370,9 @@ /obj/structure/cable/white{ icon_state = "0-2" }, -/obj/machinery/modular_computer/console/preset/research, +/obj/machinery/modular_computer/console/preset/research{ + dir = 8 + }, /turf/open/floor/plasteel/vault{ dir = 5 }, @@ -33458,7 +33501,9 @@ /turf/open/floor/pod/light, /area/shuttle/transport) "bwv" = ( -/obj/machinery/computer/shuttle/ferry/request, +/obj/machinery/computer/shuttle/ferry/request{ + dir = 8 + }, /turf/open/floor/pod/dark, /area/shuttle/transport) "bwz" = ( @@ -33943,6 +33988,19 @@ }, /turf/open/space/basic, /area/space) +"sws" = ( +/obj/docking_port/stationary{ + dheight = 9; + dir = 2; + dwidth = 5; + height = 24; + id = "syndicate_sw"; + name = "southwest of station"; + turf_type = /turf/open/space; + width = 18 + }, +/turf/open/space, +/area/space) (1,1,1) = {" aaa @@ -57619,7 +57677,7 @@ aaa aaa aaa aaa -swr +aaa aaa aaa aaa @@ -62375,7 +62433,7 @@ aaa aaa aaa aaa -aaa +sws aaa aaa aaa @@ -62884,7 +62942,7 @@ aaa aaa aaa aaa -aab +aaa aaa aaa aaa @@ -64679,7 +64737,7 @@ aaa aaa aaa aaa -aaa +aab aaa aaa aaa @@ -76233,7 +76291,7 @@ bdh byo byo byo -bfM +bfK avV bgV bhG diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index a76e9c7390..4876b95adb 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -1743,7 +1743,9 @@ /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) "agr" = ( -/obj/machinery/computer/teleporter, +/obj/machinery/computer/teleporter{ + dir = 4 + }, /obj/effect/turf_decal/stripes/line{ dir = 4 }, @@ -4099,7 +4101,9 @@ /turf/open/floor/carpet, /area/crew_quarters/heads/hos) "alM" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 8 + }, /turf/open/floor/carpet, /area/crew_quarters/heads/hos) "alN" = ( @@ -4366,8 +4370,7 @@ dir = 1 }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/effect/landmark/start/security_officer, /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ @@ -4448,8 +4451,7 @@ /area/crew_quarters/heads/hos) "amw" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/chair/office/dark{ dir = 4 @@ -4468,7 +4470,9 @@ /turf/open/floor/carpet, /area/crew_quarters/heads/hos) "amz" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 8 + }, /turf/open/floor/carpet, /area/crew_quarters/heads/hos) "amA" = ( @@ -4748,7 +4752,9 @@ /turf/open/floor/carpet, /area/crew_quarters/heads/hos) "ank" = ( -/obj/machinery/computer/card/minor/hos, +/obj/machinery/computer/card/minor/hos{ + dir = 8 + }, /turf/open/floor/carpet, /area/crew_quarters/heads/hos) "anl" = ( @@ -5234,8 +5240,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 @@ -5255,9 +5260,8 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 4; - icon_state = "pipe-j2s"; sortType = 8 }, /turf/open/floor/plasteel, @@ -5273,8 +5277,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/red/side{ @@ -5291,7 +5294,7 @@ /turf/open/floor/plasteel/vault{ dir = 1 }, -/area/teleporter) +/area/gateway) "aoB" = ( /obj/machinery/gateway{ dir = 1 @@ -5302,7 +5305,7 @@ /turf/open/floor/plasteel/vault{ dir = 8 }, -/area/teleporter) +/area/gateway) "aoC" = ( /obj/machinery/gateway{ dir = 5 @@ -5310,7 +5313,7 @@ /turf/open/floor/plasteel/vault{ dir = 4 }, -/area/teleporter) +/area/gateway) "aoD" = ( /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating, @@ -5438,7 +5441,9 @@ /area/security/warden) "aoU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 8 + }, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) "aoV" = ( @@ -5451,8 +5456,7 @@ "aoW" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) @@ -5489,9 +5493,8 @@ /turf/open/floor/plasteel/red/side, /area/security/main) "apc" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 1; - icon_state = "pipe-j2s"; sortType = 7 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -5520,8 +5523,7 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/sign/securearea{ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; @@ -5593,8 +5595,7 @@ icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating, /area/maintenance/fore) @@ -5639,11 +5640,11 @@ /turf/open/floor/plasteel/vault{ dir = 8 }, -/area/teleporter) +/area/gateway) "apr" = ( /obj/machinery/gateway/centerstation, /turf/open/floor/plasteel/black, -/area/teleporter) +/area/gateway) "aps" = ( /obj/machinery/gateway{ dir = 4 @@ -5651,7 +5652,7 @@ /turf/open/floor/plasteel/vault{ dir = 8 }, -/area/teleporter) +/area/gateway) "apt" = ( /obj/structure/chair{ dir = 8 @@ -5732,7 +5733,9 @@ /turf/open/floor/plating, /area/security/brig) "apF" = ( -/obj/machinery/computer/gulag_teleporter_computer, +/obj/machinery/computer/gulag_teleporter_computer{ + dir = 1 + }, /turf/open/floor/plasteel/black, /area/security/brig) "apG" = ( @@ -5869,13 +5872,13 @@ /turf/open/floor/plasteel/vault{ dir = 4 }, -/area/teleporter) +/area/gateway) "apV" = ( /obj/machinery/gateway, /turf/open/floor/plasteel/vault{ dir = 8 }, -/area/teleporter) +/area/gateway) "apW" = ( /obj/machinery/gateway{ dir = 6 @@ -5883,7 +5886,7 @@ /turf/open/floor/plasteel/vault{ dir = 1 }, -/area/teleporter) +/area/gateway) "apX" = ( /turf/closed/wall, /area/crew_quarters/dorms) @@ -5970,7 +5973,9 @@ /turf/open/floor/plating, /area/maintenance/department/security/brig) "aqj" = ( -/obj/machinery/computer/shuttle/labor, +/obj/machinery/computer/shuttle/labor{ + dir = 4 + }, /obj/structure/reagent_dispensers/peppertank{ pixel_x = -31 }, @@ -6239,7 +6244,7 @@ dir = 6 }, /turf/open/floor/plasteel/black, -/area/teleporter) +/area/gateway) "aqR" = ( /obj/structure/window/reinforced, /obj/structure/cable{ @@ -6249,7 +6254,7 @@ dir = 8 }, /turf/open/floor/plasteel/black, -/area/teleporter) +/area/gateway) "aqS" = ( /obj/machinery/door/window{ name = "Gateway Chamber"; @@ -6260,7 +6265,7 @@ }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/black, -/area/teleporter) +/area/gateway) "aqT" = ( /obj/machinery/computer/arcade, /turf/open/floor/plasteel/barber, @@ -6409,8 +6414,7 @@ "arn" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel, /area/security/brig) @@ -6430,15 +6434,13 @@ "arq" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; dir = 4 }, /turf/open/floor/plasteel, /area/security/brig) "arr" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -6711,7 +6713,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/item/paper/pamphlet, /turf/open/floor/plasteel, -/area/teleporter) +/area/gateway) "arY" = ( /obj/structure/closet/crate/internals, /obj/item/clothing/suit/hazardvest{ @@ -6740,14 +6742,14 @@ /obj/item/device/flashlight, /obj/item/device/flashlight, /turf/open/floor/plasteel, -/area/teleporter) +/area/gateway) "arZ" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, -/area/teleporter) +/area/gateway) "asa" = ( /obj/structure/table, /obj/item/device/radio/off{ @@ -6767,7 +6769,7 @@ }, /obj/item/device/radio/off, /turf/open/floor/plasteel, -/area/teleporter) +/area/gateway) "asb" = ( /obj/structure/cable{ icon_state = "1-4" @@ -7227,7 +7229,7 @@ dir = 8 }, /turf/open/floor/plasteel, -/area/teleporter) +/area/gateway) "atb" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7236,7 +7238,7 @@ dir = 8 }, /turf/open/floor/plasteel, -/area/teleporter) +/area/gateway) "atc" = ( /obj/structure/cable{ icon_state = "1-8" @@ -7244,7 +7246,7 @@ /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, -/area/teleporter) +/area/gateway) "atd" = ( /obj/machinery/airalarm{ dir = 8; @@ -7255,7 +7257,7 @@ dir = 9 }, /turf/open/floor/plasteel/black, -/area/teleporter) +/area/gateway) "atf" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -7278,8 +7280,7 @@ /area/crew_quarters/dorms) "ati" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/barber, @@ -7591,7 +7592,9 @@ }, /area/bridge) "atX" = ( -/obj/machinery/computer/shuttle/labor, +/obj/machinery/computer/shuttle/labor{ + dir = 8 + }, /turf/open/floor/plasteel/darkyellow, /area/bridge) "atY" = ( @@ -7670,7 +7673,7 @@ pixel_x = -30 }, /turf/open/floor/plasteel, -/area/teleporter) +/area/gateway) "aug" = ( /obj/machinery/button/door{ id = "stationawaygate"; @@ -7684,14 +7687,14 @@ dir = 4 }, /turf/open/floor/plasteel, -/area/teleporter) +/area/gateway) "auh" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel, -/area/teleporter) +/area/gateway) "aui" = ( /obj/machinery/light{ dir = 4 @@ -7705,7 +7708,7 @@ pixel_x = 24 }, /turf/open/floor/plasteel/black, -/area/teleporter) +/area/gateway) "auj" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall, @@ -7782,7 +7785,9 @@ /turf/open/floor/mech_bay_recharge_floor, /area/maintenance/department/security/brig) "auu" = ( -/obj/machinery/computer/mech_bay_power_console, +/obj/machinery/computer/mech_bay_power_console{ + dir = 1 + }, /obj/structure/cable, /turf/open/floor/plasteel, /area/maintenance/department/security/brig) @@ -7981,7 +7986,9 @@ }, /area/bridge) "auT" = ( -/obj/machinery/computer/cargo/request, +/obj/machinery/computer/cargo/request{ + dir = 8 + }, /turf/open/floor/plasteel/darkyellow, /area/bridge) "auU" = ( @@ -8043,7 +8050,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, -/area/teleporter) +/area/gateway) "avb" = ( /obj/machinery/door/firedoor, /obj/machinery/door/poddoor/shutters{ @@ -8052,11 +8059,11 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, -/area/teleporter) +/area/gateway) "avc" = ( /obj/structure/sign/securearea, /turf/closed/wall/r_wall, -/area/teleporter) +/area/gateway) "avd" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -8106,8 +8113,7 @@ /area/crew_quarters/dorms) "avh" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -8119,8 +8125,7 @@ /area/crew_quarters/dorms) "avi" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -8240,8 +8245,8 @@ /area/security/brig) "avu" = ( /obj/structure/closet/secure_closet/brig{ - id = "Cell 2"; - name = "Cell 2 Locker" + id = "Cell 1"; + name = "Cell 1 Locker" }, /turf/open/floor/plasteel/blue/side, /area/security/brig) @@ -8259,8 +8264,8 @@ /area/security/brig) "avx" = ( /obj/structure/closet/secure_closet/brig{ - id = "Cell 3"; - name = "Cell 3 Locker" + id = "Cell 2"; + name = "Cell 2 Locker" }, /turf/open/floor/plasteel/green/side, /area/security/brig) @@ -8480,7 +8485,9 @@ }, /area/bridge) "awb" = ( -/obj/machinery/computer/security/mining, +/obj/machinery/computer/security/mining{ + dir = 8 + }, /turf/open/floor/plasteel/darkyellow, /area/bridge) "awc" = ( @@ -8621,8 +8628,7 @@ /turf/open/floor/plasteel, /area/crew_quarters/dorms) "aws" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 2 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, @@ -9491,7 +9497,9 @@ /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) "ayw" = ( -/obj/machinery/computer/holodeck, +/obj/machinery/computer/holodeck{ + dir = 4 + }, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) "ayx" = ( @@ -9521,6 +9529,7 @@ /area/maintenance/solars/port) "ayA" = ( /obj/machinery/power/solar_control{ + dir = 4; id = "portsolar"; name = "Port Solar Control"; track = 0 @@ -9597,8 +9606,7 @@ /area/hallway/primary/fore) "ayK" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel, /area/hallway/primary/fore) @@ -9628,8 +9636,7 @@ /area/hallway/primary/fore) "ayO" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel, /area/hallway/primary/fore) @@ -10577,8 +10584,7 @@ /area/storage/primary) "aBk" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/extinguisher_cabinet{ pixel_x = -24 @@ -10594,8 +10600,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/black, @@ -11338,8 +11343,7 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/wood, /area/crew_quarters/heads/hop) @@ -11380,8 +11384,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -11411,8 +11414,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/effect/landmark/start/assistant, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -11557,8 +11559,7 @@ /area/security/detectives_office) "aDr" = ( /obj/structure/chair, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-y"; +/obj/structure/disposalpipe/junction/yjunction{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -11574,8 +11575,7 @@ /area/security/detectives_office) "aDt" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/grimy, @@ -11644,8 +11644,7 @@ /area/crew_quarters/heads/captain) "aDD" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -11664,7 +11663,6 @@ /area/crew_quarters/heads/captain) "aDF" = ( /obj/structure/disposalpipe/junction{ - icon_state = "pipe-j1"; dir = 4 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -11710,8 +11708,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 @@ -11772,8 +11769,7 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 @@ -11804,9 +11800,8 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 4; - icon_state = "pipe-j1s"; sortType = 15 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -11882,8 +11877,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/carpet, /area/crew_quarters/heads/hop) @@ -12167,7 +12161,9 @@ /turf/open/floor/plasteel/darkblue/side, /area/ai_monitored/turret_protected/ai_upload) "aEF" = ( -/obj/machinery/computer/upload/ai, +/obj/machinery/computer/upload/ai{ + dir = 1 + }, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai_upload) "aEG" = ( @@ -12178,7 +12174,9 @@ /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/ai_upload) "aEH" = ( -/obj/machinery/computer/upload/borg, +/obj/machinery/computer/upload/borg{ + dir = 1 + }, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai_upload) "aEI" = ( @@ -12252,11 +12250,15 @@ /turf/open/floor/wood, /area/crew_quarters/heads/hop) "aEO" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 1 + }, /turf/open/floor/carpet, /area/crew_quarters/heads/hop) "aEP" = ( -/obj/machinery/computer/card, +/obj/machinery/computer/card{ + dir = 1 + }, /obj/structure/cable{ icon_state = "1-2" }, @@ -12715,11 +12717,15 @@ /turf/open/floor/plasteel/black, /area/security/detectives_office) "aFX" = ( -/obj/machinery/computer/med_data, +/obj/machinery/computer/med_data{ + dir = 1 + }, /turf/open/floor/carpet, /area/security/detectives_office) "aFY" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 1 + }, /obj/machinery/light, /obj/machinery/camera{ c_tag = "Detective's Office"; @@ -13439,8 +13445,7 @@ /area/hallway/primary/central) "aHO" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 @@ -13739,7 +13744,9 @@ /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) "aIv" = ( -/obj/machinery/computer/atmos_alert, +/obj/machinery/computer/atmos_alert{ + dir = 4 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "aIw" = ( @@ -13758,7 +13765,9 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aIz" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 8 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "aIA" = ( @@ -13909,8 +13918,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, @@ -13932,8 +13940,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel, /area/hallway/primary/central) @@ -13979,8 +13986,7 @@ /area/hallway/primary/central) "aJa" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 @@ -13989,8 +13995,7 @@ /area/hallway/primary/central) "aJb" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, @@ -14002,8 +14007,7 @@ /obj/structure/cable{ icon_state = "2-4" }, -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 2 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ @@ -14083,8 +14087,7 @@ dir = 5 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel, /area/hallway/primary/central) @@ -14153,8 +14156,7 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 @@ -14231,8 +14233,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 @@ -14257,11 +14258,15 @@ /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) "aJz" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 4 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "aJA" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 8 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "aJB" = ( @@ -14575,8 +14580,7 @@ /area/crew_quarters/toilet/restrooms) "aKk" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/effect/decal/cleanable/oil, /turf/open/floor/plating, @@ -14589,8 +14593,7 @@ /area/maintenance/department/cargo) "aKm" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating, /area/maintenance/department/cargo) @@ -15363,15 +15366,13 @@ /area/quartermaster/storage) "aMv" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/floorgrime, /area/quartermaster/storage) "aMw" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/department/cargo) @@ -15392,8 +15393,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 @@ -15421,8 +15421,7 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -15443,8 +15442,7 @@ /area/maintenance/department/cargo) "aMD" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 @@ -15724,10 +15722,7 @@ /turf/open/floor/plating, /area/maintenance/department/crew_quarters/bar) "aNp" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/clothing/shoes/magboots{ pixel_x = -4; pixel_y = 3 @@ -15769,10 +15764,7 @@ /turf/open/floor/plasteel, /area/storage/eva) "aNt" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/tank/jetpack/carbondioxide, /obj/item/tank/jetpack/carbondioxide{ pixel_x = -4; @@ -15881,7 +15873,7 @@ /area/security/checkpoint/supply) "aNG" = ( /obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/wrapsortjunction{ +/obj/structure/disposalpipe/sorting/wrap{ dir = 1 }, /turf/open/floor/plating, @@ -16028,8 +16020,7 @@ /area/maintenance/disposal) "aNY" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -16448,8 +16439,7 @@ /area/quartermaster/office) "aOS" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel, @@ -16463,16 +16453,14 @@ "aOU" = ( /obj/structure/chair/stool, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/effect/landmark/start/cargo_technician, /turf/open/floor/plasteel, /area/quartermaster/office) "aOV" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel, /area/quartermaster/office) @@ -16772,8 +16760,7 @@ /area/storage/eva) "aPI" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 @@ -16782,8 +16769,7 @@ /area/storage/eva) "aPJ" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel, /area/storage/eva) @@ -16809,7 +16795,9 @@ }, /area/teleporter) "aPN" = ( -/obj/machinery/computer/teleporter, +/obj/machinery/computer/teleporter{ + dir = 1 + }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel/darkblue/side, /area/teleporter) @@ -16881,7 +16869,7 @@ /turf/open/floor/plasteel, /area/quartermaster/office) "aQa" = ( -/obj/structure/disposalpipe/wrapsortjunction{ +/obj/structure/disposalpipe/sorting/wrap{ dir = 1 }, /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -16891,8 +16879,7 @@ /area/quartermaster/office) "aQb" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/camera{ c_tag = "Cargo Mailroom"; @@ -16945,9 +16932,8 @@ /turf/open/floor/plating/airless, /area/shuttle/supply) "aQj" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 2; - icon_state = "pipe-j2s"; sortType = 1 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -16981,8 +16967,7 @@ id = "garbage" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating, /area/maintenance/disposal) @@ -17057,8 +17042,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -17091,9 +17075,8 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "aQB" = ( -/obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 8 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 @@ -17149,8 +17132,7 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 @@ -17273,8 +17255,7 @@ /area/maintenance/department/crew_quarters/bar) "aQR" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable{ icon_state = "1-8" @@ -17337,12 +17318,8 @@ /area/storage/eva) "aQZ" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, /obj/item/crowbar, /obj/structure/cable{ icon_state = "0-4" @@ -17369,12 +17346,8 @@ /obj/item/stack/sheet/rglass{ amount = 50 }, -/obj/item/stack/rods{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, +/obj/item/stack/rods/fifty, /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -17383,9 +17356,7 @@ /area/storage/eva) "aRc" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, /obj/item/stack/sheet/rglass{ amount = 50 }, @@ -18147,8 +18118,7 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/department/crew_quarters/bar) @@ -18157,8 +18127,7 @@ icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -18373,8 +18342,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/department/cargo) @@ -18385,9 +18353,8 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/disposalpipe/junction{ - dir = 2; - icon_state = "pipe-y" +/obj/structure/disposalpipe/junction/yjunction{ + dir = 2 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -18451,8 +18418,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plating, /area/maintenance/disposal) @@ -18599,8 +18565,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 @@ -18624,8 +18589,7 @@ /area/hydroponics) "aTU" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 @@ -18709,12 +18673,8 @@ /area/crew_quarters/bar) "aUe" = ( /obj/structure/closet/gmcloset, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/item/stack/cable_coil, /obj/item/storage/box/mousetraps, /turf/open/floor/wood{ @@ -18747,8 +18707,7 @@ /area/hallway/primary/central) "aUj" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -18811,8 +18770,7 @@ /area/quartermaster/office) "aUq" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 @@ -19117,6 +19075,7 @@ dir = 8; pixel_x = 23 }, +/obj/structure/reagent_dispensers/cooking_oil, /turf/open/floor/plasteel/showroomfloor, /area/crew_quarters/kitchen) "aVc" = ( @@ -19781,7 +19740,9 @@ /turf/open/floor/plasteel/redblue, /area/crew_quarters/theatre) "aWs" = ( -/obj/machinery/computer/cargo/request, +/obj/machinery/computer/cargo/request{ + dir = 4 + }, /turf/open/floor/plasteel/brown/corner, /area/quartermaster/office) "aWt" = ( @@ -19964,9 +19925,8 @@ /turf/open/floor/plasteel, /area/hydroponics) "aWS" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 2; - icon_state = "pipe-j2s"; sortType = 21 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -20001,8 +19961,7 @@ /area/crew_quarters/kitchen) "aWX" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -20019,9 +19978,8 @@ /turf/open/floor/plasteel/black, /area/crew_quarters/bar) "aXa" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 4; - icon_state = "pipe-j1s"; sortType = 19 }, /turf/open/floor/plasteel/black, @@ -20043,8 +20001,7 @@ /area/crew_quarters/bar) "aXd" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 @@ -20063,8 +20020,7 @@ /area/crew_quarters/bar) "aXk" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/redblue, /area/crew_quarters/theatre) @@ -20082,9 +20038,8 @@ /turf/open/floor/plasteel/redblue, /area/crew_quarters/theatre) "aXm" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 4; - icon_state = "pipe-j1s"; sortType = 18 }, /obj/machinery/requests_console{ @@ -20105,8 +20060,7 @@ /area/crew_quarters/theatre) "aXo" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -20525,7 +20479,9 @@ }, /area/crew_quarters/theatre) "aYn" = ( -/obj/machinery/computer/cargo, +/obj/machinery/computer/cargo{ + dir = 4 + }, /obj/machinery/requests_console{ department = "Cargo Bay"; departmentType = 2; @@ -20692,7 +20648,9 @@ /turf/closed/wall/r_wall, /area/hallway/secondary/entry) "aYH" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 4 + }, /obj/machinery/requests_console{ department = "Security"; departmentType = 5; @@ -20831,8 +20789,7 @@ /area/crew_quarters/bar) "aYZ" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -20907,8 +20864,7 @@ }, /area/crew_quarters/bar) "aZg" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 1 }, /obj/machinery/firealarm{ @@ -20949,8 +20905,7 @@ /area/quartermaster/office) "aZk" = ( /obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j1" + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 @@ -21001,9 +20956,8 @@ /turf/open/floor/plasteel, /area/quartermaster/storage) "aZq" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 8; - icon_state = "pipe-j2s"; sortType = 3 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -21020,8 +20974,7 @@ /area/quartermaster/storage) "aZs" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel, /area/quartermaster/storage) @@ -21038,8 +20991,7 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -21051,8 +21003,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -21129,7 +21080,9 @@ }, /area/hallway/secondary/entry) "aZF" = ( -/obj/machinery/computer/card, +/obj/machinery/computer/card{ + dir = 4 + }, /obj/machinery/light{ dir = 8 }, @@ -21314,8 +21267,7 @@ /area/crew_quarters/kitchen) "bac" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/kitchen) @@ -21517,9 +21469,8 @@ /obj/structure/cable{ icon_state = "2-8" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 1; - icon_state = "pipe-j1s"; sortType = 2 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -21592,7 +21543,9 @@ }, /area/hallway/secondary/entry) "baQ" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 4 + }, /obj/machinery/button/door{ dir = 2; id = "papersplease"; @@ -22261,8 +22214,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 @@ -22616,8 +22568,7 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/department/cargo) @@ -22647,8 +22598,7 @@ icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating, /area/maintenance/department/cargo) @@ -22712,7 +22662,9 @@ /turf/open/floor/plasteel, /area/quartermaster/miningdock) "bdM" = ( -/obj/machinery/computer/security/mining, +/obj/machinery/computer/security/mining{ + dir = 8 + }, /obj/machinery/requests_console{ department = "Mining"; departmentType = 0; @@ -22743,8 +22695,7 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -22769,6 +22720,7 @@ /area/maintenance/solars/starboard) "bdT" = ( /obj/machinery/power/solar_control{ + dir = 8; id = "starboardsolar"; name = "Starboard Solar Control"; track = 0 @@ -22874,8 +22826,7 @@ /area/hydroponics) "bei" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -22955,9 +22906,8 @@ /turf/open/floor/plasteel, /area/crew_quarters/kitchen) "bep" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 4; - icon_state = "pipe-j1s"; sortType = 20 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -22996,8 +22946,7 @@ /area/crew_quarters/kitchen) "beu" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/kitchen) @@ -23062,8 +23011,7 @@ /area/crew_quarters/bar) "beF" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/vault{ dir = 5 @@ -23124,7 +23072,9 @@ /turf/open/floor/plasteel, /area/quartermaster/qm) "beL" = ( -/obj/machinery/computer/cargo, +/obj/machinery/computer/cargo{ + dir = 8 + }, /turf/open/floor/plasteel/brown{ dir = 4 }, @@ -23149,7 +23099,9 @@ /turf/open/floor/plasteel, /area/quartermaster/miningdock) "beP" = ( -/obj/machinery/computer/shuttle/mining, +/obj/machinery/computer/shuttle/mining{ + dir = 8 + }, /turf/open/floor/plasteel/brown/corner, /area/quartermaster/miningdock) "beQ" = ( @@ -23468,7 +23420,9 @@ }, /area/quartermaster/qm) "bfD" = ( -/obj/machinery/computer/security/mining, +/obj/machinery/computer/security/mining{ + dir = 8 + }, /obj/item/device/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -35 @@ -23478,9 +23432,7 @@ }, /area/quartermaster/qm) "bfE" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 @@ -24072,9 +24024,8 @@ /obj/structure/cable{ icon_state = "1-4" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 1; - icon_state = "pipe-j1s"; sortType = 22 }, /turf/open/floor/plasteel, @@ -24099,8 +24050,7 @@ dir = 4 }, /obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j1" + dir = 8 }, /turf/open/floor/plasteel, /area/hallway/primary/central) @@ -24109,8 +24059,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -24196,8 +24145,7 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 @@ -24264,8 +24212,7 @@ icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plating, /area/maintenance/department/cargo) @@ -24308,8 +24255,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -24520,7 +24466,9 @@ /turf/open/floor/plasteel/black, /area/science/robotics/mechbay) "bhV" = ( -/obj/machinery/computer/mech_bay_power_console, +/obj/machinery/computer/mech_bay_power_console{ + dir = 1 + }, /obj/structure/cable, /turf/open/floor/plasteel/black, /area/science/robotics/mechbay) @@ -24752,8 +24700,7 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -24780,9 +24727,8 @@ /obj/structure/cable{ icon_state = "2-4" }, -/obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -24797,8 +24743,7 @@ icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 @@ -25093,8 +25038,7 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -25121,8 +25065,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plating, @@ -25945,9 +25888,8 @@ }, /area/science/robotics/lab) "blJ" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 2; - icon_state = "pipe-j2s"; sortType = 14 }, /obj/structure/cable{ @@ -26165,8 +26107,7 @@ dir = 1 }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/power/apc{ dir = 2; @@ -26196,8 +26137,7 @@ /area/storage/emergency/port) "bmj" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable{ @@ -26364,10 +26304,7 @@ /turf/open/floor/plasteel, /area/science/research/lobby) "bmL" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = 6 @@ -26422,24 +26359,12 @@ pixel_x = 3; pixel_y = -4 }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, /obj/structure/extinguisher_cabinet{ pixel_x = 27 }, @@ -26763,8 +26688,7 @@ /area/science/research/lobby) "bnL" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -26784,8 +26708,7 @@ /area/science/research/lobby) "bnN" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plasteel, /area/science/research/lobby) @@ -27244,7 +27167,9 @@ /turf/open/floor/plasteel, /area/science/research/lobby) "boX" = ( -/obj/machinery/computer/rdconsole/robotics, +/obj/machinery/computer/rdconsole/robotics{ + dir = 4 + }, /obj/machinery/button/door{ dir = 2; id = "robotics"; @@ -27292,7 +27217,9 @@ /turf/open/floor/plasteel/black, /area/science/server) "bpc" = ( -/obj/machinery/computer/rdservercontrol, +/obj/machinery/computer/rdservercontrol{ + dir = 8 + }, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/machinery/camera{ c_tag = "Server Room"; @@ -27373,8 +27300,7 @@ dir = 1 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/white, /area/science/explab) @@ -27413,7 +27339,9 @@ /turf/open/floor/plasteel/white, /area/science/xenobiology) "bpp" = ( -/obj/machinery/computer/camera_advanced/xenobio, +/obj/machinery/computer/camera_advanced/xenobio{ + dir = 8 + }, /turf/open/floor/plasteel/white, /area/science/xenobiology) "bpq" = ( @@ -27731,7 +27659,7 @@ name = "research shutters" }, /turf/open/floor/plating, -/area/science/explab) +/area/science/lab) "bqc" = ( /obj/structure/table/reinforced, /obj/item/pen{ @@ -27749,7 +27677,7 @@ }, /obj/item/folder/white, /turf/open/floor/plating, -/area/science/explab) +/area/science/lab) "bqd" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -27800,8 +27728,7 @@ /area/science/robotics/lab) "bqh" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable{ icon_state = "2-4" @@ -27819,8 +27746,7 @@ /area/science/robotics/lab) "bqj" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable{ icon_state = "1-8" @@ -27896,23 +27822,17 @@ /area/science/explab) "bqu" = ( /obj/structure/table, -/obj/item/stack/sheet/glass{ - amount = 50; +/obj/item/stack/sheet/glass/fifty{ pixel_x = 3; pixel_y = 3 }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, /obj/item/device/assembly/timer, /obj/item/device/assembly/timer, /turf/open/floor/plasteel/white, /area/science/explab) "bqv" = ( -/obj/machinery/processor{ - desc = "A machine used to process slimes and retrieve their extract."; - name = "Slime Processor" - }, +/obj/machinery/processor/slime, /obj/machinery/light{ dir = 8 }, @@ -28113,8 +28033,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, @@ -28189,7 +28108,9 @@ /turf/open/floor/grass, /area/medical/genetics) "bqW" = ( -/obj/machinery/computer/cloning, +/obj/machinery/computer/cloning{ + dir = 4 + }, /turf/open/floor/plasteel/blue, /area/medical/genetics) "bqX" = ( @@ -28201,8 +28122,7 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/white, @@ -28211,9 +28131,8 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 8; - icon_state = "pipe-j2s"; sortType = 23 }, /turf/open/floor/plasteel/white, @@ -28266,8 +28185,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 @@ -28319,11 +28237,15 @@ }, /area/medical/medbay/central) "brh" = ( -/obj/machinery/computer/med_data, +/obj/machinery/computer/med_data{ + dir = 1 + }, /turf/open/floor/plasteel/whiteblue/side, /area/medical/medbay/central) "bri" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 1 + }, /turf/open/floor/plasteel/whiteblue/side{ dir = 6 }, @@ -28394,7 +28316,7 @@ /turf/open/floor/plasteel/whitepurple/side{ dir = 1 }, -/area/science/explab) +/area/science/lab) "brq" = ( /obj/structure/sink/kitchen{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; @@ -28404,7 +28326,7 @@ /turf/open/floor/plasteel/whitepurple/side{ dir = 1 }, -/area/science/explab) +/area/science/lab) "brr" = ( /obj/machinery/disposal/bin, /obj/machinery/light{ @@ -28416,17 +28338,16 @@ /turf/open/floor/plasteel/whitepurple/side{ dir = 1 }, -/area/science/explab) +/area/science/lab) "brs" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/whitepurple/side{ dir = 1 }, -/area/science/explab) +/area/science/lab) "brt" = ( /obj/structure/chair/office/light{ dir = 1 @@ -28434,14 +28355,14 @@ /turf/open/floor/plasteel/whitepurple/side{ dir = 1 }, -/area/science/explab) +/area/science/lab) "bru" = ( /obj/item/storage/toolbox/mechanical, /obj/machinery/holopad, /turf/open/floor/plasteel/whitepurple/side{ dir = 1 }, -/area/science/explab) +/area/science/lab) "brv" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/airalarm{ @@ -28633,7 +28554,9 @@ /turf/open/floor/plasteel/white, /area/science/xenobiology) "brQ" = ( -/obj/machinery/computer/camera_advanced/xenobio, +/obj/machinery/computer/camera_advanced/xenobio{ + dir = 8 + }, /obj/machinery/camera{ c_tag = "Xenobiology Port"; dir = 8; @@ -29114,17 +29037,17 @@ /obj/item/disk/tech_disk, /obj/item/disk/design_disk, /turf/open/floor/plasteel/white, -/area/science/explab) +/area/science/lab) "bsR" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel/white, -/area/science/explab) +/area/science/lab) "bsS" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel/white, -/area/science/explab) +/area/science/lab) "bsT" = ( /obj/machinery/power/apc{ dir = 4; @@ -29135,7 +29058,7 @@ icon_state = "0-2" }, /turf/open/floor/plasteel/white, -/area/science/explab) +/area/science/lab) "bsU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/purple/side{ @@ -29219,6 +29142,7 @@ /area/science/robotics/lab) "btc" = ( /obj/machinery/computer/operating{ + dir = 8; name = "Robotics Operating Computer" }, /turf/open/floor/plasteel/white, @@ -29483,7 +29407,9 @@ /turf/open/floor/pod/light, /area/shuttle/transport) "btJ" = ( -/obj/machinery/computer/shuttle/ferry/request, +/obj/machinery/computer/shuttle/ferry/request{ + dir = 8 + }, /turf/open/floor/pod/dark, /area/shuttle/transport) "btK" = ( @@ -29724,8 +29650,7 @@ /area/medical/chemistry) "buk" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plasteel/white, /area/medical/chemistry) @@ -29755,11 +29680,8 @@ /obj/effect/decal/cleanable/oil{ icon_state = "floor6" }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50; +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty{ pixel_x = 3; pixel_y = 3 }, @@ -29771,23 +29693,23 @@ /obj/item/storage/box/beakers, /obj/item/clothing/glasses/welding, /turf/open/floor/plasteel/white, -/area/science/explab) +/area/science/lab) "bup" = ( /obj/machinery/r_n_d/destructive_analyzer, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, -/area/science/explab) +/area/science/lab) "buq" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, -/area/science/explab) +/area/science/lab) "bur" = ( /obj/machinery/r_n_d/protolathe, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, -/area/science/explab) +/area/science/lab) "bus" = ( /obj/structure/cable{ icon_state = "1-2" @@ -29802,7 +29724,7 @@ pixel_x = 28 }, /turf/open/floor/plasteel/white, -/area/science/explab) +/area/science/lab) "but" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/light{ @@ -29889,8 +29811,7 @@ /area/science/explab) "buD" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/light{ dir = 8 @@ -30080,8 +30001,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable{ icon_state = "1-8" @@ -30175,15 +30095,13 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/white, /area/medical/medbay/zone3) "bvh" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 8; - icon_state = "pipe-j2s"; sortType = 9 }, /turf/open/floor/plasteel/white, @@ -30215,9 +30133,8 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "bvm" = ( -/obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/flip{ + dir = 8 }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) @@ -30237,8 +30154,7 @@ /area/medical/medbay/central) "bvp" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 @@ -30308,19 +30224,21 @@ req_access_txt = "7; 29" }, /turf/open/floor/plasteel/white, -/area/science/explab) +/area/science/lab) "bvw" = ( -/obj/machinery/computer/rdconsole/core, +/obj/machinery/computer/rdconsole/core{ + dir = 4 + }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, -/area/science/explab) +/area/science/lab) "bvx" = ( /obj/structure/disposalpipe/segment, /obj/effect/landmark/start/scientist, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, -/area/science/explab) +/area/science/lab) "bvy" = ( /obj/machinery/r_n_d/circuit_imprinter{ pixel_y = 4 @@ -30328,24 +30246,22 @@ /obj/item/reagent_containers/glass/beaker/sulphuric, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, -/area/science/explab) +/area/science/lab) "bvz" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/open/floor/plasteel/white, -/area/science/explab) +/area/science/lab) "bvA" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel, /area/science/research/lobby) "bvB" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -30380,8 +30296,7 @@ /area/science/research/lobby) "bvE" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable{ icon_state = "1-2" @@ -30399,8 +30314,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 @@ -30729,8 +30643,7 @@ "bwm" = ( /obj/effect/spawner/lootdrop/maintenance, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/department/cargo) @@ -31032,9 +30945,8 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "bwY" = ( -/obj/structure/disposalpipe/junction{ - dir = 2; - icon_state = "pipe-y" +/obj/structure/disposalpipe/junction/yjunction{ + dir = 2 }, /turf/open/floor/plasteel, /area/hallway/primary/aft) @@ -31066,13 +30978,13 @@ dir = 4 }, /turf/open/floor/plating, -/area/science/explab) +/area/science/lab) "bxc" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/explab) +/area/science/lab) "bxd" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -31080,20 +30992,18 @@ /obj/structure/cable{ icon_state = "2-4" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 8; - icon_state = "pipe-j2s"; sortType = 13 }, /turf/open/floor/plasteel/white, -/area/science/explab) +/area/science/lab) "bxe" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 8; - icon_state = "pipe-j1s"; sortType = 12 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -31103,7 +31013,7 @@ dir = 1 }, /turf/open/floor/plasteel/white, -/area/science/explab) +/area/science/lab) "bxf" = ( /obj/structure/cable{ icon_state = "4-8" @@ -31118,7 +31028,7 @@ dir = 1 }, /turf/open/floor/plasteel/white, -/area/science/explab) +/area/science/lab) "bxg" = ( /obj/structure/cable{ icon_state = "1-4" @@ -31133,7 +31043,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/explab) +/area/science/lab) "bxh" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -31152,7 +31062,7 @@ }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, -/area/science/explab) +/area/science/lab) "bxi" = ( /obj/structure/cable{ icon_state = "4-8" @@ -31179,8 +31089,7 @@ /area/science/research/lobby) "bxk" = ( /obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j1" + dir = 8 }, /obj/structure/cable{ icon_state = "4-8" @@ -31212,8 +31121,7 @@ /turf/open/floor/plasteel, /area/science/research/lobby) "bxn" = ( -/obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; +/obj/structure/disposalpipe/junction/flip{ dir = 8 }, /obj/structure/cable{ @@ -31236,8 +31144,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/green/side{ @@ -31254,8 +31161,7 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel/black, @@ -31359,8 +31265,7 @@ /area/science/research) "bxy" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/structure/cable{ icon_state = "4-8" @@ -31784,7 +31689,6 @@ dir = 8 }, /obj/structure/disposalpipe/segment{ - icon_state = "pipe-s"; dir = 4 }, /turf/open/floor/plasteel/white, @@ -31794,8 +31698,7 @@ dir = 8 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plasteel/whiteblue/corner, /area/medical/medbay/zone3) @@ -31948,13 +31851,13 @@ name = "research shutters" }, /turf/open/floor/plating, -/area/science/explab) +/area/science/lab) "byF" = ( /obj/structure/chair/office/light{ dir = 8 }, /turf/open/floor/plasteel/white, -/area/science/explab) +/area/science/lab) "byG" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/structure/cable{ @@ -31962,16 +31865,16 @@ }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/white, -/area/science/explab) +/area/science/lab) "byH" = ( /obj/structure/chair/stool, /turf/open/floor/plasteel/white, -/area/science/explab) +/area/science/lab) "byI" = ( /obj/structure/chair/stool, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, -/area/science/explab) +/area/science/lab) "byJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -32000,7 +31903,6 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/disposalpipe/junction{ tag = "icon-pipe-j1 (NORTH)"; - icon_state = "pipe-j1"; dir = 1 }, /obj/structure/cable{ @@ -32037,8 +31939,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel/black, @@ -32127,7 +32028,6 @@ dir = 4 }, /obj/structure/disposalpipe/trunk{ - icon_state = "pipe-t"; dir = 1 }, /turf/open/floor/plasteel/darkpurple/side, @@ -32773,14 +32673,14 @@ dir = 4 }, /turf/open/floor/plating, -/area/science/explab) +/area/science/lab) "bAo" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/structure/window/reinforced, /turf/open/floor/plasteel/whitepurple/side, -/area/science/explab) +/area/science/lab) "bAp" = ( /obj/structure/cable{ icon_state = "1-2" @@ -32794,7 +32694,7 @@ dir = 4 }, /turf/open/floor/plasteel/whitepurple/side, -/area/science/explab) +/area/science/lab) "bAq" = ( /obj/structure/table, /obj/item/stock_parts/console_screen, @@ -32808,7 +32708,7 @@ /obj/item/device/multitool, /obj/structure/window/reinforced, /turf/open/floor/plasteel/whitepurple/side, -/area/science/explab) +/area/science/lab) "bAr" = ( /obj/structure/table, /obj/machinery/cell_charger, @@ -32817,7 +32717,7 @@ /obj/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whitepurple/side, -/area/science/explab) +/area/science/lab) "bAs" = ( /obj/structure/table, /obj/item/stock_parts/matter_bin, @@ -32834,7 +32734,7 @@ }, /obj/structure/window/reinforced, /turf/open/floor/plasteel/whitepurple/side, -/area/science/explab) +/area/science/lab) "bAt" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -33205,8 +33105,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/darkpurple/side{ @@ -33215,7 +33114,6 @@ /area/crew_quarters/heads/hor) "bBs" = ( /obj/structure/disposalpipe/segment{ - icon_state = "pipe-s"; dir = 4 }, /turf/open/floor/plasteel/darkpurple/side{ @@ -33225,7 +33123,6 @@ "bBt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ - icon_state = "pipe-s"; dir = 4 }, /turf/open/floor/plasteel/darkpurple/side{ @@ -33235,8 +33132,7 @@ "bBu" = ( /obj/item/twohanded/required/kirbyplants/dead, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/button/door{ id = "rndshutters"; @@ -33503,7 +33399,9 @@ }, /area/medical/genetics) "bCa" = ( -/obj/machinery/computer/scan_consolenew, +/obj/machinery/computer/scan_consolenew{ + dir = 1 + }, /turf/open/floor/plasteel/whitepurple/side, /area/medical/genetics) "bCb" = ( @@ -33623,8 +33521,7 @@ /area/medical/medbay/central) "bCo" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) @@ -33697,9 +33594,8 @@ /obj/structure/cable{ icon_state = "2-4" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 8; - icon_state = "pipe-j1s"; sortType = 10 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -33745,9 +33641,8 @@ /obj/structure/cable{ icon_state = "1-4" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 8; - icon_state = "pipe-j1s"; sortType = 11 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, @@ -33785,8 +33680,7 @@ icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 @@ -33804,7 +33698,9 @@ }, /area/hallway/primary/aft) "bCE" = ( -/obj/machinery/computer/robotics, +/obj/machinery/computer/robotics{ + dir = 4 + }, /turf/open/floor/plasteel/darkpurple/side{ dir = 8 }, @@ -33826,7 +33722,6 @@ "bCI" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ - icon_state = "pipe-t"; dir = 1 }, /obj/machinery/light{ @@ -34146,7 +34041,9 @@ }, /area/hallway/primary/aft) "bDB" = ( -/obj/machinery/computer/aifixer, +/obj/machinery/computer/aifixer{ + dir = 4 + }, /obj/machinery/airalarm{ dir = 4; locked = 0; @@ -34174,7 +34071,9 @@ /turf/open/floor/plasteel/black, /area/crew_quarters/heads/hor) "bDF" = ( -/obj/machinery/computer/card/minor/rd, +/obj/machinery/computer/card/minor/rd{ + dir = 8 + }, /turf/open/floor/plasteel/darkpurple/side{ tag = "icon-darkpurple (EAST)"; icon_state = "darkpurple"; @@ -34618,7 +34517,9 @@ /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) "bEE" = ( -/obj/machinery/modular_computer/console/preset/civilian, +/obj/machinery/modular_computer/console/preset/civilian{ + dir = 1 + }, /turf/open/floor/plasteel/cmo, /area/crew_quarters/heads/cmo) "bEF" = ( @@ -34761,7 +34662,9 @@ }, /area/hallway/primary/aft) "bER" = ( -/obj/machinery/computer/mecha, +/obj/machinery/computer/mecha{ + dir = 4 + }, /obj/item/device/radio/intercom{ dir = 0; name = "Station Intercom (General)"; @@ -34832,7 +34735,9 @@ /obj/machinery/newscaster{ pixel_y = -30 }, -/obj/machinery/modular_computer/console/preset/research, +/obj/machinery/modular_computer/console/preset/research{ + dir = 8 + }, /turf/open/floor/plasteel/darkpurple/side{ tag = "icon-darkpurple (SOUTHEAST)"; icon_state = "darkpurple"; @@ -35910,8 +35815,7 @@ /area/science/research/lobby) "bHr" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -36347,8 +36251,7 @@ /area/medical/surgery) "bIt" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/structure/cable{ icon_state = "2-4" @@ -36402,8 +36305,7 @@ /area/science/research/lobby) "bIy" = ( /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable{ @@ -37943,6 +37845,7 @@ /area/engine/atmos) "bMh" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 8; frequency = 1441; input_tag = "mix_in"; name = "Gas Mix Tank Control"; @@ -37954,7 +37857,7 @@ }, /area/engine/atmos) "bMi" = ( -/obj/effect/spawner/structure/window/reinforced, +/obj/effect/spawner/structure/window/plasma/reinforced, /turf/open/floor/plating/airless, /area/engine/atmos) "bMj" = ( @@ -38873,8 +38776,7 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plating, /area/maintenance/department/engine) @@ -38914,8 +38816,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 @@ -39022,9 +38923,7 @@ /area/engine/atmos) "bOW" = ( /obj/structure/table, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/glass/fifty, /obj/item/storage/belt/utility, /obj/item/device/t_scanner, /obj/item/device/t_scanner, @@ -39033,21 +38932,13 @@ /area/engine/atmos) "bOX" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50; +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty{ pixel_x = 2; pixel_y = 2 }, -/obj/item/stack/sheet/glass{ - layer = 3.1 - }, -/obj/item/stack/rods{ - amount = 50; - layer = 3.2 - }, +/obj/item/stack/sheet/glass, +/obj/item/stack/rods/fifty, /turf/open/floor/plasteel/yellow/side, /area/engine/atmos) "bOY" = ( @@ -39379,6 +39270,7 @@ /area/engine/atmos) "bPX" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 8; frequency = 1441; input_tag = "n2o_in"; name = "Nitrous Oxide Supply Control"; @@ -39561,10 +39453,7 @@ /turf/open/floor/plasteel/darkgreen, /area/storage/tech) "bQv" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/pandemic{ pixel_x = -3; pixel_y = 3 @@ -39587,10 +39476,7 @@ /turf/open/floor/plasteel/darkgreen, /area/storage/tech) "bQw" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/mining, /obj/item/circuitboard/machine/autolathe{ pixel_x = 3; @@ -39700,7 +39586,9 @@ }, /area/engine/atmos) "bQG" = ( -/obj/machinery/computer/atmos_control, +/obj/machinery/computer/atmos_control{ + dir = 8 + }, /turf/open/floor/plasteel/yellow/side{ dir = 4 }, @@ -39805,8 +39693,7 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plating, /area/maintenance/department/engine) @@ -39825,15 +39712,13 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plating, /area/maintenance/department/engine) "bQX" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/cable{ icon_state = "2-4" @@ -39845,8 +39730,7 @@ /area/maintenance/department/engine) "bQY" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/structure/cable{ icon_state = "1-8" @@ -40060,7 +39944,9 @@ /obj/machinery/light{ dir = 4 }, -/obj/machinery/computer/atmos_alert, +/obj/machinery/computer/atmos_alert{ + dir = 8 + }, /turf/open/floor/plasteel/yellow/side{ dir = 4 }, @@ -40199,10 +40085,7 @@ /turf/open/floor/plasteel/black, /area/storage/tech) "bRO" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/cloning, /obj/item/circuitboard/computer/med_data{ pixel_x = 3; @@ -40214,10 +40097,7 @@ /turf/open/floor/plasteel/darkgreen, /area/storage/tech) "bRP" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/secure_data{ pixel_x = -2; pixel_y = 2 @@ -40229,10 +40109,7 @@ /turf/open/floor/plasteel/darkgreen, /area/storage/tech) "bRQ" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/powermonitor{ pixel_x = -2; pixel_y = 2 @@ -40341,9 +40218,8 @@ /turf/open/floor/plasteel/yellow/side, /area/engine/atmos) "bSc" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 2; - icon_state = "pipe-j2s"; sortType = 6 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ @@ -40437,9 +40313,8 @@ /turf/open/floor/plating, /area/maintenance/department/engine) "bSp" = ( -/obj/structure/disposalpipe/junction{ - dir = 2; - icon_state = "pipe-y" +/obj/structure/disposalpipe/junction/yjunction{ + dir = 2 }, /turf/open/floor/plating{ icon_state = "platingdmg3" @@ -40452,9 +40327,7 @@ /turf/open/floor/plating, /area/maintenance/department/engine) "bSr" = ( -/obj/structure/disposalpipe/junction{ - tag = "icon-pipe-y (WEST)"; - icon_state = "pipe-y"; +/obj/structure/disposalpipe/junction/yjunction{ dir = 8 }, /turf/open/floor/plating, @@ -40691,6 +40564,7 @@ /area/engine/atmos) "bSV" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 8; frequency = 1441; input_tag = "tox_in"; name = "Plasma Supply Control"; @@ -40727,8 +40601,7 @@ /area/space) "bTa" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/structure/lattice, /turf/open/space, @@ -40752,8 +40625,7 @@ }, /obj/item/vending_refill/cola, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plating, /area/maintenance/department/engine) @@ -40931,10 +40803,7 @@ /turf/open/floor/plasteel/darkgreen, /area/storage/tech) "bTz" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/storage/toolbox/electrical{ pixel_x = 2; pixel_y = 4 @@ -40944,10 +40813,7 @@ /turf/open/floor/plasteel/darkgreen, /area/storage/tech) "bTA" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/storage/toolbox/electrical{ pixel_x = 2; pixel_y = 4 @@ -41416,16 +41282,14 @@ "bUD" = ( /obj/structure/lattice, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/space, /area/space) "bUE" = ( /obj/structure/lattice, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/space, /area/space) @@ -41640,8 +41504,7 @@ icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -41702,8 +41565,7 @@ /area/engine/atmos) "bVf" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -41795,9 +41657,7 @@ /turf/open/floor/plating, /area/maintenance/department/engine) "bVu" = ( -/obj/structure/rack{ - dir = 4 - }, +/obj/structure/rack, /obj/item/wrench, /obj/item/clothing/head/welding, /obj/machinery/light/small{ @@ -41807,9 +41667,7 @@ /turf/open/floor/plating, /area/maintenance/department/engine) "bVv" = ( -/obj/structure/rack{ - dir = 4 - }, +/obj/structure/rack, /obj/item/electronics/airlock, /obj/item/electronics/airlock, /obj/item/electronics/airlock, @@ -41827,27 +41685,17 @@ /area/maintenance/department/engine) "bVw" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/rods/fifty, /turf/open/floor/plating{ icon_state = "panelscorched" }, /area/maintenance/department/engine) "bVx" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, /turf/open/floor/plating, /area/maintenance/department/engine) "bVy" = ( @@ -42133,6 +41981,7 @@ /area/engine/atmos) "bWb" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 8; frequency = 1441; input_tag = "co2_in"; name = "Carbon Dioxide Supply Control"; @@ -42193,15 +42042,13 @@ /area/maintenance/department/engine) "bWk" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plating, /area/maintenance/department/engine) "bWl" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plating, /area/maintenance/department/engine) @@ -42244,16 +42091,15 @@ /turf/open/floor/plasteel, /area/crew_quarters/heads/chief) "bWr" = ( -/obj/machinery/modular_computer/console/preset/engineering, +/obj/machinery/modular_computer/console/preset/engineering{ + dir = 8 + }, /turf/open/floor/plasteel/yellow/side{ dir = 4 }, /area/crew_quarters/heads/chief) "bWs" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/robotics{ pixel_x = -2; pixel_y = 2 @@ -42265,10 +42111,7 @@ /turf/open/floor/plasteel/darkred, /area/storage/tech) "bWt" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/crew{ pixel_x = -1; pixel_y = 1 @@ -42288,10 +42131,7 @@ /turf/open/floor/plasteel/darkred, /area/storage/tech) "bWu" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/circuitboard/computer/borgupload{ pixel_x = -1; pixel_y = 1 @@ -42304,21 +42144,17 @@ /area/storage/tech) "bWv" = ( /obj/structure/table, -/obj/item/stack/sheet/plasteel{ - amount = 20; +/obj/item/stack/sheet/plasteel/twenty{ pixel_x = -3; pixel_y = 3 }, -/obj/item/stack/sheet/glass{ - amount = 50; +/obj/item/stack/sheet/glass/fifty{ layer = 4 }, -/obj/item/stack/sheet/glass{ - amount = 50; +/obj/item/stack/sheet/glass/fifty{ layer = 4 }, -/obj/item/stack/sheet/glass{ - amount = 50; +/obj/item/stack/sheet/glass/fifty{ layer = 4 }, /obj/structure/cable{ @@ -42612,8 +42448,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/yellow/side, @@ -42635,15 +42470,9 @@ /area/engine/engineering) "bXl" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/rods/fifty, /obj/item/stack/cable_coil, /obj/machinery/power/apc/highcap/ten_k{ dir = 8; @@ -42652,10 +42481,7 @@ pixel_x = -26 }, /obj/structure/cable, -/obj/item/stack/sheet/metal{ - amount = 50; - layer = 2.9 - }, +/obj/item/stack/sheet/metal/fifty, /obj/item/stack/cable_coil, /turf/open/floor/plasteel/darkyellow/side{ tag = "icon-darkyellow (WEST)"; @@ -42712,6 +42538,7 @@ /area/engine/atmos) "bXu" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 1; frequency = 1441; input_tag = "n2_in"; name = "Nitrogen Supply Control"; @@ -42730,6 +42557,7 @@ /area/engine/atmos) "bXx" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 1; frequency = 1441; input_tag = "o2_in"; name = "Oxygen Supply Control"; @@ -42761,6 +42589,7 @@ /area/engine/atmos) "bXB" = ( /obj/machinery/computer/atmos_control/tank{ + dir = 1; frequency = 1441; input_tag = "air_in"; name = "Mixed Air Supply Control"; @@ -42859,8 +42688,7 @@ /area/maintenance/department/engine) "bXT" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /turf/open/floor/plating{ icon_state = "platingdmg3" @@ -42874,11 +42702,15 @@ network = list("AuxBase"); pixel_y = -28 }, -/obj/machinery/computer/shuttle/mining, +/obj/machinery/computer/shuttle/mining{ + dir = 1 + }, /turf/open/floor/plating, /area/maintenance/department/engine) "bXV" = ( -/obj/machinery/computer/camera_advanced/base_construction, +/obj/machinery/computer/camera_advanced/base_construction{ + dir = 1 + }, /turf/open/floor/plating, /area/maintenance/department/engine) "bXW" = ( @@ -42886,8 +42718,7 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/department/engine) @@ -42896,8 +42727,7 @@ icon_state = "2-8" }, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating, /area/maintenance/department/engine) @@ -43105,8 +42935,7 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/floor/plating, /area/maintenance/department/engine) @@ -43156,9 +42985,8 @@ /obj/structure/cable{ icon_state = "1-4" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail{ dir = 8; - icon_state = "pipe-j1s"; sortType = 5 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, @@ -43386,9 +43214,8 @@ /obj/structure/cable{ icon_state = "2-8" }, -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 8; - icon_state = "pipe-j2s"; sortType = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -43401,8 +43228,7 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -43525,8 +43351,7 @@ "bZr" = ( /obj/item/trash/tray, /obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" + dir = 10 }, /turf/open/floor/plating{ icon_state = "platingdmg3" @@ -43635,8 +43460,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -43715,6 +43539,7 @@ /area/maintenance/disposal/incinerator) "bZQ" = ( /obj/machinery/computer/turbine_computer{ + dir = 8; id = "incineratorturbine" }, /obj/machinery/button/door{ @@ -43882,10 +43707,7 @@ /turf/open/floor/plasteel, /area/engine/engineering) "cao" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/storage/belt/utility, /obj/item/clothing/head/welding{ pixel_x = -3; @@ -43941,10 +43763,7 @@ /turf/open/floor/plasteel, /area/engine/engineering) "cau" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9 - }, +/obj/structure/rack, /obj/item/clothing/mask/gas{ pixel_x = 3; pixel_y = 3 @@ -44795,15 +44614,9 @@ /area/engine/engineering) "ccR" = ( /obj/structure/closet/crate, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/rods/fifty, +/obj/item/stack/sheet/glass/fifty, /obj/item/electronics/airlock, /obj/item/electronics/airlock, /obj/item/stock_parts/cell/high/plus, @@ -46975,8 +46788,7 @@ /obj/effect/decal/cleanable/cobweb{ icon_state = "cobweb2" }, -/obj/item/stack/sheet/glass{ - amount = 50; +/obj/item/stack/sheet/glass/fifty{ layer = 4 }, /obj/item/stack/sheet/metal{ @@ -47142,9 +46954,7 @@ /obj/structure/extinguisher_cabinet{ pixel_x = 24 }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /turf/open/floor/plating, /area/maintenance/department/chapel/monastery) "ckl" = ( @@ -47876,6 +47686,7 @@ /area/tcommsat/computer) "cmv" = ( /obj/machinery/computer/telecomms/monitor{ + dir = 1; network = "tcommsat" }, /turf/open/floor/plasteel/yellow/side{ @@ -47897,6 +47708,7 @@ /area/tcommsat/computer) "cmx" = ( /obj/machinery/computer/telecomms/server{ + dir = 1; network = "tcommsat" }, /turf/open/floor/plasteel/yellow/side{ @@ -47904,7 +47716,9 @@ }, /area/tcommsat/computer) "cmy" = ( -/obj/machinery/computer/message_monitor, +/obj/machinery/computer/message_monitor{ + dir = 1 + }, /turf/open/floor/plasteel/yellow/side{ dir = 6 }, @@ -48597,17 +48411,15 @@ }, /area/crew_quarters/bar) "cpk" = ( -/obj/structure/disposalpipe/sortjunction{ +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 4; - icon_state = "pipe-j2s"; sortType = 19 }, /turf/open/floor/plasteel/black, /area/crew_quarters/bar) "cpl" = ( /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/cafeteria, @@ -49106,8 +48918,7 @@ "cry" = ( /obj/structure/lattice/catwalk, /obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" + dir = 5 }, /turf/open/space, /area/space) @@ -49117,7 +48928,6 @@ req_access_txt = "13" }, /obj/structure/disposalpipe/segment{ - icon_state = "pipe-s"; dir = 4 }, /turf/open/floor/plating, @@ -49131,7 +48941,6 @@ pixel_y = 32 }, /obj/structure/disposalpipe/segment{ - icon_state = "pipe-s"; dir = 4 }, /turf/open/floor/plating, @@ -49142,7 +48951,6 @@ req_access_txt = "13" }, /obj/structure/disposalpipe/segment{ - icon_state = "pipe-s"; dir = 4 }, /turf/open/floor/plating, @@ -49152,7 +48960,6 @@ dir = 1 }, /obj/structure/disposalpipe/segment{ - icon_state = "pipe-s"; dir = 4 }, /turf/open/floor/plating, @@ -49389,14 +49196,12 @@ "csy" = ( /obj/effect/spawner/lootdrop/maintenance, /obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" + dir = 6 }, /turf/open/floor/plating, /area/maintenance/department/engine) "csz" = ( /obj/structure/disposalpipe/segment{ - icon_state = "pipe-s"; dir = 4 }, /turf/open/floor/plating, @@ -49692,7 +49497,6 @@ "ctS" = ( /obj/structure/disposaloutlet, /obj/structure/disposalpipe/trunk{ - icon_state = "pipe-t"; dir = 1 }, /turf/open/floor/plating/airless, @@ -51354,6 +51158,109 @@ }, /turf/open/floor/plating/airless, /area/engine/engineering) +"cBT" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating/airless, +/area/maintenance/disposal/incinerator) +"cBU" = ( +/turf/closed/wall/r_wall, +/area/gateway) +"cBV" = ( +/turf/closed/wall/r_wall, +/area/gateway) +"cBW" = ( +/turf/closed/wall/r_wall, +/area/gateway) +"cBX" = ( +/turf/closed/wall/r_wall, +/area/gateway) +"cBY" = ( +/turf/closed/wall/r_wall, +/area/gateway) +"cBZ" = ( +/turf/closed/wall/r_wall, +/area/gateway) +"cCa" = ( +/turf/closed/wall/r_wall, +/area/gateway) +"cCb" = ( +/turf/closed/wall/r_wall, +/area/gateway) +"cCc" = ( +/turf/closed/wall/r_wall, +/area/gateway) +"cCd" = ( +/turf/closed/wall/r_wall, +/area/gateway) +"cCe" = ( +/turf/closed/wall/r_wall, +/area/gateway) +"cCf" = ( +/turf/closed/wall/r_wall, +/area/gateway) +"cCg" = ( +/turf/closed/wall/r_wall, +/area/gateway) +"cCh" = ( +/turf/closed/wall/r_wall, +/area/gateway) +"cCi" = ( +/turf/closed/wall/r_wall, +/area/gateway) +"cCj" = ( +/turf/closed/wall/r_wall, +/area/gateway) +"cCk" = ( +/turf/closed/wall/r_wall, +/area/gateway) +"cCl" = ( +/turf/closed/wall/r_wall, +/area/science/lab) +"cCm" = ( +/turf/closed/wall/r_wall, +/area/science/lab) +"cCn" = ( +/turf/closed/wall/r_wall, +/area/science/lab) +"cCo" = ( +/turf/closed/wall/r_wall, +/area/science/lab) +"cCp" = ( +/turf/closed/wall/r_wall, +/area/science/lab) +"cCq" = ( +/turf/closed/wall/r_wall, +/area/science/lab) +"cCr" = ( +/turf/closed/wall/r_wall, +/area/science/lab) +"cCs" = ( +/turf/closed/wall/r_wall, +/area/science/lab) +"cCt" = ( +/turf/open/floor/plasteel/white, +/area/science/lab) +"cCu" = ( +/turf/closed/wall/r_wall, +/area/science/lab) +"cCv" = ( +/turf/closed/wall/r_wall, +/area/science/lab) +"cCw" = ( +/turf/open/floor/plasteel/white, +/area/science/lab) +"cCx" = ( +/turf/closed/wall/r_wall, +/area/science/lab) +"cCy" = ( +/turf/closed/wall/r_wall, +/area/science/lab) +"cCz" = ( +/turf/closed/wall/r_wall, +/area/science/lab) +"cCA" = ( +/turf/closed/wall, +/area/science/lab) (1,1,1) = {" aaa @@ -60141,7 +60048,7 @@ aaa aaa aaa aaa -cBO +aaa aaa aaa aaa @@ -73884,7 +73791,7 @@ bva bva bva bva -csz +bSq bva bva aaa @@ -73999,7 +73906,7 @@ aaa aaa aaa aaa -aaT +aaa aaa aaa aaa @@ -76482,7 +76389,7 @@ aaa aaa aaa aaa -clt +aaa aaa aaa aaa @@ -84382,11 +84289,11 @@ bjo bjq cqh bjo -bjw -bjw -bjw -bjw -bjw +cCl +cCq +cCs +cCv +cCy bxa byD bAm @@ -84639,11 +84546,11 @@ blv bkn cqi boP -bjw +cCm brp bsQ buo -bjw +cCz bxb byE bAn @@ -84896,10 +84803,10 @@ blw bkn cqi boQ -bjw +cCn brq -bqs -bqs +cCt +cCw bvv bxc byF @@ -85153,7 +85060,7 @@ blx bkn bnI boR -bjw +cCo brr bsR bup @@ -86181,14 +86088,14 @@ blA bmJ bnL boU -bjw -bjw -bjw -bjw +cCp +cCr +cCu +cCx bqb bxh bqb -bod +cCA bBv bCJ bCJ @@ -86641,9 +86548,9 @@ aaa aaa aaa aht -anX -anX -anX +cBU +cBZ +cCb apT apT apT @@ -86898,7 +86805,7 @@ aaa aaa aaa aht -anX +cBV aoA apq apU @@ -87155,7 +87062,7 @@ aaa aaa aaa aht -anX +cBW aoB apr apV @@ -87163,7 +87070,7 @@ aqR arY atb aug -anX +cCj awk axn axn @@ -87412,7 +87319,7 @@ aaa aaa aaa aht -anX +cBX aoC aps apW @@ -87669,11 +87576,11 @@ aaa aaa aaa aht -anX -anX -anX -anX -anX +cBY +cCa +cCc +cCd +cCe asa atd aui @@ -87930,11 +87837,11 @@ aaa aaa aaa aaa -anX -anX -anX -anX -anX +cCf +cCg +cCh +cCi +cCk awd axi aaa @@ -88592,7 +88499,7 @@ aaa aaa aaa aaa -cnA +aaa aaa aaa aaa @@ -89301,7 +89208,7 @@ bYs bYw bYw bYw -cbz +cBT bYw bYw bYw @@ -103867,7 +103774,7 @@ aaa aaa aaa aaa -aaa +ajA aaa aaa aaa @@ -103941,7 +103848,7 @@ aaa aaa aaa aaa -bUB +aaa aaa aaa aaa @@ -107714,7 +107621,7 @@ aaa aaa aaa aaa -ajA +aaa aaa aaa aaa diff --git a/_maps/map_files/debug/runtimestation.dmm b/_maps/map_files/debug/runtimestation.dmm index 136e2b880e..0bc878046d 100644 --- a/_maps/map_files/debug/runtimestation.dmm +++ b/_maps/map_files/debug/runtimestation.dmm @@ -926,12 +926,8 @@ /area/hallway/secondary/entry) "cK" = ( /obj/structure/table, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/rods/fifty, /obj/machinery/light, /turf/open/floor/plasteel/arrival, /area/hallway/secondary/entry) diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index f99ab6cf9f..276381f724 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -590,7 +590,9 @@ }, /area/holodeck/rec_center/medical) "bV" = ( -/obj/machinery/computer/operating, +/obj/machinery/computer/operating{ + dir = 8 + }, /turf/open/floor/holofloor{ icon_state = "white" }, @@ -1593,7 +1595,9 @@ /turf/open/floor/holofloor/asteroid, /area/holodeck/rec_center/thunderdome1218) "eI" = ( -/obj/machinery/modular_computer/console/preset/civilian, +/obj/machinery/modular_computer/console/preset/civilian{ + dir = 4 + }, /turf/open/floor/holofloor/plating, /area/holodeck/rec_center/kobayashi) "eJ" = ( @@ -1609,7 +1613,9 @@ /turf/open/floor/holofloor/plating, /area/holodeck/rec_center/kobayashi) "eL" = ( -/obj/machinery/computer/station_alert, +/obj/machinery/computer/station_alert{ + dir = 8 + }, /turf/open/floor/holofloor/plating, /area/holodeck/rec_center/kobayashi) "eM" = ( @@ -1637,12 +1643,16 @@ /turf/open/floor/holofloor, /area/holodeck/rec_center/school) "eP" = ( -/obj/machinery/modular_computer/console/preset/civilian, +/obj/machinery/modular_computer/console/preset/civilian{ + dir = 4 + }, /obj/structure/window/reinforced, /turf/open/floor/holofloor/plating, /area/holodeck/rec_center/kobayashi) "eQ" = ( -/obj/machinery/computer/atmos_alert, +/obj/machinery/computer/atmos_alert{ + dir = 8 + }, /obj/structure/window/reinforced, /turf/open/floor/holofloor/plating, /area/holodeck/rec_center/kobayashi) @@ -3200,7 +3210,9 @@ pixel_x = -27; pixel_y = 5 }, -/obj/machinery/computer/cargo, +/obj/machinery/computer/cargo{ + dir = 4 + }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/centcom/supply) @@ -4291,7 +4303,9 @@ }, /area/centcom/control) "mm" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 8 + }, /turf/open/floor/plasteel/vault{ dir = 8 }, @@ -4400,7 +4414,9 @@ /turf/closed/indestructible/riveted, /area/centcom/supply) "mG" = ( -/obj/machinery/computer/cargo, +/obj/machinery/computer/cargo{ + dir = 4 + }, /obj/effect/turf_decal/stripes/line{ dir = 5 }, @@ -4641,7 +4657,9 @@ /turf/open/floor/plasteel/white, /area/centcom/ferry) "nl" = ( -/obj/machinery/computer/security/mining, +/obj/machinery/computer/security/mining{ + dir = 4 + }, /obj/effect/turf_decal/stripes/line{ dir = 6 }, @@ -4786,14 +4804,18 @@ /obj/machinery/newscaster/security_unit{ pixel_y = -32 }, -/obj/machinery/computer/cargo, +/obj/machinery/computer/cargo{ + dir = 1 + }, /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plasteel, /area/centcom/supply) "nG" = ( -/obj/machinery/computer/security/mining, +/obj/machinery/computer/security/mining{ + dir = 1 + }, /obj/effect/turf_decal/stripes/line{ dir = 5 }, @@ -4936,21 +4958,27 @@ }, /area/centcom/control) "nY" = ( -/obj/machinery/computer/prisoner, +/obj/machinery/computer/prisoner{ + dir = 1 + }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/centcom/control) "nZ" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 1 + }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, /area/centcom/control) "oa" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 1 + }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, @@ -5121,7 +5149,9 @@ /turf/open/floor/plasteel, /area/centcom/supply) "ov" = ( -/obj/machinery/computer/cargo, +/obj/machinery/computer/cargo{ + dir = 8 + }, /obj/effect/turf_decal/stripes/line{ dir = 9 }, @@ -5254,7 +5284,9 @@ /turf/open/floor/plasteel/grimy, /area/centcom/ferry) "oL" = ( -/obj/machinery/modular_computer/console/preset/command, +/obj/machinery/modular_computer/console/preset/command{ + dir = 8 + }, /turf/open/floor/plasteel/vault{ dir = 8 }, @@ -5273,7 +5305,9 @@ }, /area/centcom/supply) "oO" = ( -/obj/machinery/computer/security/mining, +/obj/machinery/computer/security/mining{ + dir = 8 + }, /obj/effect/turf_decal/stripes/line{ dir = 10 }, @@ -6351,12 +6385,8 @@ /area/centcom/ferry) "rs" = ( /obj/structure/table/reinforced, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, /obj/item/stack/sheet/plasteel{ amount = 15 }, @@ -6365,9 +6395,7 @@ pixel_x = 2; pixel_y = -2 }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /obj/item/stack/cable_coil/white, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, @@ -6442,12 +6470,8 @@ pixel_x = 26 }, /obj/structure/table/reinforced, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, /obj/item/stack/sheet/plasteel{ amount = 15 }, @@ -6456,9 +6480,7 @@ pixel_x = 2; pixel_y = -2 }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /obj/item/stack/cable_coil/white, /obj/item/screwdriver/power, /obj/effect/decal/cleanable/dirt, @@ -7339,7 +7361,9 @@ /turf/open/floor/plasteel, /area/centcom/ferry) "tE" = ( -/obj/machinery/computer/monitor, +/obj/machinery/computer/monitor{ + dir = 1 + }, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, @@ -7618,7 +7642,9 @@ }, /area/centcom/ferry) "ul" = ( -/obj/machinery/computer/emergency_shuttle, +/obj/machinery/computer/emergency_shuttle{ + dir = 1 + }, /obj/machinery/newscaster/security_unit{ pixel_y = -32 }, @@ -7628,7 +7654,9 @@ /turf/open/floor/plasteel, /area/centcom/ferry) "um" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 1 + }, /obj/effect/turf_decal/stripes/line{ dir = 5 }, @@ -7697,7 +7725,9 @@ }, /area/centcom/control) "uv" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 4 + }, /turf/open/floor/plasteel/vault{ dir = 8 }, @@ -7707,7 +7737,9 @@ /turf/open/floor/plasteel/darkred/side, /area/centcom/control) "ux" = ( -/obj/machinery/computer/card/centcom, +/obj/machinery/computer/card/centcom{ + dir = 1 + }, /obj/machinery/button/door{ id = "XCCcustoms1"; layer = 3.5; @@ -7725,7 +7757,9 @@ /turf/open/floor/plasteel/darkred/side, /area/centcom/control) "uy" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 8 + }, /obj/machinery/airalarm{ dir = 8; pixel_x = 24 @@ -8702,7 +8736,9 @@ }, /area/shuttle/syndicate/airlock) "wV" = ( -/obj/machinery/computer/telecrystals/boss, +/obj/machinery/computer/telecrystals/boss{ + dir = 1 + }, /turf/open/floor/plasteel/podhatch{ dir = 5 }, @@ -8834,13 +8870,17 @@ }, /area/centcom/control) "xm" = ( -/obj/machinery/computer/med_data, +/obj/machinery/computer/med_data{ + dir = 4 + }, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/centcom/control) "xn" = ( -/obj/machinery/computer/card/centcom, +/obj/machinery/computer/card/centcom{ + dir = 8 + }, /turf/open/floor/plasteel/vault{ dir = 8 }, @@ -9047,7 +9087,9 @@ }, /area/centcom/control) "xU" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 4 + }, /turf/open/floor/plasteel/vault{ dir = 8 }, @@ -9065,7 +9107,9 @@ /turf/open/floor/wood, /area/centcom/control) "xX" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 8 + }, /turf/open/floor/plasteel/vault{ dir = 8 }, @@ -9216,14 +9260,18 @@ }, /area/centcom/control) "yv" = ( -/obj/machinery/computer/prisoner, +/obj/machinery/computer/prisoner{ + dir = 1 + }, /obj/machinery/light, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/centcom/control) "yw" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 1 + }, /obj/machinery/light, /turf/open/floor/plasteel/vault{ dir = 8 @@ -9759,7 +9807,9 @@ /turf/open/floor/plasteel/cmo, /area/centcom/control) "zK" = ( -/obj/machinery/computer/med_data, +/obj/machinery/computer/med_data{ + dir = 8 + }, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 @@ -9984,7 +10034,9 @@ /turf/open/floor/plasteel/blue, /area/centcom/control) "As" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 8 + }, /obj/structure/extinguisher_cabinet{ pixel_x = 24 }, @@ -10150,7 +10202,9 @@ /turf/closed/indestructible/riveted, /area/centcom/control) "AU" = ( -/obj/machinery/computer/operating, +/obj/machinery/computer/operating{ + dir = 4 + }, /turf/open/floor/plasteel/cmo, /area/centcom/control) "AV" = ( @@ -10355,7 +10409,9 @@ }, /area/centcom/ferry) "Bv" = ( -/obj/machinery/computer/card/centcom, +/obj/machinery/computer/card/centcom{ + dir = 1 + }, /turf/open/floor/plasteel/grimy, /area/centcom/ferry) "Bw" = ( @@ -10699,7 +10755,9 @@ }, /area/centcom/evac) "Ch" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 8 + }, /obj/machinery/button/door{ id = "XCCcustoms1"; layer = 3; @@ -11020,7 +11078,9 @@ }, /area/centcom/evac) "CR" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 8 + }, /obj/machinery/newscaster{ pixel_x = 32 }, @@ -11451,7 +11511,9 @@ }, /area/centcom/control) "DU" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 1 + }, /obj/machinery/newscaster{ pixel_y = -32 }, @@ -11477,7 +11539,9 @@ /obj/machinery/newscaster{ pixel_y = -32 }, -/obj/machinery/computer/med_data, +/obj/machinery/computer/med_data{ + dir = 1 + }, /turf/open/floor/plasteel/vault{ dir = 8 }, @@ -13775,7 +13839,9 @@ /turf/open/floor/mineral/plastitanium, /area/shuttle/escape) "Kf" = ( -/obj/machinery/computer/emergency_shuttle, +/obj/machinery/computer/emergency_shuttle{ + dir = 8 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "Kg" = ( @@ -14177,7 +14243,9 @@ /turf/open/floor/mineral/titanium/blue, /area/centcom/evac) "Lj" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 4 + }, /turf/open/floor/mineral/plastitanium, /area/centcom/evac) "Lk" = ( @@ -14441,6 +14509,38 @@ /obj/structure/lattice, /turf/open/space, /area/space) +"Md" = ( +/obj/machinery/computer/secure_data{ + dir = 4 + }, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/centcom/control) +"Me" = ( +/obj/machinery/computer/security{ + dir = 1 + }, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/centcom/control) +"Mf" = ( +/obj/machinery/computer/secure_data{ + dir = 1 + }, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/centcom/control) +"Mg" = ( +/obj/machinery/computer/crew{ + dir = 1 + }, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/centcom/control) (1,1,1) = {" aa @@ -56777,7 +56877,7 @@ CH vM Ds DG -mm +Mf im Eu EM @@ -57794,7 +57894,7 @@ vL wE km km -uv +Me iu nq nq @@ -58833,7 +58933,7 @@ CM Da Dv DJ -xU +Mg im Eu EP @@ -60871,7 +60971,7 @@ qv iu rN sK -mm +Md uv iu vR diff --git a/_maps/shuttles/emergency_asteroid.dmm b/_maps/shuttles/emergency_asteroid.dmm index 457373132c..14252f3e0f 100644 --- a/_maps/shuttles/emergency_asteroid.dmm +++ b/_maps/shuttles/emergency_asteroid.dmm @@ -209,7 +209,9 @@ /turf/open/floor/mineral/plastitanium/brig, /area/shuttle/escape) "aR" = ( -/obj/machinery/computer/station_alert, +/obj/machinery/computer/station_alert{ + dir = 4 + }, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aS" = ( @@ -267,7 +269,9 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "bb" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 4 + }, /turf/open/floor/mineral/plastitanium/brig, /area/shuttle/escape) "bc" = ( @@ -309,7 +313,9 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/escape) "bj" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 4 + }, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "bk" = ( @@ -344,7 +350,9 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/escape) "bp" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 4 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "bq" = ( @@ -585,7 +593,7 @@ aU bd bl ac -bO +bN bu bE ad @@ -759,7 +767,7 @@ aa ah ah aB -bL +bK at aZ ah @@ -780,7 +788,7 @@ aZ ah aK at -bQ +bP ac aa aa diff --git a/_maps/shuttles/emergency_bar.dmm b/_maps/shuttles/emergency_bar.dmm index ed55f33322..5f6e654b2c 100644 --- a/_maps/shuttles/emergency_bar.dmm +++ b/_maps/shuttles/emergency_bar.dmm @@ -52,7 +52,9 @@ /turf/open/floor/plasteel/freezer, /area/shuttle/escape) "al" = ( -/obj/machinery/computer/atmos_alert, +/obj/machinery/computer/atmos_alert{ + dir = 4 + }, /turf/open/floor/carpet, /area/shuttle/escape) "am" = ( @@ -71,11 +73,15 @@ /turf/open/floor/carpet, /area/shuttle/escape) "ap" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 8 + }, /turf/open/floor/carpet, /area/shuttle/escape) "aq" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 4 + }, /turf/open/floor/carpet, /area/shuttle/escape) "ar" = ( @@ -107,7 +113,9 @@ /turf/open/floor/carpet, /area/shuttle/escape) "au" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 8 + }, /turf/open/floor/carpet, /area/shuttle/escape) "av" = ( diff --git a/_maps/shuttles/emergency_birdboat.dmm b/_maps/shuttles/emergency_birdboat.dmm index aefccced65..ebd0971133 100644 --- a/_maps/shuttles/emergency_birdboat.dmm +++ b/_maps/shuttles/emergency_birdboat.dmm @@ -81,7 +81,9 @@ /turf/open/floor/plating/airless, /area/shuttle/escape) "aq" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 4 + }, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "ar" = ( diff --git a/_maps/shuttles/emergency_box.dmm b/_maps/shuttles/emergency_box.dmm index 5d09eb9614..c969766342 100644 --- a/_maps/shuttles/emergency_box.dmm +++ b/_maps/shuttles/emergency_box.dmm @@ -51,7 +51,9 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/escape) "al" = ( -/obj/machinery/computer/atmos_alert, +/obj/machinery/computer/atmos_alert{ + dir = 4 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "am" = ( @@ -70,11 +72,15 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "ap" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 8 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "aq" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 4 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "ar" = ( @@ -103,7 +109,9 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "au" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 8 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "av" = ( diff --git a/_maps/shuttles/emergency_cere.dmm b/_maps/shuttles/emergency_cere.dmm index 58074de76d..af8bb09d54 100644 --- a/_maps/shuttles/emergency_cere.dmm +++ b/_maps/shuttles/emergency_cere.dmm @@ -90,7 +90,9 @@ /turf/open/floor/plasteel/darkpurple, /area/shuttle/escape) "as" = ( -/obj/machinery/computer/station_alert, +/obj/machinery/computer/station_alert{ + dir = 4 + }, /obj/structure/window/reinforced{ dir = 8 }, @@ -104,7 +106,9 @@ /turf/open/floor/plasteel/black, /area/shuttle/escape) "au" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 8 + }, /obj/structure/window/reinforced{ dir = 4 }, @@ -128,7 +132,9 @@ /turf/open/floor/plasteel/darkred, /area/shuttle/escape) "az" = ( -/obj/machinery/computer/med_data, +/obj/machinery/computer/med_data{ + dir = 4 + }, /turf/open/floor/plasteel/darkblue, /area/shuttle/escape) "aA" = ( @@ -159,11 +165,15 @@ }, /area/shuttle/escape) "aF" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 8 + }, /turf/open/floor/plasteel/darkred, /area/shuttle/escape) "aG" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 4 + }, /turf/open/floor/plasteel/darkblue, /area/shuttle/escape) "aH" = ( @@ -189,7 +199,9 @@ /turf/open/floor/plasteel/darkred, /area/shuttle/escape) "aL" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 8 + }, /turf/open/floor/plasteel/darkred, /area/shuttle/escape) "aM" = ( @@ -915,7 +927,9 @@ }, /area/shuttle/escape) "cH" = ( -/obj/machinery/computer/operating, +/obj/machinery/computer/operating{ + dir = 4 + }, /turf/open/floor/plasteel/whiteblue, /area/shuttle/escape) "cI" = ( @@ -1191,6 +1205,12 @@ /obj/structure/shuttle/engine/propulsion, /turf/open/floor/plating/airless, /area/shuttle/escape) +"dA" = ( +/obj/machinery/computer/mech_bay_power_console{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/shuttle/escape) (1,1,1) = {" aa @@ -1996,7 +2016,7 @@ ab ab bb bj -bo +dA bu bD bD diff --git a/_maps/shuttles/emergency_clown.dmm b/_maps/shuttles/emergency_clown.dmm index 7915e1bc41..7b21311a8e 100644 --- a/_maps/shuttles/emergency_clown.dmm +++ b/_maps/shuttles/emergency_clown.dmm @@ -38,7 +38,9 @@ /turf/open/floor/noslip, /area/shuttle/escape) "ai" = ( -/obj/machinery/computer/atmos_alert, +/obj/machinery/computer/atmos_alert{ + dir = 4 + }, /turf/open/floor/noslip, /area/shuttle/escape) "aj" = ( @@ -58,11 +60,15 @@ /turf/open/floor/bluespace, /area/shuttle/escape) "am" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 8 + }, /turf/open/floor/noslip, /area/shuttle/escape) "an" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 4 + }, /turf/open/floor/noslip, /area/shuttle/escape) "ao" = ( @@ -88,7 +94,9 @@ /turf/open/floor/bluespace, /area/shuttle/escape) "ar" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 8 + }, /turf/open/floor/noslip, /area/shuttle/escape) "as" = ( diff --git a/_maps/shuttles/emergency_cramped.dmm b/_maps/shuttles/emergency_cramped.dmm index fb82dc554a..460ae6ee64 100644 --- a/_maps/shuttles/emergency_cramped.dmm +++ b/_maps/shuttles/emergency_cramped.dmm @@ -23,7 +23,9 @@ /turf/open/floor/plasteel/black, /area/shuttle/escape) "f" = ( -/obj/machinery/computer/emergency_shuttle, +/obj/machinery/computer/emergency_shuttle{ + dir = 8 + }, /turf/open/floor/plasteel/black, /area/shuttle/escape) "g" = ( diff --git a/_maps/shuttles/emergency_delta.dmm b/_maps/shuttles/emergency_delta.dmm index 8b40d11782..58180b0d92 100644 --- a/_maps/shuttles/emergency_delta.dmm +++ b/_maps/shuttles/emergency_delta.dmm @@ -262,7 +262,9 @@ /turf/open/floor/grass, /area/shuttle/escape) "ay" = ( -/obj/machinery/computer/med_data, +/obj/machinery/computer/med_data{ + dir = 4 + }, /turf/open/floor/plasteel/whiteblue/side{ dir = 1 }, @@ -903,7 +905,9 @@ }, /area/shuttle/escape) "ce" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 4 + }, /turf/open/floor/plasteel/darkred/side{ dir = 9 }, @@ -935,13 +939,17 @@ }, /area/shuttle/escape) "ci" = ( -/obj/machinery/computer/station_alert, +/obj/machinery/computer/station_alert{ + dir = 8 + }, /turf/open/floor/plasteel/darkyellow/side{ dir = 5 }, /area/shuttle/escape) "cj" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 4 + }, /turf/open/floor/plasteel/darkred/side{ dir = 10 }, @@ -974,7 +982,9 @@ /turf/open/floor/plasteel/vault, /area/shuttle/escape) "cp" = ( -/obj/machinery/computer/atmos_alert, +/obj/machinery/computer/atmos_alert{ + dir = 8 + }, /turf/open/floor/plasteel/darkyellow/side{ dir = 6 }, @@ -995,23 +1005,31 @@ /turf/open/floor/plasteel/vault, /area/shuttle/escape) "cs" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 1 + }, /turf/open/floor/plasteel/darkblue/side, /area/shuttle/escape) "ct" = ( -/obj/machinery/computer/med_data, +/obj/machinery/computer/med_data{ + dir = 1 + }, /turf/open/floor/plasteel/darkblue/side{ dir = 6 }, /area/shuttle/escape) "cu" = ( -/obj/machinery/computer/emergency_shuttle, +/obj/machinery/computer/emergency_shuttle{ + dir = 1 + }, /turf/open/floor/plasteel/darkblue/side{ dir = 10 }, /area/shuttle/escape) "cv" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 1 + }, /turf/open/floor/plasteel/darkblue/side, /area/shuttle/escape) "cw" = ( diff --git a/_maps/shuttles/emergency_goon.dmm b/_maps/shuttles/emergency_goon.dmm index dad0466b8b..334e1ddd69 100644 --- a/_maps/shuttles/emergency_goon.dmm +++ b/_maps/shuttles/emergency_goon.dmm @@ -168,7 +168,9 @@ /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) "G" = ( -/obj/machinery/computer/emergency_shuttle, +/obj/machinery/computer/emergency_shuttle{ + dir = 8 + }, /obj/structure/window/reinforced{ dir = 4 }, diff --git a/_maps/shuttles/emergency_imfedupwiththisworld.dmm b/_maps/shuttles/emergency_imfedupwiththisworld.dmm index 4bb10cef92..403c75b1b6 100644 --- a/_maps/shuttles/emergency_imfedupwiththisworld.dmm +++ b/_maps/shuttles/emergency_imfedupwiththisworld.dmm @@ -155,7 +155,9 @@ /turf/open/floor/wood, /area/shuttle/escape) "D" = ( -/obj/machinery/computer/emergency_shuttle, +/obj/machinery/computer/emergency_shuttle{ + dir = 8 + }, /turf/open/floor/carpet, /area/shuttle/escape) "E" = ( diff --git a/_maps/shuttles/emergency_luxury.dmm b/_maps/shuttles/emergency_luxury.dmm index a9aea3c632..6175df5b88 100644 --- a/_maps/shuttles/emergency_luxury.dmm +++ b/_maps/shuttles/emergency_luxury.dmm @@ -124,7 +124,9 @@ /turf/open/floor/mineral/gold, /area/shuttle/escape/luxury) "aw" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 8 + }, /turf/open/floor/mineral/gold, /area/shuttle/escape/luxury) "ax" = ( @@ -203,7 +205,9 @@ /turf/open/floor/carpet, /area/shuttle/escape/luxury) "aM" = ( -/obj/machinery/computer/emergency_shuttle, +/obj/machinery/computer/emergency_shuttle{ + dir = 8 + }, /turf/open/floor/mineral/gold, /area/shuttle/escape/luxury) "aN" = ( @@ -282,7 +286,9 @@ /turf/open/floor/carpet, /area/shuttle/escape/luxury) "bc" = ( -/obj/machinery/computer/station_alert, +/obj/machinery/computer/station_alert{ + dir = 8 + }, /turf/open/floor/mineral/gold, /area/shuttle/escape/luxury) "bd" = ( @@ -292,7 +298,9 @@ /turf/open/floor/carpet, /area/shuttle/escape/luxury) "be" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 8 + }, /turf/open/floor/mineral/gold, /area/shuttle/escape/luxury) "bf" = ( @@ -432,7 +440,7 @@ aj aj aj aj -bn +bj aj aj ak @@ -691,7 +699,7 @@ bd aj aj bg -bq +bp ab "} (21,1,1) = {" @@ -747,12 +755,12 @@ ab al aj aq -bm +bk aw aM bc be -bo +bk aj aj ak diff --git a/_maps/shuttles/emergency_meta.dmm b/_maps/shuttles/emergency_meta.dmm index 0456b5cde9..629e45094e 100644 --- a/_maps/shuttles/emergency_meta.dmm +++ b/_maps/shuttles/emergency_meta.dmm @@ -230,7 +230,9 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "aB" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 4 + }, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aC" = ( @@ -247,7 +249,9 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "aF" = ( -/obj/machinery/computer/emergency_shuttle, +/obj/machinery/computer/emergency_shuttle{ + dir = 4 + }, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aG" = ( @@ -279,7 +283,9 @@ /turf/closed/wall/mineral/plastitanium, /area/shuttle/escape) "aL" = ( -/obj/machinery/computer/station_alert, +/obj/machinery/computer/station_alert{ + dir = 4 + }, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aM" = ( @@ -669,9 +675,7 @@ /turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/escape) "bM" = ( -/obj/structure/rack{ - dir = 1 - }, +/obj/structure/rack, /obj/item/tank/internals/oxygen/red, /obj/item/clothing/suit/fire/firefighter, /obj/item/clothing/mask/gas, @@ -1042,7 +1046,7 @@ bX aq aq aq -bZ +bX ap ad bh diff --git a/_maps/shuttles/emergency_meteor.dmm b/_maps/shuttles/emergency_meteor.dmm index 014649014e..77bf889e68 100644 --- a/_maps/shuttles/emergency_meteor.dmm +++ b/_maps/shuttles/emergency_meteor.dmm @@ -1,4 +1,4 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( /turf/open/space, /area/space) @@ -23,6 +23,7 @@ }) "e" = ( /obj/machinery/computer/emergency_shuttle{ + dir = 4; use_power = 0 }, /turf/open/floor/plating/asteroid, diff --git a/_maps/shuttles/emergency_mini.dmm b/_maps/shuttles/emergency_mini.dmm index 570b600743..4b04ad33a4 100644 --- a/_maps/shuttles/emergency_mini.dmm +++ b/_maps/shuttles/emergency_mini.dmm @@ -222,7 +222,9 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "J" = ( -/obj/machinery/computer/atmos_alert, +/obj/machinery/computer/atmos_alert{ + dir = 4 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "K" = ( @@ -246,15 +248,21 @@ /area/shuttle/escape) "N" = ( /turf/closed/wall/mineral/titanium, -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 8 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "O" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 4 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "P" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 8 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "Q" = ( @@ -268,7 +276,9 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "S" = ( -/obj/machinery/computer/emergency_shuttle, +/obj/machinery/computer/emergency_shuttle{ + dir = 1 + }, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "T" = ( @@ -481,7 +491,7 @@ b B b b -G +b b b b diff --git a/_maps/shuttles/emergency_narnar.dmm b/_maps/shuttles/emergency_narnar.dmm index 1a94ca7dd1..27d01e074c 100644 --- a/_maps/shuttles/emergency_narnar.dmm +++ b/_maps/shuttles/emergency_narnar.dmm @@ -34,7 +34,9 @@ /turf/open/floor/plasteel/cult, /area/shuttle/escape) "h" = ( -/obj/machinery/computer/atmos_alert, +/obj/machinery/computer/atmos_alert{ + dir = 4 + }, /turf/open/floor/plasteel/cult, /area/shuttle/escape) "i" = ( @@ -53,11 +55,15 @@ /turf/open/floor/plasteel/cult, /area/shuttle/escape) "l" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 8 + }, /turf/open/floor/plasteel/cult, /area/shuttle/escape) "m" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 4 + }, /turf/open/floor/plasteel/cult, /area/shuttle/escape) "n" = ( @@ -77,7 +83,9 @@ /turf/open/floor/plasteel/cult, /area/shuttle/escape) "p" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 8 + }, /turf/open/floor/plasteel/cult, /area/shuttle/escape) "q" = ( diff --git a/_maps/shuttles/emergency_pubby.dmm b/_maps/shuttles/emergency_pubby.dmm index de901a27ba..218a4f86a7 100644 --- a/_maps/shuttles/emergency_pubby.dmm +++ b/_maps/shuttles/emergency_pubby.dmm @@ -60,7 +60,9 @@ /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) "am" = ( -/obj/machinery/computer/atmos_alert, +/obj/machinery/computer/atmos_alert{ + dir = 4 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "an" = ( @@ -79,7 +81,9 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aq" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 8 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "ar" = ( @@ -99,11 +103,15 @@ /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) "au" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 4 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "av" = ( -/obj/machinery/computer/communications, +/obj/machinery/computer/communications{ + dir = 8 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "aw" = ( @@ -427,13 +435,13 @@ ab ab ab ab -bf +bd aI aL aL aL aT -bh +bd ab ab ab @@ -523,7 +531,7 @@ bc (10,1,1) = {" ab ab -be +bd aq av aA @@ -547,13 +555,13 @@ ab ab ab ab -bg +bd aI aK aK aK aT -bi +bd ab ab ab diff --git a/_maps/shuttles/emergency_raven.dmm b/_maps/shuttles/emergency_raven.dmm index 2b21ec0c97..b8a50524f3 100644 --- a/_maps/shuttles/emergency_raven.dmm +++ b/_maps/shuttles/emergency_raven.dmm @@ -1,24 +1,21 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( -/turf/open/space, /obj/machinery/porta_turret/centcom_shuttle{ dir = 9 }, -/turf/closed/wall/mineral/plastitanium{ - dir = 8; - icon_state = "diagonalWall3" - }, +/turf/closed/wall/mineral/plastitanium/interior, /area/shuttle/escape) "ab" = ( /obj/machinery/status_display, /turf/closed/wall/mineral/plastitanium/interior, /area/shuttle/escape) "ac" = ( -/obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters{ id = "shuttleshutters"; name = "blast shutters" }, +/obj/structure/grille, +/obj/structure/window/plastitanium, /turf/open/floor/plating, /area/shuttle/escape) "ad" = ( @@ -62,7 +59,9 @@ /turf/open/floor/plasteel/vault, /area/shuttle/escape) "am" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 4 + }, /turf/open/floor/plasteel/black, /area/shuttle/escape) "an" = ( @@ -84,7 +83,9 @@ }, /area/shuttle/escape) "aq" = ( -/obj/machinery/computer/station_alert, +/obj/machinery/computer/station_alert{ + dir = 8 + }, /turf/open/floor/plasteel/black, /area/shuttle/escape) "ar" = ( @@ -106,7 +107,9 @@ }, /area/shuttle/escape) "au" = ( -/obj/machinery/computer/secure_data, +/obj/machinery/computer/secure_data{ + dir = 4 + }, /turf/open/floor/plasteel/black, /area/shuttle/escape) "av" = ( @@ -138,7 +141,9 @@ }, /area/shuttle/escape) "aA" = ( -/obj/machinery/computer/atmos_alert, +/obj/machinery/computer/atmos_alert{ + dir = 8 + }, /turf/open/floor/plasteel/black, /area/shuttle/escape) "aB" = ( @@ -277,20 +282,20 @@ /area/shuttle/escape) "aT" = ( /obj/structure/table/reinforced, -/obj/item/storage/firstaid/toxin, /obj/item/storage/firstaid/o2{ pixel_x = 4; pixel_y = 4 }, +/obj/item/storage/firstaid/toxin, /turf/open/floor/plasteel/black, /area/shuttle/escape) "aU" = ( /obj/structure/table/reinforced, -/obj/item/storage/firstaid/fire, /obj/item/storage/firstaid/brute{ pixel_x = 3; pixel_y = 4 }, +/obj/item/storage/firstaid/fire, /turf/open/floor/plasteel/black, /area/shuttle/escape) "aV" = ( @@ -605,7 +610,9 @@ /turf/open/floor/plasteel/darkpurple/side, /area/shuttle/escape) "bC" = ( -/obj/machinery/computer/med_data, +/obj/machinery/computer/med_data{ + dir = 1 + }, /turf/open/floor/plasteel/darkpurple/side, /area/shuttle/escape) "bD" = ( @@ -639,15 +646,15 @@ /area/shuttle/escape) "bH" = ( /obj/structure/rack, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 3; - pixel_y = -6 - }, -/obj/item/storage/toolbox/emergency, /obj/item/storage/toolbox/electrical{ pixel_x = -2; pixel_y = 5 }, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 3; + pixel_y = -6 + }, /turf/open/floor/plasteel/darkgreen/side{ dir = 9; icon_state = "darkgreen" @@ -664,7 +671,8 @@ }, /area/shuttle/escape) "bJ" = ( -/obj/effect/spawner/structure/window/reinforced, +/obj/structure/grille, +/obj/structure/window/plastitanium, /turf/open/floor/plating, /area/shuttle/escape) "bK" = ( @@ -972,39 +980,14 @@ }, /area/shuttle/escape) "cr" = ( -/turf/open/space, /obj/machinery/porta_turret/centcom_shuttle{ dir = 5 }, -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, +/turf/closed/wall/mineral/plastitanium/interior, /area/shuttle/escape) "cs" = ( /turf/closed/wall/mineral/plastitanium/interior, /area/shuttle/escape) -"ct" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"cu" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/escape) -"cv" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/escape) -"cw" = ( -/turf/open/space, -/obj/machinery/porta_turret/centcom_shuttle{ - dir = 5 - }, -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/shuttle/escape) "cx" = ( /turf/open/space, /turf/closed/wall/mineral/plastitanium{ @@ -1037,30 +1020,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/shuttle/escape) -"cB" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"cC" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) "cD" = ( /turf/open/space, /turf/closed/wall/mineral/plastitanium{ icon_state = "diagonalWall3" }, /area/shuttle/escape) -"cE" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"cF" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"cG" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"cH" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) "cI" = ( /turf/open/space, /turf/closed/wall/mineral/plastitanium{ @@ -1068,381 +1033,18 @@ icon_state = "diagonalWall3" }, /area/shuttle/escape) -"cJ" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/escape) -"cK" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/escape) -"cL" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"cM" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"cN" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"cO" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"cP" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"cQ" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"cR" = ( -/turf/open/space, -/obj/machinery/porta_turret/centcom_shuttle{ - dir = 5 - }, -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/shuttle/escape) -"cS" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"cT" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"cU" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/escape) -"cV" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"cW" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"cX" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"cY" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"cZ" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/escape) -"da" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/escape) -"db" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/escape) -"dc" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/escape) -"dd" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"de" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/escape) -"df" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dg" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dh" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"di" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dj" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dk" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/escape) -"dl" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/escape) -"dm" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dn" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"do" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dp" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dq" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/escape) -"dr" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/escape) -"ds" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/escape) -"dt" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"du" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dv" = ( -/turf/open/space, -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/shuttle/escape) -"dw" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dx" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dy" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dz" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dA" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dB" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/escape) -"dC" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/escape) -"dD" = ( -/turf/open/space, -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/shuttle/escape) -"dE" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dF" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/escape) -"dG" = ( -/turf/open/space, -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, -/area/shuttle/escape) -"dH" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dI" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dJ" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dK" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dL" = ( -/turf/open/space, -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/shuttle/escape) -"dM" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dN" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dO" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dP" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dQ" = ( -/turf/open/space, -/obj/machinery/porta_turret/centcom_shuttle{ - dir = 5 - }, -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/shuttle/escape) -"dR" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dS" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dT" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dU" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dV" = ( -/turf/open/space, -/obj/machinery/porta_turret/centcom_shuttle{ - dir = 5 - }, -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/shuttle/escape) -"dW" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dX" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dY" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"dZ" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"ea" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"eb" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"ec" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"ed" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"ee" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"ef" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"eg" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"eh" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) "ei" = ( -/turf/open/space, /obj/machinery/porta_turret/centcom_shuttle{ dir = 10 }, -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, -/area/shuttle/escape) -"ej" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"ek" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"el" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"em" = ( /turf/closed/wall/mineral/plastitanium/interior, /area/shuttle/escape) "en" = ( -/turf/open/space, /obj/machinery/porta_turret/centcom_shuttle{ dir = 6 }, -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/shuttle/escape) -"eo" = ( /turf/closed/wall/mineral/plastitanium/interior, /area/shuttle/escape) -"ep" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"eq" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"er" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"es" = ( -/turf/open/space, -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, -/area/shuttle/escape) -"et" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"eu" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"ev" = ( -/turf/open/space, -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/shuttle/escape) -"ew" = ( -/turf/open/space, -/turf/closed/wall/mineral/plastitanium{ - dir = 8; - icon_state = "diagonalWall3" - }, -/area/shuttle/escape) -"ex" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"ey" = ( -/turf/closed/wall/mineral/plastitanium/interior, -/area/shuttle/escape) -"ez" = ( -/turf/open/space, -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/shuttle/escape) -"eA" = ( -/turf/open/space, -/obj/machinery/porta_turret/centcom_shuttle{ - dir = 5 - }, -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/shuttle/escape) "eB" = ( /obj/machinery/flasher{ id = "shuttleflash"; @@ -1489,22 +1091,10 @@ dir = 8 }, /area/shuttle/escape) -"eG" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/darkgreen/side{ - dir = 1 - }, -/area/shuttle/escape) "eH" = ( /obj/machinery/light, /turf/open/floor/plasteel/darkgreen/side, /area/shuttle/escape) -"eI" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/darkgreen/side, -/area/shuttle/escape) "eJ" = ( /obj/machinery/button/flasher{ id = "cockpit_flasher"; @@ -1514,30 +1104,6 @@ /obj/machinery/light, /turf/open/floor/mineral/titanium/blue, /area/space) -"eK" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/darkgreen/side{ - dir = 1 - }, -/area/shuttle/escape) -"eL" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/darkgreen/side{ - dir = 1 - }, -/area/shuttle/escape) -"eM" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/darkgreen/side{ - dir = 1 - }, -/area/shuttle/escape) "eN" = ( /obj/machinery/light{ dir = 4 @@ -1547,62 +1113,44 @@ }, /area/shuttle/escape) "eO" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/darkgreen/side{ - dir = 8 - }, +/obj/machinery/status_display, +/turf/closed/wall/mineral/plastitanium/nodiagonal, /area/shuttle/escape) "eP" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/darkgreen/side, +/turf/closed/wall/mineral/plastitanium/nodiagonal, /area/shuttle/escape) "eQ" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/darkgreen/side{ - dir = 4 - }, -/area/shuttle/escape) -"eR" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/darkgreen/side, -/area/shuttle/escape) -"eS" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/darkgreen/side, -/area/shuttle/escape) +/turf/open/space/basic, +/area/space) (1,1,1) = {" aa cs ac ac -cD +cs ad aa -cu -cu +bJ +bJ cs -cu -cu +bJ +bJ bs cs bE -cu -cu -cD +bJ +bJ +cs ad aa bs -cu +bJ bs cs -cu +bJ cs -cu +bJ ei ad ad @@ -1629,17 +1177,17 @@ bK bM cs ad -cu +bJ bF be be -eO +eF be be cd -cu +bJ ad -cx +cs ar co "} @@ -1686,25 +1234,25 @@ ar aJ ar cs -cu -cu -cu -cu +bJ +bJ +bJ +bJ cs -ar -eG +eP +eE aC eH ar bT bo -eK +eE bZ ca aC bZ ca -eR +eH ab ch ar @@ -1788,25 +1336,25 @@ ar aM ar cs -cu -cu -ab +bJ +bJ +eO br bz -bo +eO cs bL bP ar bU bo -eL +eE bZ ca aC bZ ca -eS +eH ab ci ar @@ -1830,7 +1378,7 @@ bz cs bH bG -eI +eH cs cs cs @@ -1867,7 +1415,7 @@ aZ bQ cs ad -cu +bJ bW aZ bq @@ -1875,9 +1423,9 @@ aC by aZ ce -cu +bJ ad -cy +cs ar co "} @@ -1885,8 +1433,8 @@ co cr cs ac -cA -cI +ac +cs ad cr cs @@ -1896,19 +1444,19 @@ ar br bz ar -cu -cu -cu -cI +bJ +bJ +bJ +cs ad cr -cu -cs +bJ +eP br aC bz -cs -cu +eP +bJ en ad ad @@ -1937,11 +1485,11 @@ ad ad ad ad -cu +bJ cb aC cc -cu +bJ ad ad ad @@ -1952,15 +1500,15 @@ ad (12,1,1) = {" ad ad -cx cs -cu cs -cu -cu -cu +bJ cs -bo +bJ +bJ +bJ +cs +eO bt bA bo @@ -1971,14 +1519,14 @@ ad aa cs cs -cs -eM +eP +eE aC +eH eP cs cs cs -cD ad ad ad @@ -1997,10 +1545,10 @@ bl bp bu bA -cu -ad -ad +bJ ad +eQ +eQ ad cs bV @@ -2019,11 +1567,11 @@ ad "} (14,1,1) = {" ad -cu +bJ as aC aC -cu +bJ aT aC bh @@ -2031,12 +1579,12 @@ bh aC bv bB -cu +bJ ad +eQ +eQ ad -eJ -ad -cu +bJ br bX bX @@ -2046,18 +1594,18 @@ bX bX bX bz -cu +bJ ad ad ad "} (15,1,1) = {" ad -cu +bJ at aD aC -cu +bJ aU aC aC @@ -2065,12 +1613,12 @@ aC aC aC bC -cu +bJ ad +eQ +eQ ad -ad -ad -cu +bJ br bY bY @@ -2080,7 +1628,7 @@ bY bY bY bz -cu +bJ ad ad ad @@ -2099,10 +1647,10 @@ bm bi bm ar -cI -ad -ad +cs ad +eQ +eQ ad cs bW @@ -2110,7 +1658,7 @@ aZ aZ eN aZ -eQ +eN aZ aZ ce @@ -2122,17 +1670,17 @@ ad (17,1,1) = {" ad ad -cy -cs -cu cs cs -cu -cu -cu -cu +bJ +cs +cs +bJ +bJ +bJ +bJ +cs cs -cI ad ad ad @@ -2140,15 +1688,15 @@ ad ad cr cs -cu -cu +bJ +bJ ab -cu +bJ ab -cu -cu +bJ +bJ +cs cs -cI ad ad ad diff --git a/_maps/shuttles/emergency_russiafightpit.dmm b/_maps/shuttles/emergency_russiafightpit.dmm index 201639f8e2..11032de9a4 100644 --- a/_maps/shuttles/emergency_russiafightpit.dmm +++ b/_maps/shuttles/emergency_russiafightpit.dmm @@ -37,7 +37,9 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "ai" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 4 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "aj" = ( @@ -63,7 +65,9 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "an" = ( -/obj/machinery/computer/security, +/obj/machinery/computer/security{ + dir = 4 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "ao" = ( diff --git a/_maps/shuttles/emergency_scrapheap.dmm b/_maps/shuttles/emergency_scrapheap.dmm index 09360fab60..5469634f6e 100644 --- a/_maps/shuttles/emergency_scrapheap.dmm +++ b/_maps/shuttles/emergency_scrapheap.dmm @@ -34,7 +34,9 @@ /turf/open/floor/carpet, /area/shuttle/escape) "ai" = ( -/obj/machinery/computer/atmos_alert, +/obj/machinery/computer/atmos_alert{ + dir = 4 + }, /turf/open/floor/carpet, /area/shuttle/escape) "aj" = ( @@ -57,7 +59,9 @@ /turf/open/floor/carpet, /area/shuttle/escape) "am" = ( -/obj/machinery/computer/crew, +/obj/machinery/computer/crew{ + dir = 4 + }, /turf/open/floor/carpet, /area/shuttle/escape) "an" = ( diff --git a/_maps/shuttles/emergency_supermatter.dmm b/_maps/shuttles/emergency_supermatter.dmm index 78201f2a25..d811b8c350 100644 --- a/_maps/shuttles/emergency_supermatter.dmm +++ b/_maps/shuttles/emergency_supermatter.dmm @@ -295,7 +295,9 @@ /turf/open/floor/plating/airless, /area/shuttle/escape) "bd" = ( -/obj/machinery/computer/emergency_shuttle, +/obj/machinery/computer/emergency_shuttle{ + dir = 1 + }, /turf/open/floor/plating/airless, /area/shuttle/escape) "be" = ( diff --git a/_maps/shuttles/emergency_wabbajack.dmm b/_maps/shuttles/emergency_wabbajack.dmm index fe5618f48c..dc532bbcbd 100644 --- a/_maps/shuttles/emergency_wabbajack.dmm +++ b/_maps/shuttles/emergency_wabbajack.dmm @@ -128,7 +128,9 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "az" = ( -/obj/machinery/computer/emergency_shuttle, +/obj/machinery/computer/emergency_shuttle{ + dir = 1 + }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) "aA" = ( diff --git a/_maps/shuttles/ferry_base.dmm b/_maps/shuttles/ferry_base.dmm index 0519dad64f..fe69b37196 100644 --- a/_maps/shuttles/ferry_base.dmm +++ b/_maps/shuttles/ferry_base.dmm @@ -34,7 +34,9 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/transport) "i" = ( -/obj/machinery/computer/shuttle/ferry/request, +/obj/machinery/computer/shuttle/ferry/request{ + dir = 8 + }, /turf/open/floor/mineral/titanium/blue, /area/shuttle/transport) "j" = ( diff --git a/_maps/shuttles/ferry_lighthouse.dmm b/_maps/shuttles/ferry_lighthouse.dmm index a170714543..3fd0d687e6 100644 --- a/_maps/shuttles/ferry_lighthouse.dmm +++ b/_maps/shuttles/ferry_lighthouse.dmm @@ -42,7 +42,9 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/transport) "al" = ( -/obj/machinery/computer/shuttle/ferry/request, +/obj/machinery/computer/shuttle/ferry/request{ + dir = 8 + }, /turf/open/floor/mineral/titanium/blue, /area/shuttle/transport) "am" = ( diff --git a/_maps/shuttles/ferry_meat.dmm b/_maps/shuttles/ferry_meat.dmm index bb21220f03..2670fbff8b 100644 --- a/_maps/shuttles/ferry_meat.dmm +++ b/_maps/shuttles/ferry_meat.dmm @@ -25,7 +25,9 @@ /turf/open/floor/plasteel/freezer, /area/shuttle/transport) "g" = ( -/obj/machinery/computer/shuttle/ferry/request, +/obj/machinery/computer/shuttle/ferry/request{ + dir = 8 + }, /turf/open/floor/plasteel/freezer, /area/shuttle/transport) "h" = ( diff --git a/_maps/shuttles/whiteship_box.dmm b/_maps/shuttles/whiteship_box.dmm index 852b124726..c80262a93a 100644 --- a/_maps/shuttles/whiteship_box.dmm +++ b/_maps/shuttles/whiteship_box.dmm @@ -90,6 +90,7 @@ /area/shuttle/abandoned) "ar" = ( /obj/machinery/computer/pod{ + dir = 8; id = "oldship_gun" }, /turf/open/floor/mineral/titanium, @@ -168,7 +169,8 @@ /area/shuttle/abandoned) "aH" = ( /obj/structure/frame/computer{ - anchored = 1 + anchored = 1; + dir = 1 }, /obj/structure/light_construct, /turf/open/floor/mineral/titanium, @@ -230,7 +232,9 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "aT" = ( -/obj/machinery/computer/shuttle/white_ship, +/obj/machinery/computer/shuttle/white_ship{ + dir = 8 + }, /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "aU" = ( @@ -272,7 +276,8 @@ /area/shuttle/abandoned) "bb" = ( /obj/structure/frame/computer{ - anchored = 1 + anchored = 1; + dir = 8 }, /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) diff --git a/_maps/shuttles/whiteship_cere.dmm b/_maps/shuttles/whiteship_cere.dmm index c735cf8cff..57f33f3963 100644 --- a/_maps/shuttles/whiteship_cere.dmm +++ b/_maps/shuttles/whiteship_cere.dmm @@ -130,7 +130,9 @@ /turf/open/floor/mech_bay_recharge_floor, /area/shuttle/abandoned) "ao" = ( -/obj/machinery/computer/mech_bay_power_console, +/obj/machinery/computer/mech_bay_power_console{ + dir = 4 + }, /obj/effect/decal/cleanable/dirt{ desc = "A thin layer of dust coating the floor."; name = "dust" @@ -138,7 +140,9 @@ /turf/open/floor/mineral/titanium/yellow, /area/shuttle/abandoned) "ap" = ( -/obj/machinery/computer/mech_bay_power_console, +/obj/machinery/computer/mech_bay_power_console{ + dir = 8 + }, /turf/open/floor/mineral/titanium/yellow, /area/shuttle/abandoned) "aq" = ( @@ -596,7 +600,9 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/abandoned) "ba" = ( -/obj/machinery/computer/shuttle/white_ship, +/obj/machinery/computer/shuttle/white_ship{ + dir = 1 + }, /obj/effect/decal/cleanable/dirt{ desc = "A thin layer of dust coating the floor."; name = "dust" diff --git a/_maps/shuttles/whiteship_delta.dmm b/_maps/shuttles/whiteship_delta.dmm new file mode 100644 index 0000000000..31512ffb18 --- /dev/null +++ b/_maps/shuttles/whiteship_delta.dmm @@ -0,0 +1,2805 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/open/space/basic, +/area/space) +"ab" = ( +/obj/structure/shuttle/engine/propulsion{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/shuttle/abandoned) +"ac" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/abandoned) +"ad" = ( +/obj/machinery/door/airlock/titanium{ + cyclelinkeddir = 2; + name = "External Airlock" + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"ae" = ( +/turf/closed/wall/mineral/titanium, +/area/shuttle/abandoned) +"af" = ( +/obj/structure/shuttle/engine/heater{ + dir = 1 + }, +/obj/structure/window/reinforced, +/turf/open/floor/plating/airless, +/area/shuttle/abandoned) +"ag" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/light/small{ + brightness = 3; + dir = 8 + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"ah" = ( +/obj/structure/sign/vacuum, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/abandoned) +"ai" = ( +/obj/structure/window/reinforced, +/obj/structure/shuttle/engine/heater{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/shuttle/abandoned) +"aj" = ( +/obj/structure/closet/firecloset/full, +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"ak" = ( +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/structure/reagent_dispensers/watertank/high, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"al" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/greenblue/side{ + dir = 1 + }, +/area/shuttle/abandoned) +"am" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/circuitboard/machine/hydroponics, +/turf/open/floor/plasteel/greenblue/side{ + dir = 5 + }, +/area/shuttle/abandoned) +"an" = ( +/obj/machinery/door/airlock/titanium{ + cyclelinkeddir = 1; + glass = 1; + name = "Internal Airlock" + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"ao" = ( +/obj/structure/closet/secure_closet/freezer/kitchen/mining, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/flour, +/turf/open/floor/plasteel/greenblue/side{ + dir = 9 + }, +/area/shuttle/abandoned) +"ap" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/greenblue/side{ + dir = 1 + }, +/area/shuttle/abandoned) +"aq" = ( +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"ar" = ( +/obj/structure/closet/emcloset, +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/effect/decal/cleanable/oil, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"as" = ( +/obj/structure/closet/crate{ + name = "emergency supplies crate" + }, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, +/obj/item/device/flashlight/flare{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/device/flashlight/flare{ + pixel_x = -6; + pixel_y = -2 + }, +/obj/item/crowbar, +/obj/item/wrench, +/obj/effect/spawner/lootdrop/maintenance, +/obj/item/extinguisher, +/obj/item/extinguisher, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct/small{ + dir = 8 + }, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"at" = ( +/obj/effect/decal/cleanable/oil, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/storage/box/hug/medical, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"au" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/door/airlock/glass_maintenance{ + name = "Maintenance" + }, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"av" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"aw" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/green/corner{ + dir = 4 + }, +/area/shuttle/abandoned) +"ax" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/blue/corner{ + dir = 1 + }, +/area/shuttle/abandoned) +"ay" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"az" = ( +/obj/structure/sink/kitchen{ + pixel_z = 30 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/green/corner{ + dir = 4 + }, +/area/shuttle/abandoned) +"aA" = ( +/obj/machinery/door/airlock/glass_maintenance{ + name = "Maintenance" + }, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"aB" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"aC" = ( +/obj/structure/closet/crate{ + name = "spare equipment crate" + }, +/obj/item/grenade/chem_grenade/metalfoam, +/obj/item/relic, +/obj/item/device/t_scanner, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct/small{ + dir = 4 + }, +/obj/item/storage/box/lights/mixed, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"aD" = ( +/obj/machinery/vending/hydroseeds, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/greenblue/side, +/area/shuttle/abandoned) +"aE" = ( +/obj/structure/closet/crate/hydroponics, +/obj/item/stack/sheet/metal/fifty, +/obj/item/circuitboard/machine/hydroponics, +/obj/item/circuitboard/machine/gibber, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/green/corner{ + dir = 8 + }, +/area/shuttle/abandoned) +"aF" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/stack/cable_coil/random, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"aG" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/blue/corner, +/area/shuttle/abandoned) +"aH" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/greenblue/side, +/area/shuttle/abandoned) +"aI" = ( +/obj/structure/closet/wardrobe, +/obj/item/clothing/under/trek/command/next, +/obj/item/clothing/under/trek/command/next, +/obj/item/clothing/under/trek/engsec/next, +/obj/item/clothing/under/trek/engsec/next, +/obj/item/clothing/under/trek/medsci/next, +/obj/item/clothing/under/trek/medsci/next, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/shoes/jackboots, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/spawner/lootdrop/costume, +/obj/item/clothing/under/rank/centcom_commander{ + desc = "A badge on the arm indicates that it's meant to be worn by CentCom recovery teams. This one seems dusty and clearly hasn't been cleaned in some time."; + name = "\improper dusty old CentCom jumpsuit" + }, +/obj/item/clothing/under/rank/centcom_officer{ + desc = "A badge on the arm indicates that it's meant to be worn by CentCom recovery teams. This one seems dusty and clearly hasn't been cleaned in some time."; + name = "\improper dusty old CentCom jumpsuit" + }, +/obj/item/clothing/under/rank/centcom_officer{ + desc = "A badge on the arm indicates that it's meant to be worn by CentCom recovery teams. This one seems dusty and clearly hasn't been cleaned in some time."; + name = "\improper dusty old CentCom jumpsuit" + }, +/obj/item/clothing/head/centhat{ + desc = "There's a gouge through the top where something has clawed clean through it. Whoever was wearing it probably doesn't need a hat any more."; + name = "\improper damaged CentCom hat" + }, +/turf/open/floor/plasteel/barber, +/area/shuttle/abandoned) +"aJ" = ( +/obj/structure/reagent_dispensers/beerkeg, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/barber, +/area/shuttle/abandoned) +"aK" = ( +/obj/item/storage/bag/plants/portaseeder, +/obj/structure/table, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_x = 13; + pixel_y = 5 + }, +/obj/item/reagent_containers/glass/bottle/nutrient/ez, +/obj/item/reagent_containers/glass/bottle/nutrient/ez, +/obj/item/reagent_containers/glass/bottle/nutrient/ez, +/obj/item/reagent_containers/glass/bottle/nutrient/rh{ + pixel_x = -2; + pixel_y = 3 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/greenblue/side{ + dir = 8 + }, +/area/shuttle/abandoned) +"aL" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/reagent_containers/glass/bucket, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"aM" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/greenblue/side{ + dir = 4 + }, +/area/shuttle/abandoned) +"aN" = ( +/obj/item/soap, +/obj/structure/curtain, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/shower{ + pixel_y = 15 + }, +/turf/open/floor/plasteel/freezer, +/area/shuttle/abandoned) +"aO" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/barber, +/area/shuttle/abandoned) +"aP" = ( +/obj/structure/table, +/obj/item/storage/pill_bottle/dice, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/barber, +/area/shuttle/abandoned) +"aQ" = ( +/obj/structure/table, +/obj/item/wrench, +/obj/item/crowbar, +/obj/item/clothing/suit/apron, +/obj/item/shovel/spade, +/obj/item/cultivator, +/obj/item/device/plant_analyzer, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/wirecutters, +/turf/open/floor/plasteel/blue/corner{ + dir = 1 + }, +/area/shuttle/abandoned) +"aR" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/storage/box/donkpockets, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"aS" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 4 + }, +/obj/structure/table, +/obj/machinery/microwave, +/turf/open/floor/plasteel/green/corner{ + dir = 4 + }, +/area/shuttle/abandoned) +"aT" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct/small{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/toilet{ + dir = 8 + }, +/turf/open/floor/plasteel/freezer, +/area/shuttle/abandoned) +"aU" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct/small{ + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/shuttle/abandoned) +"aV" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/mopbucket, +/turf/open/floor/plasteel/greenblue/side{ + dir = 9 + }, +/area/shuttle/abandoned) +"aW" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral/corner{ + dir = 8 + }, +/area/shuttle/abandoned) +"aX" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"aY" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral/corner, +/area/shuttle/abandoned) +"aZ" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/door/airlock{ + name = "Laborotary" + }, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"ba" = ( +/obj/structure/table, +/obj/structure/bedsheetbin, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 8 + }, +/turf/open/floor/plasteel/greenblue/side{ + dir = 10 + }, +/area/shuttle/abandoned) +"bb" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/toy/cards/deck, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"bc" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"bd" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/door/airlock{ + glass = 1; + name = "Dormitory"; + opacity = 0 + }, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"be" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 8; + heat_capacity = 1e+006 + }, +/area/shuttle/abandoned) +"bf" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/gun/energy/floragun, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"bg" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 4 + }, +/area/shuttle/abandoned) +"bh" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 1 + }, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"bi" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/bed, +/turf/open/floor/plasteel/greenblue/side{ + dir = 10 + }, +/area/shuttle/abandoned) +"bj" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/mop, +/turf/open/floor/plasteel/greenblue/side, +/area/shuttle/abandoned) +"bk" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/device/gps{ + gpstag = "ITVSAC"; + pixel_x = -1; + pixel_y = 2 + }, +/obj/effect/decal/cleanable/blood/gibs/limb, +/turf/open/floor/plasteel/neutral/corner{ + dir = 1 + }, +/area/shuttle/abandoned) +"bl" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/light, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"bm" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral/corner{ + dir = 4 + }, +/area/shuttle/abandoned) +"bn" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12 + }, +/obj/structure/mirror{ + pixel_x = -30 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"bo" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/bikehorn/rubberducky, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"bp" = ( +/obj/structure/urinal{ + pixel_x = 30; + pixel_y = 0 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"bq" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"br" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/door/airlock{ + glass = 1; + name = "Crew Quarters"; + opacity = 0 + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 1 + }, +/area/shuttle/abandoned) +"bs" = ( +/obj/machinery/vending/boozeomat, +/turf/closed/wall/mineral/titanium, +/area/shuttle/abandoned) +"bt" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 1 + }, +/area/shuttle/abandoned) +"bu" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/latex/nitrile, +/obj/item/clothing/mask/surgical, +/obj/item/clothing/suit/apron/surgical, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 9 + }, +/area/shuttle/abandoned) +"bv" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 1 + }, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 1 + }, +/area/shuttle/abandoned) +"bw" = ( +/obj/structure/closet/crate/freezer/blood, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 5 + }, +/area/shuttle/abandoned) +"bx" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/table, +/obj/item/clothing/head/helmet/swat/nanotrasen, +/turf/open/floor/plasteel/bot, +/area/shuttle/abandoned) +"by" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/light/built{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"bz" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/table, +/obj/item/clothing/gloves/color/black, +/turf/open/floor/plasteel/bot, +/area/shuttle/abandoned) +"bA" = ( +/obj/structure/table/optable, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/defibrillator/loaded, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 8 + }, +/area/shuttle/abandoned) +"bB" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/reagent_containers/spray/cleaner, +/turf/open/floor/plasteel/white, +/area/shuttle/abandoned) +"bC" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/storage/backpack/duffelbag/med/surgery, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 4 + }, +/area/shuttle/abandoned) +"bD" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 8 + }, +/obj/structure/table, +/obj/item/clothing/suit/armor/vest, +/turf/open/floor/plasteel/bot, +/area/shuttle/abandoned) +"bE" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 4 + }, +/obj/structure/table, +/obj/item/gun/energy/e_gun/mini, +/turf/open/floor/plasteel/bot, +/area/shuttle/abandoned) +"bF" = ( +/obj/machinery/light/small{ + brightness = 3; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral/side, +/area/shuttle/abandoned) +"bG" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/robot_debris, +/turf/open/floor/plasteel/neutral/side, +/area/shuttle/abandoned) +"bH" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/bot, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plasteel/neutral/corner{ + dir = 8 + }, +/area/shuttle/abandoned) +"bI" = ( +/obj/structure/sign/vacuum, +/turf/closed/wall/mineral/titanium, +/area/shuttle/abandoned) +"bJ" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/frame/computer, +/obj/item/circuitboard/computer/operating, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 8 + }, +/area/shuttle/abandoned) +"bK" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/vomit/old, +/turf/open/floor/plasteel/white, +/area/shuttle/abandoned) +"bL" = ( +/obj/machinery/sleeper{ + icon_state = "sleeper-open"; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/whiteblue/corner{ + dir = 4 + }, +/area/shuttle/abandoned) +"bM" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/arrival/corner{ + dir = 8 + }, +/area/shuttle/abandoned) +"bN" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/clothing/suit/armor/vest, +/obj/effect/decal/cleanable/blood/gibs/body, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"bO" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/crowbar/red, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"bP" = ( +/obj/machinery/door/airlock/titanium{ + cyclelinkeddir = 4; + glass = 1; + name = "Internal Airlock" + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 4 + }, +/area/shuttle/abandoned) +"bQ" = ( +/obj/machinery/door/airlock/titanium{ + cyclelinkeddir = 8; + name = "External Airlock" + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"bR" = ( +/obj/machinery/iv_drip, +/obj/machinery/vending/wallmed{ + name = "Emergency NanoMed"; + pixel_x = -28; + req_access_txt = "0"; + use_power = 0 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 8 + }, +/area/shuttle/abandoned) +"bS" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/stack/cable_coil/random, +/turf/open/floor/plasteel/white, +/area/shuttle/abandoned) +"bT" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/white, +/area/shuttle/abandoned) +"bU" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/door/airlock/glass_medical{ + id_tag = null; + name = "Infirmary"; + req_access_txt = "0" + }, +/turf/open/floor/plasteel/white, +/area/shuttle/abandoned) +"bV" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/arrival{ + dir = 8 + }, +/area/shuttle/abandoned) +"bW" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"bX" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/clothing/head/helmet/swat/nanotrasen, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"bY" = ( +/obj/structure/grille, +/obj/structure/window/shuttle, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"bZ" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/whiteblue/side{ + dir = 10 + }, +/area/shuttle/abandoned) +"ca" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct, +/turf/open/floor/plasteel/whiteblue/side, +/area/shuttle/abandoned) +"cb" = ( +/obj/structure/closet/secure_closet/medical2{ + req_access = null + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/clothing/glasses/hud/health/sunglasses, +/turf/open/floor/plasteel/whiteblue/side, +/area/shuttle/abandoned) +"cc" = ( +/obj/structure/sign/bluecross_2, +/turf/closed/wall/mineral/titanium, +/area/shuttle/abandoned) +"cd" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/arrival/corner{ + dir = 1 + }, +/area/shuttle/abandoned) +"ce" = ( +/obj/structure/sign/engineering, +/turf/closed/wall/mineral/titanium, +/area/shuttle/abandoned) +"cf" = ( +/obj/machinery/autolathe, +/obj/effect/decal/cleanable/oil, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"cg" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/tank_dispenser, +/turf/open/floor/plasteel/neutral/side{ + dir = 8; + heat_capacity = 1e+006 + }, +/area/shuttle/abandoned) +"ch" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/bot, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"ci" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"cj" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/blood/gibs/down, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"ck" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"cl" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/closet/crate/science, +/obj/effect/decal/cleanable/leaper_sludge, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"cm" = ( +/obj/structure/closet/crate/engineering, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/rglass{ + amount = 20 + }, +/obj/item/stack/sheet/mineral/titanium/fifty, +/turf/open/floor/plasteel/yellow/corner, +/area/shuttle/abandoned) +"cn" = ( +/obj/structure/table, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/rglass{ + amount = 20 + }, +/obj/item/clothing/head/welding, +/obj/structure/light_construct{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"co" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel/neutral/side{ + dir = 8; + heat_capacity = 1e+006 + }, +/area/shuttle/abandoned) +"cp" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"cq" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/stack/cable_coil/random, +/turf/open/floor/plasteel/whitepurple/side{ + dir = 9 + }, +/area/shuttle/abandoned) +"cr" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 1 + }, +/turf/open/floor/plasteel/whitepurple/side{ + dir = 1 + }, +/area/shuttle/abandoned) +"cs" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plasteel/whitepurple/side{ + dir = 1 + }, +/area/shuttle/abandoned) +"ct" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/purple/corner{ + dir = 8 + }, +/area/shuttle/abandoned) +"cu" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/paper/crumpled/bloody{ + info = "Your vessel will be transporting artifact E-395 to our nearby research station. Under no circumstances is the container to be opened. Half of the payment will be given now, rest upon completion. In the event of containment breach--" + }, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"cv" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/blood/gibs/limb, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"cw" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/yellow/side{ + dir = 4 + }, +/area/shuttle/abandoned) +"cx" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/door/airlock/glass_engineering{ + name = "Engineering Storage" + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 4 + }, +/area/shuttle/abandoned) +"cy" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/clothing/head/welding, +/turf/open/floor/plasteel/neutral/side{ + dir = 8; + heat_capacity = 1e+006 + }, +/area/shuttle/abandoned) +"cz" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/whitepurple/side{ + dir = 8 + }, +/area/shuttle/abandoned) +"cA" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/door/airlock/research{ + glass = 1; + name = "Research Lab" + }, +/turf/open/floor/plasteel/white, +/area/shuttle/abandoned) +"cB" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/purple/side{ + dir = 8 + }, +/area/shuttle/abandoned) +"cC" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/clothing/gloves/color/black, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"cD" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/greenglow, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"cE" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/airlock_painter, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/yellow/corner{ + dir = 4 + }, +/area/shuttle/abandoned) +"cF" = ( +/obj/structure/closet/toolcloset, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"cG" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/stack/rods/twentyfive, +/turf/open/floor/plasteel/neutral/side{ + dir = 8; + heat_capacity = 1e+006 + }, +/area/shuttle/abandoned) +"cH" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/obj/structure/light_construct/small, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"cI" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/frame/computer, +/obj/item/stock_parts/console_screen, +/turf/open/floor/plasteel/whitepurple/side{ + dir = 8 + }, +/area/shuttle/abandoned) +"cJ" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/circuitboard/machine/circuit_imprinter, +/turf/open/floor/plasteel/white, +/area/shuttle/abandoned) +"cK" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/frame/machine, +/turf/open/floor/plasteel/whitepurple/corner, +/area/shuttle/abandoned) +"cL" = ( +/obj/structure/sign/science, +/turf/closed/wall/mineral/titanium, +/area/shuttle/abandoned) +"cM" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 8 + }, +/turf/open/floor/plasteel/purple/corner{ + dir = 1 + }, +/area/shuttle/abandoned) +"cN" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" + }, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" + }, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"cO" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"cP" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/frame/machine, +/turf/open/floor/plasteel/whitepurple/side{ + dir = 8 + }, +/area/shuttle/abandoned) +"cQ" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/frame/machine, +/turf/open/floor/plasteel/whitepurple/side{ + dir = 4 + }, +/area/shuttle/abandoned) +"cR" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plating, +/area/shuttle/abandoned) +"cS" = ( +/obj/machinery/door/airlock/titanium{ + cyclelinkeddir = 8; + name = "External Airlock" + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/docking_port/mobile{ + dheight = 0; + dir = 8; + dwidth = 11; + height = 15; + id = "whiteship"; + launch_status = 0; + name = "White-Ship"; + port_direction = 8; + preferred_direction = 8; + roundstart_move = "whiteship_away"; + timid = 1; + width = 32 + }, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"cT" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/whitepurple/side{ + dir = 10 + }, +/area/shuttle/abandoned) +"cU" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct, +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/plasteel/whitepurple/side, +/area/shuttle/abandoned) +"cV" = ( +/obj/structure/closet/crate/science{ + name = "spare circuit boards crate" + }, +/obj/item/circuitboard/computer/rdconsole, +/obj/item/circuitboard/machine/protolathe, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/reagent_containers/glass/beaker/sulphuric, +/turf/open/floor/plasteel/whitepurple/side{ + dir = 6 + }, +/area/shuttle/abandoned) +"cW" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/light/built, +/turf/open/floor/plasteel/blue/side, +/area/shuttle/abandoned) +"cX" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/blue/corner{ + dir = 8 + }, +/area/shuttle/abandoned) +"cY" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plasteel, +/area/shuttle/abandoned) +"cZ" = ( +/obj/machinery/light/small{ + brightness = 3; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 1 + }, +/area/shuttle/abandoned) +"da" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/turf_decal/bot, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plasteel/neutral/corner{ + dir = 1 + }, +/area/shuttle/abandoned) +"db" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/door/airlock/glass_command{ + name = "Bridge"; + welded = 1 + }, +/turf/open/floor/plasteel/neutral/side, +/area/shuttle/abandoned) +"dc" = ( +/obj/structure/table, +/obj/machinery/recharger, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/cobweb, +/obj/item/stack/spacecash/c1000, +/obj/item/stack/spacecash/c1000, +/turf/open/floor/plasteel/blue/side{ + dir = 9 + }, +/area/shuttle/abandoned) +"dd" = ( +/obj/structure/closet/crate, +/obj/item/paper_bin, +/obj/item/stack/sheet/metal/twenty, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/clothing/under/gimmick/rank/captain/suit, +/turf/open/floor/plasteel/blue/corner{ + dir = 1 + }, +/area/shuttle/abandoned) +"de" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/device/megaphone, +/turf/open/floor/plasteel/blue/corner{ + dir = 4 + }, +/area/shuttle/abandoned) +"df" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/light/built{ + dir = 1 + }, +/turf/open/floor/plasteel/blue/side{ + dir = 1 + }, +/area/shuttle/abandoned) +"dg" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/table, +/obj/item/stack/cable_coil/random, +/turf/open/floor/plasteel/blue/corner{ + dir = 4 + }, +/area/shuttle/abandoned) +"dh" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/table, +/obj/item/device/camera, +/turf/open/floor/plasteel/blue/side{ + dir = 5 + }, +/area/shuttle/abandoned) +"di" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 8 + }, +/obj/item/phone, +/turf/open/floor/plasteel/blue/side{ + dir = 8 + }, +/area/shuttle/abandoned) +"dj" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/decal/cleanable/blood/gibs/torso, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"dk" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/shard, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"dl" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/light_construct{ + dir = 4 + }, +/turf/open/floor/plasteel/blue/side{ + dir = 4 + }, +/area/shuttle/abandoned) +"dm" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/blue/side{ + dir = 10 + }, +/area/shuttle/abandoned) +"dn" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/pen/fountain/captain, +/turf/open/floor/plasteel/neutral/side{ + dir = 5 + }, +/area/shuttle/abandoned) +"do" = ( +/obj/structure/chair/comfy/black, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral, +/area/shuttle/abandoned) +"dp" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/neutral/side{ + dir = 9 + }, +/area/shuttle/abandoned) +"dq" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/storage/photo_album, +/turf/open/floor/plasteel/blue/corner, +/area/shuttle/abandoned) +"dr" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/blue/side{ + dir = 6 + }, +/area/shuttle/abandoned) +"ds" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/item/storage/fancy/cigarettes/cigars/cohiba, +/turf/open/floor/plasteel/blue/side{ + dir = 10 + }, +/area/shuttle/abandoned) +"dt" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/machinery/computer/camera_advanced/shuttle_docker/whiteship{ + dir = 1; + x_offset = -7; + y_offset = -8 + }, +/turf/open/floor/plasteel/blue/side, +/area/shuttle/abandoned) +"du" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/table, +/obj/item/device/pda/clear, +/turf/open/floor/plasteel/blue/side, +/area/shuttle/abandoned) +"dv" = ( +/obj/machinery/computer/shuttle/white_ship{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/blue/side, +/area/shuttle/abandoned) +"dw" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/structure/table, +/obj/item/device/radio, +/turf/open/floor/plasteel/blue/side, +/area/shuttle/abandoned) +"dx" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/blue/side, +/area/shuttle/abandoned) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +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 +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +bq +bq +ae +ae +ae +ae +bq +bq +bq +ae +ae +aa +aa +aa +aa +aa +aa +"} +(8,1,1) = {" +aa +ab +af +aj +as +ae +aI +aO +aV +ba +bi +ae +bu +bA +bJ +bR +bZ +ae +cq +cz +cI +cP +cT +ae +aa +aa +aa +aa +aa +aa +"} +(9,1,1) = {" +aa +ab +af +ak +at +ae +aJ +aO +ap +bb +aH +ae +bv +bB +bK +bS +ca +ae +cr +bT +cJ +bT +cU +ae +ae +ae +bq +bq +aa +aa +"} +(10,1,1) = {" +aa +aa +ae +ae +au +ac +ac +aP +ap +bc +bj +ae +bw +bC +bL +bT +cb +ae +cs +bT +cK +cQ +cV +ae +dc +di +dm +bq +bq +aa +"} +(11,1,1) = {" +aa +aa +ae +al +av +aD +ac +ae +ae +bd +ae +ae +ae +ae +bq +bU +cc +ae +bq +cA +cL +ae +ae +ae +dd +bc +cX +ds +bq +aa +"} +(12,1,1) = {" +aa +aa +ae +am +aw +aE +aK +aQ +aW +be +bk +bq +bx +bD +bM +bV +cd +ci +ct +cB +cM +av +av +db +bc +bc +dn +dt +bq +aa +"} +(13,1,1) = {" +aa +ac +ac +ac +ax +aB +av +aR +av +bf +av +br +av +aB +bN +bW +av +cj +cu +cC +cN +cR +aG +ae +de +dj +bc +du +bq +aa +"} +(14,1,1) = {" +aa +ad +ag +an +ay +av +aL +av +aB +av +bl +bs +by +aB +aB +av +av +ck +aB +ck +av +av +cW +ae +df +dk +do +dv +bq +aa +"} +(15,1,1) = {" +aa +ac +ah +ac +az +aF +av +av +aX +av +av +br +av +av +bO +aB +av +cl +cv +cD +av +av +cX +ae +ax +bc +bc +dw +bq +aa +"} +(16,1,1) = {" +aa +aa +ae +ao +ax +aG +aM +aS +aY +bg +bm +bq +bz +bE +av +bX +av +cm +cw +cE +cO +av +cY +db +bc +bc +dp +dx +bq +aa +"} +(17,1,1) = {" +aa +aa +ae +ap +av +aH +ac +ae +ae +aZ +ae +ae +ae +ae +bP +ae +ce +bq +cx +ae +ae +bP +ae +ae +dg +bc +dq +dr +bq +aa +"} +(18,1,1) = {" +aa +aa +ae +ae +aA +ac +ac +aT +aZ +bc +bn +bn +ae +bF +bc +ae +cf +cn +bc +cF +ae +bc +cZ +ae +dh +dl +dr +bq +bq +aa +"} +(19,1,1) = {" +aa +ab +af +aq +aB +ae +ae +ae +ae +bh +bo +bt +ae +bG +bc +bY +cg +co +cy +cG +bY +bc +bt +ae +ae +ae +bq +bq +aa +aa +"} +(20,1,1) = {" +aa +ab +ai +ar +aC +ae +aN +aU +aZ +bc +bp +bp +ae +bH +bc +ae +ch +cp +cp +cH +ae +bc +da +ae +aa +aa +aa +aa +aa +aa +"} +(21,1,1) = {" +aa +aa +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +bI +bQ +ae +ae +bq +bq +ae +ae +cS +bI +ae +aa +aa +aa +aa +aa +aa +"} +(22,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(23,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(24,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(25,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(26,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(27,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(28,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/_maps/shuttles/whiteship_meta.dmm b/_maps/shuttles/whiteship_meta.dmm index c5109c16d2..e56df74166 100644 --- a/_maps/shuttles/whiteship_meta.dmm +++ b/_maps/shuttles/whiteship_meta.dmm @@ -117,9 +117,7 @@ /area/shuttle/abandoned) "al" = ( /obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 50 - }, +/obj/item/stack/sheet/metal/fifty, /obj/item/stock_parts/cell/high{ charge = 100; maxcharge = 15000; @@ -299,7 +297,7 @@ name = "dust" }, /obj/effect/decal/remains/human{ - desc = "They look like human remains, and have clearly been gnawed at."; + desc = "They look like human remains, and have clearly been gnawed at." }, /obj/item/gun/energy/laser/retro, /turf/open/floor/mineral/titanium/blue, @@ -368,7 +366,7 @@ name = "dust" }, /obj/effect/decal/remains/human{ - desc = "They look like human remains, and have clearly been gnawed at."; + desc = "They look like human remains, and have clearly been gnawed at." }, /turf/open/floor/mineral/titanium/blue, /area/shuttle/abandoned) @@ -435,7 +433,7 @@ }, /obj/item/soap/nanotrasen, /obj/effect/decal/remains/human{ - desc = "They look like human remains, and have clearly been gnawed at."; + desc = "They look like human remains, and have clearly been gnawed at." }, /obj/effect/decal/cleanable/blood/gibs/old, /turf/open/floor/mineral/titanium, @@ -478,14 +476,11 @@ /area/shuttle/abandoned) "aM" = ( /obj/structure/table, -/obj/item/stack/sheet/glass{ - amount = 50; +/obj/item/stack/sheet/glass/fifty{ pixel_x = -2; pixel_y = 2 }, -/obj/item/stack/rods{ - amount = 50 - }, +/obj/item/stack/rods/fifty, /obj/effect/decal/cleanable/dirt{ desc = "A thin layer of dust coating the floor."; name = "dust" @@ -494,11 +489,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "aN" = ( -/obj/structure/rack{ - dir = 8; - layer = 2.9; - pixel_y = 2 - }, +/obj/structure/rack, /obj/item/storage/toolbox/electrical{ pixel_x = 1; pixel_y = 6 @@ -938,7 +929,7 @@ name = "dust" }, /obj/effect/decal/remains/human{ - desc = "They look like human remains, and have clearly been gnawed at."; + desc = "They look like human remains, and have clearly been gnawed at." }, /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) @@ -1008,7 +999,9 @@ desc = "A thin layer of dust coating the floor."; name = "dust" }, -/obj/machinery/computer/shuttle/white_ship, +/obj/machinery/computer/shuttle/white_ship{ + dir = 8 + }, /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "bJ" = ( @@ -1057,7 +1050,7 @@ name = "\improper damaged CentCom hat" }, /obj/effect/decal/remains/human{ - desc = "They look like human remains, and have clearly been gnawed at."; + desc = "They look like human remains, and have clearly been gnawed at." }, /turf/open/floor/mineral/titanium/blue, /area/shuttle/abandoned) @@ -1124,6 +1117,7 @@ name = "dust" }, /obj/machinery/computer/camera_advanced/shuttle_docker/whiteship{ + dir = 1; station_lock_override = 1; view_range = 15; x_offset = -3; @@ -1460,7 +1454,7 @@ name = "dust" }, /obj/effect/decal/remains/xeno{ - desc = "A pile of remains that look vaguely humanoid. The skull is abnormally elongated, and there are burns through some of the other bones."; + desc = "A pile of remains that look vaguely humanoid. The skull is abnormally elongated, and there are burns through some of the other bones." }, /turf/open/floor/mineral/titanium/blue, /area/shuttle/abandoned) diff --git a/_maps/templates/pirate_ship.dmm b/_maps/templates/pirate_ship.dmm new file mode 100644 index 0000000000..753d36368d --- /dev/null +++ b/_maps/templates/pirate_ship.dmm @@ -0,0 +1,2378 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ab" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "piratebridge" + }, +/obj/structure/grille, +/obj/structure/window/plastitanium, +/turf/open/floor/plating, +/area/shuttle/pirate) +"ac" = ( +/obj/structure/table, +/obj/machinery/recharger, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"ad" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/computer/shuttle/pirate, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"ae" = ( +/obj/structure/table, +/obj/machinery/button/door{ + id = "piratebridge"; + name = "Bridge Shutters Control"; + pixel_x = 0; + pixel_y = -5; + req_access_txt = "0" + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/device/radio/intercom{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"af" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"ag" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"ah" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/computer/monitor{ + dir = 8 + }, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"ai" = ( +/turf/closed/wall/mineral/plastitanium, +/area/shuttle/pirate) +"aj" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/shuttle/pirate) +"ak" = ( +/obj/machinery/light/small, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/shuttle_scrambler, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"al" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -24; + req_access = null + }, +/obj/structure/chair{ + tag = "icon-chair (WEST)"; + icon_state = "chair"; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"am" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"an" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"ao" = ( +/obj/machinery/light/small, +/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/pirate{ + dir = 8 + }, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"ap" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/mob_spawn/human/pirate{ + dir = 4 + }, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"aq" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm{ + pixel_y = 24; + req_access = null + }, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"ar" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mob_spawn/human/pirate/gunner{ + dir = 8 + }, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"as" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/command{ + name = "Bridge" + }, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"at" = ( +/obj/structure/closet/crate/freezer/blood, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white, +/area/shuttle/pirate) +"au" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/airalarm{ + pixel_y = 24; + req_access = null + }, +/obj/machinery/sleeper, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/white, +/area/shuttle/pirate) +"av" = ( +/obj/machinery/iv_drip, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/white, +/area/shuttle/pirate) +"aw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/mob_spawn/human/pirate/captain, +/turf/open/floor/wood, +/area/shuttle/pirate) +"ax" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock{ + name = "Crew Cabin"; + req_access_txt = "0" + }, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"ay" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/toolbox/emergency, +/obj/item/extinguisher, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"az" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"aA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"aB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm{ + pixel_y = 24; + req_access = null + }, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"aC" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/paper_bin{ + pixel_x = -1; + pixel_y = 6 + }, +/obj/item/folder, +/obj/item/pen, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"aD" = ( +/obj/structure/sign/bluecross_2, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/shuttle/pirate) +"aE" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white/side{ + dir = 9 + }, +/area/shuttle/pirate) +"aF" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white/side{ + dir = 1 + }, +/area/shuttle/pirate) +"aG" = ( +/turf/open/floor/plasteel/white/side{ + dir = 1 + }, +/area/shuttle/pirate) +"aH" = ( +/obj/structure/closet/crate/freezer/surplus_limbs, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white/side{ + dir = 1 + }, +/area/shuttle/pirate) +"aI" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/latex, +/obj/item/surgical_drapes, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white/side{ + dir = 5 + }, +/area/shuttle/pirate) +"aJ" = ( +/obj/machinery/light/small{ + brightness = 3; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -24; + req_access = null + }, +/obj/structure/closet/secure_closet/personal, +/turf/open/floor/wood, +/area/shuttle/pirate) +"aK" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/wood, +/area/shuttle/pirate) +"aL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock{ + name = "Captain's Quarters"; + req_access_txt = "0" + }, +/turf/open/floor/wood, +/area/shuttle/pirate) +"aM" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm{ + pixel_y = 24; + req_access = null + }, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"aN" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"aO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"aP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/command{ + name = "Bridge" + }, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"aQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"aR" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"aS" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"aT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"aU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/command{ + name = "Bridge" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/black, +/area/shuttle/pirate) +"aV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white/side{ + dir = 8 + }, +/area/shuttle/pirate) +"aW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"aX" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"aY" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"aZ" = ( +/turf/open/floor/plasteel/white/side{ + dir = 4 + }, +/area/shuttle/pirate) +"ba" = ( +/obj/structure/table, +/obj/item/circular_saw, +/obj/item/scalpel{ + pixel_y = 12 + }, +/obj/item/cautery{ + pixel_x = 4 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white, +/area/shuttle/pirate) +"bb" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/box/matches, +/obj/item/clothing/mask/cigarette/cigar, +/turf/open/floor/wood, +/area/shuttle/pirate) +"bc" = ( +/obj/machinery/button/door{ + id = "piratevault"; + name = "Vault Bolt Control"; + normaldoorcontrol = 1; + pixel_x = -8; + pixel_y = -24; + req_access_txt = "0"; + specialfunctions = 4 + }, +/obj/machinery/turretid{ + icon_state = "control_kill"; + lethal = 1; + locked = 0; + pixel_x = 4; + pixel_y = -24; + req_access = null + }, +/obj/structure/chair{ + tag = "icon-chair (WEST)"; + icon_state = "chair"; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/shuttle/pirate) +"bd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"be" = ( +/obj/machinery/light/small, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/secure_closet/personal, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"bf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/secure_closet/personal, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"bg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/vault{ + id_tag = "piratevault"; + locked = 1; + name = "Vault" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/shuttle/pirate) +"bh" = ( +/obj/structure/table, +/obj/item/storage/firstaid/brute{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/firstaid/fire, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white/side{ + dir = 10 + }, +/area/shuttle/pirate) +"bi" = ( +/obj/machinery/light/small, +/obj/structure/table, +/obj/item/storage/box/syringes, +/obj/item/reagent_containers/glass/beaker{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/reagent_containers/glass/beaker{ + pixel_x = 3 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white/side, +/area/shuttle/pirate) +"bj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/white/side, +/area/shuttle/pirate) +"bk" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white/side, +/area/shuttle/pirate) +"bl" = ( +/obj/structure/table/optable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white/side{ + dir = 6 + }, +/area/shuttle/pirate) +"bm" = ( +/obj/structure/table, +/obj/item/retractor, +/obj/item/hemostat, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white, +/area/shuttle/pirate) +"bn" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock{ + name = "Crew Quarters"; + req_access_txt = "0" + }, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"bo" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/shuttle/pirate/vault) +"bp" = ( +/obj/machinery/airalarm{ + pixel_y = 24; + req_access = null + }, +/turf/open/floor/pod/dark, +/area/shuttle/pirate/vault) +"bq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/pod/dark, +/area/shuttle/pirate/vault) +"br" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 0; + pixel_y = 28 + }, +/turf/open/floor/pod/dark, +/area/shuttle/pirate/vault) +"bs" = ( +/obj/machinery/door/airlock/glass_medical{ + name = "Medbay" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"bt" = ( +/obj/structure/sign/securearea{ + desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; + icon_state = "space"; + layer = 4; + name = "EXTERNAL AIRLOCK"; + pixel_x = -32; + pixel_y = 0 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/suit_storage_unit/pirate, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/shuttle/pirate) +"bu" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"bv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"bw" = ( +/obj/structure/rack{ + dir = 8; + layer = 2.9 + }, +/obj/item/storage/belt/utility, +/obj/item/device/radio/off, +/obj/item/device/radio/off, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"bx" = ( +/obj/structure/closet/crate, +/obj/item/grenade/smokebomb{ + pixel_x = -4 + }, +/obj/item/grenade/smokebomb{ + pixel_x = 2 + }, +/turf/open/floor/pod/light, +/area/shuttle/pirate/vault) +"by" = ( +/obj/structure/rack{ + dir = 8; + layer = 2.9 + }, +/obj/item/shield/riot{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/shield/riot, +/turf/open/floor/pod/light, +/area/shuttle/pirate/vault) +"bz" = ( +/obj/structure/rack{ + dir = 8; + layer = 2.9 + }, +/obj/item/gun/energy/laser{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/gun/energy/laser, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/light, +/area/shuttle/pirate/vault) +"bA" = ( +/obj/structure/closet/crate, +/obj/item/storage/bag/money, +/turf/open/floor/pod/light, +/area/shuttle/pirate/vault) +"bB" = ( +/obj/structure/rack{ + dir = 8; + layer = 2.9 + }, +/obj/item/storage/belt/utility, +/obj/item/device/radio/off, +/obj/item/device/radio/off, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"bC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"bD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"bE" = ( +/obj/structure/sign/securearea{ + desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; + icon_state = "space"; + layer = 4; + name = "EXTERNAL AIRLOCK"; + pixel_x = 32; + pixel_y = 0 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/suit_storage_unit/pirate, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/shuttle/pirate) +"bF" = ( +/obj/machinery/door/airlock/external{ + id_tag = "pirateportexternal"; + locked = 1 + }, +/obj/docking_port/mobile/pirate{ + callTime = 100; + dheight = 0; + dir = 4; + dwidth = 11; + height = 21; + id = "pirateship"; + launch_status = 0; + movement_force = list("KNOCKDOWN" = 0, "THROW" = 0); + name = "Pirate Ship"; + port_direction = 8; + preferred_direction = 1; + roundstart_move = "pirateship_home"; + width = 23 + }, +/obj/docking_port/stationary{ + dir = 4; + dwidth = 11; + height = 21; + id = "pirateship_home"; + name = "Deep Space"; + width = 23 + }, +/turf/open/floor/plating, +/area/shuttle/pirate) +"bG" = ( +/turf/open/floor/plating, +/area/shuttle/pirate) +"bH" = ( +/obj/machinery/door/airlock/external, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/shuttle/pirate) +"bI" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"bJ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"bK" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 8; + icon_state = "alarm0"; + pixel_x = 24; + req_access = 152 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack{ + dir = 8; + layer = 2.9 + }, +/obj/item/storage/toolbox/mechanical, +/obj/item/device/multitool, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"bL" = ( +/obj/machinery/light/small{ + brightness = 3; + dir = 8 + }, +/obj/structure/closet/crate, +/obj/item/storage/box/lethalshot, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/light, +/area/shuttle/pirate/vault) +"bM" = ( +/turf/open/floor/pod/dark, +/area/shuttle/pirate/vault) +"bN" = ( +/obj/structure/rack{ + dir = 8; + layer = 2.9 + }, +/obj/item/gun/ballistic/shotgun/automatic/combat, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/light, +/area/shuttle/pirate/vault) +"bO" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/shuttle/pirate/vault) +"bP" = ( +/obj/structure/rack{ + dir = 8; + layer = 2.9 + }, +/obj/item/gun/energy/laser{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/gun/energy/laser, +/turf/open/floor/pod/light, +/area/shuttle/pirate/vault) +"bQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/item/stack/sheet/mineral/gold{ + amount = 3; + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/stack/sheet/mineral/silver{ + amount = 8; + pixel_x = 2; + pixel_y = -1 + }, +/turf/open/floor/pod/light, +/area/shuttle/pirate/vault) +"bR" = ( +/obj/machinery/light/small{ + brightness = 3; + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -24; + req_access = null + }, +/obj/structure/rack{ + dir = 8; + layer = 2.9 + }, +/obj/item/weldingtool/largetank, +/obj/item/storage/toolbox/electrical, +/obj/item/clothing/head/welding{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"bS" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"bT" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"bU" = ( +/obj/machinery/door/airlock/external, +/turf/open/floor/plating, +/area/shuttle/pirate) +"bV" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/shuttle/pirate) +"bW" = ( +/obj/machinery/door/airlock/external{ + id_tag = "piratestarboardexternal"; + locked = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/shuttle/pirate) +"bX" = ( +/obj/structure/closet/emcloset/anchored, +/obj/machinery/button/door{ + id = "pirateportexternal"; + name = "External Bolt Control"; + normaldoorcontrol = 1; + pixel_x = -24; + pixel_y = 0; + req_access_txt = "0"; + specialfunctions = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/shuttle/pirate) +"bY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"bZ" = ( +/obj/structure/closet/crate, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/light, +/area/shuttle/pirate/vault) +"ca" = ( +/obj/structure/closet/crate, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/silver, +/obj/item/coin/silver, +/obj/item/coin/silver, +/obj/item/coin/silver, +/obj/item/coin/silver, +/obj/item/coin/gold, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/light, +/area/shuttle/pirate/vault) +"cb" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/bot, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"cc" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"cd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"ce" = ( +/obj/structure/closet/emcloset/anchored, +/obj/machinery/button/door{ + id = "piratestarboardexternal"; + name = "External Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 24; + pixel_y = 0; + req_access_txt = "0"; + specialfunctions = 4 + }, +/turf/open/floor/plating, +/area/shuttle/pirate) +"cf" = ( +/obj/machinery/porta_turret/syndicate{ + dir = 1; + faction = "pirate" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/shuttle/pirate) +"cg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/glass{ + name = "Bar" + }, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"ch" = ( +/obj/structure/table, +/obj/machinery/door/window/southleft{ + base_state = "left"; + dir = 1; + icon_state = "left"; + name = "Explosive Ordinance"; + req_access_txt = "0" + }, +/obj/item/grenade/plastic/x4{ + pixel_x = -5 + }, +/obj/item/grenade/plastic/x4{ + pixel_x = 3 + }, +/obj/item/grenade/plastic/x4{ + pixel_x = 11 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/light, +/area/shuttle/pirate/vault) +"ci" = ( +/obj/structure/table, +/obj/item/melee/transforming/energy/sword/pirate, +/obj/item/melee/transforming/energy/sword/pirate{ + pixel_y = 12 + }, +/obj/item/melee/transforming/energy/sword/pirate{ + pixel_x = 12; + pixel_y = 7; + pixel_z = 0 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/light, +/area/shuttle/pirate/vault) +"cj" = ( +/obj/machinery/light/small, +/obj/effect/turf_decal/stripes/end{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/loot_locator, +/turf/open/floor/pod/light, +/area/shuttle/pirate/vault) +"ck" = ( +/obj/structure/table, +/obj/machinery/recharger, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/light, +/area/shuttle/pirate/vault) +"cl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/telecomms/relay, +/turf/open/floor/pod/light, +/area/shuttle/pirate/vault) +"cm" = ( +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"cn" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/shuttle/pirate) +"co" = ( +/obj/structure/toilet{ + pixel_y = 20 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/machinery/light/small, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/showroomfloor, +/area/shuttle/pirate) +"cp" = ( +/obj/machinery/door/airlock{ + name = "Unisex Restrooms"; + req_access_txt = "0" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/showroomfloor, +/area/shuttle/pirate) +"cq" = ( +/obj/machinery/airalarm{ + pixel_y = 24; + req_access = null + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/bar, +/area/shuttle/pirate) +"cr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/bar, +/area/shuttle/pirate) +"cs" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/bar, +/area/shuttle/pirate) +"ct" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/bar, +/area/shuttle/pirate) +"cu" = ( +/obj/machinery/atmospherics/components/unary/tank/nitrogen{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"cv" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "N2 Out"; + on = 1; + target_pressure = 4500 + }, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"cw" = ( +/obj/machinery/atmospherics/components/trinary/mixer/flipped{ + name = "Air Mixer"; + node1_concentration = 0.8; + node2_concentration = 0.2; + on = 1; + target_pressure = 4500 + }, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"cx" = ( +/obj/machinery/airalarm{ + pixel_y = 24; + req_access = null + }, +/obj/structure/table, +/obj/item/storage/box/lights/mixed{ + pixel_x = -4 + }, +/obj/item/storage/belt/utility{ + pixel_x = 4 + }, +/obj/item/device/analyzer{ + pixel_x = 3; + pixel_y = 2 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"cy" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"cz" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"cA" = ( +/obj/structure/table/reinforced, +/obj/item/lighter, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/bar, +/area/shuttle/pirate) +"cB" = ( +/obj/structure/chair/stool/bar, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/bar, +/area/shuttle/pirate) +"cC" = ( +/turf/open/floor/plasteel/bar, +/area/shuttle/pirate) +"cD" = ( +/obj/structure/closet/crate, +/obj/item/storage/box/donkpockets{ + pixel_x = 2; + pixel_y = 3 + }, +/obj/item/storage/box/donkpockets, +/obj/item/storage/fancy/donut_box, +/obj/item/reagent_containers/food/snacks/cookie, +/obj/item/reagent_containers/food/snacks/cookie{ + pixel_x = -6; + pixel_y = -6 + }, +/obj/item/reagent_containers/food/snacks/chocolatebar, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/bar, +/area/shuttle/pirate) +"cE" = ( +/obj/machinery/computer/turbine_computer{ + dir = 4; + id = "pirateturbine" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/yellow/side{ + dir = 9 + }, +/area/shuttle/pirate) +"cF" = ( +/obj/structure/chair/stool, +/obj/machinery/airalarm{ + pixel_y = 24; + req_access = null + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/yellow/side{ + dir = 1 + }, +/area/shuttle/pirate) +"cG" = ( +/obj/machinery/power/smes{ + capacity = 9e+006; + charge = 10000 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/yellow/side{ + dir = 1 + }, +/area/shuttle/pirate) +"cH" = ( +/obj/structure/chair/stool, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + dir = 1; + name = "Pirate Ship APC"; + pixel_y = 26; + req_access = null + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/yellow/side{ + dir = 1 + }, +/area/shuttle/pirate) +"cI" = ( +/obj/machinery/computer/monitor{ + dir = 8 + }, +/obj/structure/cable/yellow{ + d2 = 8; + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/yellow/side{ + dir = 5 + }, +/area/shuttle/pirate) +"cJ" = ( +/obj/machinery/atmospherics/components/unary/tank/oxygen{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"cK" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "O2 Out"; + on = 1; + target_pressure = 4500 + }, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"cL" = ( +/obj/machinery/atmospherics/pipe/manifold4w/general{ + level = 2 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"cM" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"cN" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Port Out"; + target_pressure = 4500 + }, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"cO" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"cP" = ( +/obj/structure/table, +/obj/machinery/chem_dispenser/drinks/beer, +/obj/item/storage/fancy/cigarettes{ + pixel_x = -6; + pixel_y = -8 + }, +/obj/item/storage/fancy/cigarettes/cigpack_carp{ + pixel_x = 1; + pixel_y = -8 + }, +/obj/item/storage/fancy/cigarettes/cigpack_midori{ + pixel_x = 8; + pixel_y = -8 + }, +/obj/item/storage/fancy/cigarettes/cigpack_robust{ + pixel_x = -6; + pixel_y = -14 + }, +/obj/item/storage/fancy/cigarettes/cigpack_shadyjims{ + pixel_x = 1; + pixel_y = -14 + }, +/obj/item/storage/fancy/cigarettes/cigpack_uplift{ + pixel_x = 8; + pixel_y = -14 + }, +/obj/machinery/light/small{ + brightness = 3; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/bar, +/area/shuttle/pirate) +"cQ" = ( +/obj/structure/table/reinforced, +/obj/item/book/manual/barman_recipes{ + pixel_x = -4; + pixel_y = 0 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/bar, +/area/shuttle/pirate) +"cR" = ( +/obj/structure/chair/stool/bar, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/bar, +/area/shuttle/pirate) +"cS" = ( +/obj/structure/sign/engineering{ + pixel_x = 32 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/bar, +/area/shuttle/pirate) +"cT" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/yellow, +/obj/item/wrench, +/obj/item/crowbar, +/obj/item/clothing/glasses/meson/engine, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/yellow/corner{ + dir = 1 + }, +/area/shuttle/pirate) +"cU" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"cV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"cW" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high, +/obj/item/stack/cable_coil/red{ + pixel_x = -1; + pixel_y = 3 + }, +/obj/item/stack/cable_coil/red{ + pixel_x = 2 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/yellow/corner{ + dir = 4 + }, +/area/shuttle/pirate) +"cX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/shuttle/pirate) +"cY" = ( +/obj/structure/sign/engineering{ + pixel_x = -32 + }, +/obj/machinery/light/small{ + brightness = 3; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"cZ" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 2; + name = "O2 to Incinerator"; + target_pressure = 4500 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"da" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"db" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"dc" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 25; + pixel_y = 0 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/space_heater, +/turf/open/floor/plasteel/caution{ + dir = 4 + }, +/area/shuttle/pirate) +"dd" = ( +/obj/structure/table, +/obj/machinery/chem_dispenser/drinks, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/bar, +/area/shuttle/pirate) +"de" = ( +/obj/structure/table/reinforced, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/bar, +/area/shuttle/pirate) +"df" = ( +/obj/structure/chair/stool/bar, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/bar, +/area/shuttle/pirate) +"dg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/bar, +/area/shuttle/pirate) +"dh" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engineering" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"di" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/nosmoking_2{ + pixel_y = 32 + }, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"dj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"dk" = ( +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"dl" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"dm" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"dn" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"do" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engineering" + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"dp" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"dq" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/manifold4w/general{ + level = 2 + }, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"dr" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"ds" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Plasma to Incinerator"; + target_pressure = 4500 + }, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"dt" = ( +/obj/machinery/atmospherics/components/unary/tank/toxins{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"du" = ( +/obj/machinery/vending/boozeomat{ + req_access_txt = "0" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/bar, +/area/shuttle/pirate) +"dv" = ( +/obj/machinery/door/window/southleft{ + base_state = "right"; + dir = 4; + icon_state = "right"; + name = "Bar"; + req_access_txt = "0" + }, +/turf/open/floor/plasteel/bar, +/area/shuttle/pirate) +"dw" = ( +/obj/structure/closet/firecloset/full{ + anchored = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/yellow/side, +/area/shuttle/pirate) +"dx" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/light/small, +/turf/open/floor/plasteel/yellow/corner{ + tag = "icon-yellowcorner (WEST)"; + icon_state = "yellowcorner"; + dir = 8 + }, +/area/shuttle/pirate) +"dy" = ( +/obj/machinery/button/door{ + id = "pirateturbinevent"; + name = "Turbine Vent Control"; + pixel_x = -6; + pixel_y = -24; + req_access_txt = "0" + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/button/door{ + id = "pirateturbineauxvent"; + name = "Turbine Auxiliary Vent Control"; + pixel_x = 6; + pixel_y = -24; + req_access_txt = "0" + }, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"dz" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"dA" = ( +/obj/machinery/button/ignition{ + id = "pirateincinerator"; + pixel_x = -6; + pixel_y = -24 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 2; + on = 1; + target_pressure = 4500 + }, +/obj/machinery/button/door{ + id = "pirateturbinebolt"; + name = "Turbine Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 6; + pixel_y = -24; + req_access_txt = "0"; + specialfunctions = 4 + }, +/turf/open/floor/plasteel/floorgrime, +/area/shuttle/pirate) +"dB" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/structure/rack{ + dir = 8; + layer = 2.9 + }, +/obj/item/storage/toolbox/mechanical, +/obj/item/clothing/head/welding{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/device/multitool, +/obj/machinery/light/small, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/yellow/corner, +/area/shuttle/pirate) +"dC" = ( +/obj/structure/table, +/obj/item/stack/sheet/metal{ + pixel_x = -1 + }, +/obj/item/stack/sheet/glass{ + amount = 50; + pixel_x = 0; + pixel_y = 5 + }, +/obj/item/stack/sheet/mineral/plastitanium{ + amount = 30; + pixel_x = 3; + pixel_y = -2 + }, +/obj/item/stack/rods/fifty, +/turf/open/floor/plasteel/yellow/side, +/area/shuttle/pirate) +"dD" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/caution, +/area/shuttle/pirate) +"dE" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/caution, +/area/shuttle/pirate) +"dF" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/caution, +/area/shuttle/pirate) +"dG" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Port to Incinerator"; + target_pressure = 4500 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/caution, +/area/shuttle/pirate) +"dH" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/plasteel, +/area/shuttle/pirate) +"dI" = ( +/obj/structure/shuttle/engine/heater, +/obj/structure/window/reinforced{ + dir = 1; + pixel_y = 1 + }, +/turf/open/floor/plating/airless, +/area/shuttle/pirate) +"dJ" = ( +/obj/structure/sign/fire, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/shuttle/pirate) +"dK" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, +/obj/machinery/door/airlock/glass{ + heat_proof = 1; + id_tag = "pirateturbinebolt"; + locked = 1; + name = "Turbine Access" + }, +/turf/open/floor/engine, +/area/shuttle/pirate) +"dL" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 2 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/shuttle/pirate) +"dM" = ( +/obj/structure/shuttle/engine/propulsion/burst, +/turf/open/floor/plating/airless, +/area/shuttle/pirate) +"dN" = ( +/obj/machinery/igniter{ + icon_state = "igniter0"; + id = "pirateincinerator"; + luminosity = 2; + on = 0 + }, +/obj/structure/sign/securearea{ + desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; + icon_state = "space"; + layer = 4; + name = "EXTERNAL AIRLOCK"; + pixel_y = -32 + }, +/turf/open/floor/engine/vacuum, +/area/shuttle/pirate) +"dO" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, +/turf/open/floor/engine/vacuum, +/area/shuttle/pirate) +"dP" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 1; + frequency = 1441; + id = "inc_in" + }, +/turf/open/floor/engine/vacuum, +/area/shuttle/pirate) +"dQ" = ( +/obj/machinery/door/poddoor{ + id = "pirateturbineauxvent"; + name = "Turbine Auxiliary Vent" + }, +/turf/open/floor/engine/vacuum, +/area/shuttle/pirate) +"dR" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/machinery/power/compressor{ + comp_id = "pirateturbine"; + dir = 1; + luminosity = 2 + }, +/turf/open/floor/engine/vacuum, +/area/shuttle/pirate) +"dS" = ( +/obj/structure/cable, +/obj/machinery/power/turbine{ + luminosity = 2 + }, +/turf/open/floor/engine/vacuum, +/area/shuttle/pirate) +"dT" = ( +/obj/structure/sign/fire, +/turf/closed/wall/mineral/plastitanium, +/area/shuttle/pirate) +"dU" = ( +/obj/machinery/door/poddoor{ + id = "pirateturbinevent"; + name = "Turbine Vent" + }, +/turf/open/floor/engine/vacuum, +/area/shuttle/pirate) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +ai +aj +aj +aj +aj +bF +aj +cf +aj +aj +aj +aj +aj +ai +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +ai +aj +aJ +bb +aj +bt +bG +bX +aj +co +aj +cP +dd +du +aj +ai +aa +aa +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aj +aw +aK +bc +aj +aj +bH +aj +aj +cp +aj +cs +cC +cs +dI +dM +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +ai +aj +aj +aL +aj +aj +bu +bI +bu +aj +cq +cA +cQ +de +dv +dI +dM +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +aj +ap +aj +aM +bd +bn +bv +bJ +bC +cg +cr +cB +cR +df +cC +dI +dM +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +aj +aq +ax +aN +be +aj +bw +bK +bY +aj +cs +cC +cS +dg +cs +dI +dM +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +aa +aa +aj +ar +aj +aO +bf +aj +aj +aj +aj +aj +ct +cD +aj +dh +aj +aj +ai +aa +aa +aa +"} +(8,1,1) = {" +aa +aa +ab +ab +aj +aj +aj +aP +aj +aj +bx +bL +bZ +aj +aj +aj +aj +di +dw +aj +aa +aa +aa +aa +"} +(9,1,1) = {" +aa +ab +ab +af +ak +aj +ay +aQ +aj +bo +bo +bM +bM +ch +aj +cE +cT +dj +dx +dJ +aj +ai +aa +aa +"} +(10,1,1) = {" +aa +ab +ac +af +al +aj +az +aR +aj +bp +by +bN +bo +ci +aj +cF +aW +dk +dy +aj +dN +aj +aj +dT +"} +(11,1,1) = {" +aa +ab +ad +ag +am +as +aA +aS +bg +bq +bq +bO +bM +cj +aj +cG +cU +dl +dz +dK +dO +dR +dS +dU +"} +(12,1,1) = {" +aa +ab +ae +af +an +aj +aB +aQ +aj +br +bz +bP +bo +ck +aj +cH +cV +dm +dA +dL +dP +aj +aj +dT +"} +(13,1,1) = {" +aa +ab +ab +ah +ao +aj +aC +aT +aj +bo +bo +bo +bM +cl +aj +cI +cW +dn +dB +dJ +dQ +ai +aa +aa +"} +(14,1,1) = {" +aa +aa +ab +ab +aj +aj +aD +aU +aj +aj +bA +bQ +ca +aj +aj +aj +cX +dn +dC +aj +aa +aa +aa +aa +"} +(15,1,1) = {" +aa +aa +aa +aa +aj +at +aE +aV +bh +aj +aj +aj +aj +aj +cu +cJ +cX +do +aj +aj +ai +aa +aa +aa +"} +(16,1,1) = {" +aa +aa +aa +aa +aj +au +aF +aW +bi +aD +bB +bR +cb +aj +cv +cK +cY +dp +dD +dI +dM +aa +aa +aa +"} +(17,1,1) = {" +aa +aa +aa +aa +aj +av +aG +aX +bj +bs +bC +bS +cc +cm +cw +cL +cZ +dq +dE +dI +dM +aa +aa +aa +"} +(18,1,1) = {" +aa +aa +aa +aa +ai +aj +aH +aY +bk +aj +bD +bT +cd +cn +cx +cM +da +dr +dF +dI +dM +aa +aa +aa +"} +(19,1,1) = {" +aa +aa +aa +aa +aa +aj +aI +aZ +bl +aj +aj +bU +aj +aj +cy +cN +db +ds +dG +dI +dM +aa +aa +aa +"} +(20,1,1) = {" +aa +aa +aa +aa +aa +ai +ai +ba +bm +aj +bE +bV +ce +aj +cz +cO +dc +dt +dH +aj +ai +aa +aa +aa +"} +(21,1,1) = {" +aa +aa +aa +aa +aa +aa +ai +aj +aj +aj +aj +bW +aj +cf +aj +aj +aj +aj +aj +ai +aa +aa +aa +aa +"} diff --git a/_maps/templates/shelter_2.dmm b/_maps/templates/shelter_2.dmm index 9f3827e5c3..e9489df641 100644 --- a/_maps/templates/shelter_2.dmm +++ b/_maps/templates/shelter_2.dmm @@ -214,9 +214,9 @@ (1,1,1) = {" a d -c +a d -c +a d a "} @@ -230,13 +230,13 @@ y C "} (3,1,1) = {" -c +a f l l u z -c +a "} (4,1,1) = {" b @@ -248,13 +248,13 @@ A D "} (5,1,1) = {" -c +a h n r w A -c +a "} (6,1,1) = {" b @@ -268,9 +268,9 @@ E (7,1,1) = {" a j -c +a j -c +a j a "} diff --git a/code/__DATASTRUCTURES/globals.dm b/code/__DATASTRUCTURES/globals.dm index 808f8da757..c7aa865573 100644 --- a/code/__DATASTRUCTURES/globals.dm +++ b/code/__DATASTRUCTURES/globals.dm @@ -10,7 +10,7 @@ #define GLOBAL_PROTECT(X)\ /datum/controller/global_vars/InitGlobal##X(){\ ..();\ - gvars_datum_protected_varlist += #X;\ + gvars_datum_protected_varlist[#X] = TRUE;\ } #else #define GLOBAL_PROTECT(X) diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm index 2a198947dc..833aaa62cb 100644 --- a/code/__DEFINES/admin.dm +++ b/code/__DEFINES/admin.dm @@ -116,17 +116,17 @@ #define R_MAXPERMISSION 4096 //This holds the maximum value for a permission. It is used in iteration, so keep it updated. -#define ADMIN_QUE(user) "(?)" -#define ADMIN_FLW(user) "(FLW)" -#define ADMIN_PP(user) "(PP)" -#define ADMIN_VV(atom) "(VV)" -#define ADMIN_SM(user) "(SM)" -#define ADMIN_TP(user) "(TP)" -#define ADMIN_KICK(user) "(KICK)" -#define ADMIN_CENTCOM_REPLY(user) "(RPLY)" -#define ADMIN_SYNDICATE_REPLY(user) "(RPLY)" -#define ADMIN_SC(user) "(SC)" -#define ADMIN_SMITE(user) "(SMITE)" +#define ADMIN_QUE(user) "(?)" +#define ADMIN_FLW(user) "(FLW)" +#define ADMIN_PP(user) "(PP)" +#define ADMIN_VV(atom) "(VV)" +#define ADMIN_SM(user) "(SM)" +#define ADMIN_TP(user) "(TP)" +#define ADMIN_KICK(user) "(KICK)" +#define ADMIN_CENTCOM_REPLY(user) "(RPLY)" +#define ADMIN_SYNDICATE_REPLY(user) "(RPLY)" +#define ADMIN_SC(user) "(SC)" +#define ADMIN_SMITE(user) "(SMITE)" #define ADMIN_LOOKUP(user) "[key_name_admin(user)][ADMIN_QUE(user)]" #define ADMIN_LOOKUPFLW(user) "[key_name_admin(user)][ADMIN_QUE(user)] [ADMIN_FLW(user)]" #define ADMIN_SET_SD_CODE "(SETCODE)" @@ -135,7 +135,7 @@ #define ADMIN_JMP(src) "(JMP)" #define COORD(src) "[src ? "([src.x],[src.y],[src.z])" : "nonexistent location"]" #define ADMIN_COORDJMP(src) "[src ? "[COORD(src)] [ADMIN_JMP(src)]" : "nonexistent location"]" -#define ADMIN_INDIVIDUALLOG(user) "(LOGS)" +#define ADMIN_INDIVIDUALLOG(user) "(LOGS)" #define ADMIN_PUNISHMENT_LIGHTNING "Lightning bolt" #define ADMIN_PUNISHMENT_BRAINDAMAGE "Brain damage" diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm index 87f16da081..f607c34ae8 100644 --- a/code/__DEFINES/atmospherics.dm +++ b/code/__DEFINES/atmospherics.dm @@ -28,6 +28,7 @@ #define NORMPIPERATE 30 //pipe-insulation rate divisor #define HEATPIPERATE 8 //heat-exch pipe insulation #define FLOWFRAC 0.99 //fraction of gas transfered per process +#define TANK_MELT_TEMPERATURE 1000000 #define TANK_LEAK_PRESSURE (30.*ONE_ATMOSPHERE) //Tank starts leaking #define TANK_RUPTURE_PRESSURE (35.*ONE_ATMOSPHERE) //Tank spills all contents into atmosphere #define TANK_FRAGMENT_PRESSURE (40.*ONE_ATMOSPHERE) //Boom 3x3 base explosion @@ -109,7 +110,7 @@ #define PRESSURE_DAMAGE_COEFFICIENT 4 //The amount of pressure damage someone takes is equal to (pressure / HAZARD_HIGH_PRESSURE)*PRESSURE_DAMAGE_COEFFICIENT, with the maximum of MAX_PRESSURE_DAMAGE #define MAX_HIGH_PRESSURE_DAMAGE 4 -#define LOW_PRESSURE_DAMAGE 2 //The amount of damage someone takes when in a low pressure area (The pressure threshold is so low that it doesn't make sense to do any calculations, so it just applies this flat value). +#define LOW_PRESSURE_DAMAGE 4 //The amount of damage someone takes when in a low pressure area (The pressure threshold is so low that it doesn't make sense to do any calculations, so it just applies this flat value). #define COLD_SLOWDOWN_FACTOR 20 //Humans are slowed by the difference between bodytemp and BODYTEMP_COLD_DAMAGE_LIMIT divided by this diff --git a/code/__DEFINES/clockcult.dm b/code/__DEFINES/clockcult.dm index 5f167bf96c..fe804c44f9 100644 --- a/code/__DEFINES/clockcult.dm +++ b/code/__DEFINES/clockcult.dm @@ -66,13 +66,10 @@ GLOBAL_LIST_EMPTY(all_scripture) //a list containing scripture instances; not us #define ARK_SUMMON_COST 5 //how many of each component an Ark costs to summon -#define ARK_CONSUME_COST 15 //how many of each component an Ark needs to consume to activate - //Objective text define #define CLOCKCULT_OBJECTIVE "Construct the Ark of the Clockwork Justicar and free Ratvar." //misc clockcult stuff -#define MARAUDER_EMERGE_THRESHOLD 65 //marauders cannot emerge unless host is at this% or less health #define SIGIL_ACCESS_RANGE 2 //range at which transmission sigils can access power @@ -83,3 +80,9 @@ GLOBAL_LIST_EMPTY(all_scripture) //a list containing scripture instances; not us #define CLOCKWORK_ARMOR_COOLDOWN 1800 //The cooldown period between summoning suits of clockwork armor #define RATVARIAN_SPEAR_COOLDOWN 300 //The cooldown period between summoning another Ratvarian spear + +#define MARAUDER_SCRIPTURE_SCALING_THRESHOLD 200 //The amount of deciseconds that must pass before marauder scripture will not gain a recital penalty + +#define MARAUDER_SCRIPTURE_SCALING_TIME 50 //The amount of extra deciseconds tacked on to the marauder scripture recital time per recent marauder + +#define MARAUDER_SCRIPTURE_SCALING_MAX 300 //The maximum extra time applied to the marauder scripture diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index ddfa9942e6..5b3fe2daf0 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -38,6 +38,7 @@ #define COMSIG_ATOM_RCD_ACT "atom_rcd_act" //from base of atom/rcd_act(): (/mob, /obj/item/construction/rcd, passed_mode) #define COMSIG_ATOM_SING_PULL "atom_sing_pull" //from base of atom/singularity_pull(): (S, current_size) #define COMSIG_ATOM_SET_LIGHT "atom_set_light" //from base of atom/set_light(): (l_range, l_power, l_color) +#define COMSIG_ATOM_ROTATE "atom_rotate" //from base of atom/shuttleRotate(): (rotation, params) #define COMSIG_CLICK "atom_click" //from base of atom/Click(): (location, control, params) #define COMSIG_CLICK_SHIFT "shift_click" //from base of atom/ShiftClick(): (/mob) diff --git a/code/__DEFINES/contracts.dm b/code/__DEFINES/contracts.dm index e740be79dd..b600a5fdc0 100644 --- a/code/__DEFINES/contracts.dm +++ b/code/__DEFINES/contracts.dm @@ -28,7 +28,7 @@ #define BAN_CHAPEL "chapel" #define BAN_HURTPRIEST "hurtpriest" #define BAN_AVOIDWATER "avoidwater" -#define BAN_STRIKEUNCONCIOUS "strikeunconcious" +#define BAN_STRIKEUNCONSCIOUS "strikeunconscious" #define BAN_HURTLIZARD "hurtlizard" #define BAN_HURTANIMAL "hurtanimal" diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 71dbbf7057..965ee51502 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -74,7 +74,8 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define PASSGRILLE 4 #define PASSBLOB 8 #define PASSMOB 16 -#define LETPASSTHROW 32 +#define PASSCLOSEDTURF 32 +#define LETPASSTHROW 64 //Movement Types diff --git a/code/__DEFINES/integrated_electronics.dm b/code/__DEFINES/integrated_electronics.dm new file mode 100644 index 0000000000..e2467af268 --- /dev/null +++ b/code/__DEFINES/integrated_electronics.dm @@ -0,0 +1,41 @@ +#define IC_INPUT "input" +#define IC_OUTPUT "output" +#define IC_ACTIVATOR "activator" + +// Pin functionality. +#define DATA_CHANNEL "data channel" +#define PULSE_CHANNEL "pulse channel" + +// Methods of obtaining a circuit. +#define IC_SPAWN_DEFAULT 1 // If the circuit comes in the default circuit box and able to be printed in the IC printer. +#define IC_SPAWN_RESEARCH 2 // If the circuit design will be available in the IC printer after upgrading it. + +// Displayed along with the pin name to show what type of pin it is. +#define IC_FORMAT_ANY "\" +#define IC_FORMAT_STRING "\" +#define IC_FORMAT_CHAR "\" +#define IC_FORMAT_COLOR "\" +#define IC_FORMAT_NUMBER "\" +#define IC_FORMAT_DIR "\" +#define IC_FORMAT_BOOLEAN "\" +#define IC_FORMAT_REF "\" +#define IC_FORMAT_LIST "\" + +#define IC_FORMAT_PULSE "\" + +// Used inside input/output list to tell the constructor what pin to make. +#define IC_PINTYPE_ANY /datum/integrated_io +#define IC_PINTYPE_STRING /datum/integrated_io/string +#define IC_PINTYPE_CHAR /datum/integrated_io/char +#define IC_PINTYPE_COLOR /datum/integrated_io/color +#define IC_PINTYPE_NUMBER /datum/integrated_io/number +#define IC_PINTYPE_DIR /datum/integrated_io/dir +#define IC_PINTYPE_BOOLEAN /datum/integrated_io/boolean +#define IC_PINTYPE_REF /datum/integrated_io/ref +#define IC_PINTYPE_LIST /datum/integrated_io/lists + +#define IC_PINTYPE_PULSE_IN /datum/integrated_io/activate +#define IC_PINTYPE_PULSE_OUT /datum/integrated_io/activate/out + +// Data limits. +#define IC_MAX_LIST_LENGTH 500 diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm index 37566258a4..a1842648ac 100644 --- a/code/__DEFINES/inventory.dm +++ b/code/__DEFINES/inventory.dm @@ -161,3 +161,70 @@ #define TINT_DARKENED 2 //Threshold of tint level to apply weld mask overlay #define TINT_BLIND 3 //Threshold of tint level to obscure vision fully + +//Allowed equipment lists for security vests and hardsuits. + +GLOBAL_LIST_INIT(advanced_hardsuit_allowed, typecacheof(list( + /obj/item/ammo_box, + /obj/item/ammo_casing, + /obj/item/device/flashlight, + /obj/item/gun, + /obj/item/melee/baton, + /obj/item/reagent_containers/spray/pepper, + /obj/item/restraints/handcuffs, + /obj/item/tank/internals))) + +GLOBAL_LIST_INIT(security_hardsuit_allowed, typecacheof(list( + /obj/item/ammo_box, + /obj/item/ammo_casing, + /obj/item/device/flashlight, + /obj/item/gun/ballistic, + /obj/item/gun/energy, + /obj/item/melee/baton, + /obj/item/reagent_containers/spray/pepper, + /obj/item/restraints/handcuffs, + /obj/item/tank/internals))) + +GLOBAL_LIST_INIT(detective_vest_allowed, typecacheof(list( + /obj/item/ammo_box, + /obj/item/ammo_casing, + /obj/item/device/detective_scanner, + /obj/item/device/flashlight, + /obj/item/device/taperecorder, + /obj/item/gun/ballistic, + /obj/item/gun/energy, + /obj/item/lighter, + /obj/item/melee/baton, + /obj/item/melee/classic_baton, + /obj/item/reagent_containers/spray/pepper, + /obj/item/restraints/handcuffs, + /obj/item/storage/fancy/cigarettes, + /obj/item/tank/internals/emergency_oxygen))) + +GLOBAL_LIST_INIT(security_vest_allowed, typecacheof(list( + /obj/item/ammo_box, + /obj/item/ammo_casing, + /obj/item/device/flashlight, + /obj/item/gun/ballistic, + /obj/item/gun/energy, + /obj/item/kitchen/knife/combat, + /obj/item/melee/baton, + /obj/item/melee/classic_baton/telescopic, + /obj/item/reagent_containers/spray/pepper, + /obj/item/restraints/handcuffs, + /obj/item/tank/internals/emergency_oxygen))) + +GLOBAL_LIST_INIT(security_wintercoat_allowed, typecacheof(list( + /obj/item/ammo_box, + /obj/item/ammo_casing, + /obj/item/device/flashlight, + /obj/item/storage/fancy/cigarettes, + /obj/item/gun/ballistic, + /obj/item/gun/energy, + /obj/item/lighter, + /obj/item/melee/baton, + /obj/item/melee/classic_baton/telescopic, + /obj/item/reagent_containers/spray/pepper, + /obj/item/restraints/handcuffs, + /obj/item/tank/internals/emergency_oxygen, + /obj/item/toy))) diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index fbd15e1ef6..47db1dbc06 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -8,7 +8,9 @@ #define ismovableatom(A) (istype(A, /atom/movable)) -#define isatom(A) (istype(A, /atom)) +#define isatom(A) (isloc(A)) + +#define isweakref(D) (istype(D, /datum/weakref)) //Turfs //#define isturf(A) (istype(A, /turf)) This is actually a byond built-in. Added here for completeness sake. @@ -183,4 +185,4 @@ GLOBAL_LIST_INIT(glass_sheet_types, typecacheof(list( /obj/item/stack/sheet/plasmaglass, /obj/item/stack/sheet/plasmarglass))) -#define is_glass_sheet(O) (is_type_in_typecache(O, GLOB.glass_sheet_types)) \ No newline at end of file +#define is_glass_sheet(O) (is_type_in_typecache(O, GLOB.glass_sheet_types)) diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index c92cb5f5a7..411abf5701 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -13,6 +13,7 @@ //#define TURF_LAYER 2 //For easy recordkeeping; this is a byond define #define MID_TURF_LAYER 2.02 #define HIGH_TURF_LAYER 2.03 +#define TURF_DECAL_LAYER 2.039 //Makes turf decals appear in DM how they will look inworld. #define ABOVE_OPEN_TURF_LAYER 2.04 #define CLOSED_TURF_LAYER 2.05 #define BULLET_HOLE_LAYER 2.06 @@ -20,7 +21,6 @@ #define LATTICE_LAYER 2.2 #define DISPOSAL_PIPE_LAYER 2.3 #define GAS_PIPE_HIDDEN_LAYER 2.35 -#define TURF_DECAL_LAYER 2.39 #define WIRE_LAYER 2.4 #define WIRE_TERMINAL_LAYER 2.45 #define GAS_SCRUBBER_LAYER 2.46 diff --git a/code/__DEFINES/logging.dm b/code/__DEFINES/logging.dm index 24e10a24d1..f558511954 100644 --- a/code/__DEFINES/logging.dm +++ b/code/__DEFINES/logging.dm @@ -1,20 +1,22 @@ //Investigate logging defines -#define INVESTIGATE_ATMOS "atmos" -#define INVESTIGATE_BOTANY "botany" -#define INVESTIGATE_CARGO "cargo" -#define INVESTIGATE_EXPERIMENTOR "experimentor" -#define INVESTIGATE_GRAVITY "gravity" -#define INVESTIGATE_RECORDS "records" -#define INVESTIGATE_SINGULO "singulo" -#define INVESTIGATE_SUPERMATTER "supermatter" -#define INVESTIGATE_TELESCI "telesci" -#define INVESTIGATE_WIRES "wires" +#define INVESTIGATE_ATMOS "atmos" +#define INVESTIGATE_BOTANY "botany" +#define INVESTIGATE_CARGO "cargo" +#define INVESTIGATE_EXPERIMENTOR "experimentor" +#define INVESTIGATE_GRAVITY "gravity" +#define INVESTIGATE_RECORDS "records" +#define INVESTIGATE_SINGULO "singulo" +#define INVESTIGATE_SUPERMATTER "supermatter" +#define INVESTIGATE_TELESCI "telesci" +#define INVESTIGATE_WIRES "wires" #define INVESTIGATE_PORTAL "portals" -#define INVESTIGATE_HALLUCINATIONS "hallucinations" +#define INVESTIGATE_HALLUCINATIONS "hallucinations" +#define INVESTIGATE_RADIATION "radiation" +#define INVESTIGATE_EXONET "exonet" //Individual logging defines -#define INDIVIDUAL_ATTACK_LOG "Attack log" -#define INDIVIDUAL_SAY_LOG "Say log" -#define INDIVIDUAL_EMOTE_LOG "Emote log" -#define INDIVIDUAL_OOC_LOG "OOC log" -#define INDIVIDUAL_SHOW_ALL_LOG "All logs" +#define INDIVIDUAL_ATTACK_LOG "Attack log" +#define INDIVIDUAL_SAY_LOG "Say log" +#define INDIVIDUAL_EMOTE_LOG "Emote log" +#define INDIVIDUAL_OOC_LOG "OOC log" +#define INDIVIDUAL_SHOW_ALL_LOG "All logs" \ No newline at end of file diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm index 9f92ea7619..4ac48b7d4f 100644 --- a/code/__DEFINES/machines.dm +++ b/code/__DEFINES/machines.dm @@ -84,3 +84,6 @@ #define SUPERMATTER_DANGER 4 // Integrity < 50% #define SUPERMATTER_EMERGENCY 5 // Integrity < 25% #define SUPERMATTER_DELAMINATING 6 // Pretty obvious. + +//R&D Snowflakes +#define RD_CONSOLE_LOCKED_SCREEN 0.2 \ No newline at end of file diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 0fdfbaca1c..d83557aaec 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -466,9 +466,15 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE //Dummy mob reserve slots #define DUMMY_HUMAN_SLOT_PREFERENCES "dummy_preference_preview" + #define DUMMY_HUMAN_SLOT_MANIFEST "dummy_manifest_generation" #define PR_ANNOUNCEMENTS_PER_ROUND 5 //The number of unique PR announcements allowed per round //This makes sure that a single person can only spam 3 reopens and 3 closes before being ignored -#define MAX_PROC_DEPTH 195 // 200 proc calls deep and shit breaks, this is a bit lower to give some safety room \ No newline at end of file +#define MAX_PROC_DEPTH 195 // 200 proc calls deep and shit breaks, this is a bit lower to give some safety room + +#define DUMMY_HUMAN_SLOT_MANIFEST "dummy_manifest_generation" + +#define SYRINGE_DRAW 0 +#define SYRINGE_INJECT 1 diff --git a/code/__DEFINES/pipe_construction.dm b/code/__DEFINES/pipe_construction.dm index a671b548ba..641187e964 100644 --- a/code/__DEFINES/pipe_construction.dm +++ b/code/__DEFINES/pipe_construction.dm @@ -1,23 +1,17 @@ //Construction Categories -#define PIPE_BINARY 0 //2 directions: N/S, E/W +#define PIPE_STRAIGHT 0 //2 directions: N/S, E/W #define PIPE_BENDABLE 1 //6 directions: N/S, E/W, N/E, N/W, S/E, S/W #define PIPE_TRINARY 2 //4 directions: N/E/S, E/S/W, S/W/N, W/N/E #define PIPE_TRIN_M 3 //8 directions: N->S+E, S->N+E, N->S+W, S->N+W, E->W+S, W->E+S, E->W+N, W->E+N #define PIPE_UNARY 4 //4 directions: N, S, E, W -#define PIPE_QUAD 5 //1 directions: N/S/E/W +#define PIPE_ONEDIR 5 //1 direction: N/S/E/W -//Disposal piping numbers - do NOT hardcode these, use the defines -#define DISP_PIPE_STRAIGHT 0 -#define DISP_PIPE_BENT 1 -#define DISP_JUNCTION 2 -#define DISP_JUNCTION_FLIP 3 -#define DISP_YJUNCTION 4 -#define DISP_END_TRUNK 5 -#define DISP_END_BIN 6 -#define DISP_END_OUTLET 7 -#define DISP_END_CHUTE 8 -#define DISP_SORTJUNCTION 9 -#define DISP_SORTJUNCTION_FLIP 10 +//Disposal pipe relative connection directions +#define DISP_DIR_BASE 0 +#define DISP_DIR_LEFT 1 +#define DISP_DIR_RIGHT 2 +#define DISP_DIR_FLIP 4 +#define DISP_DIR_NONE 8 //Transit tubes #define TRANSIT_TUBE_STRAIGHT 0 diff --git a/code/__DEFINES/say.dm b/code/__DEFINES/say.dm index 95d26de0ce..d30eb36132 100644 --- a/code/__DEFINES/say.dm +++ b/code/__DEFINES/say.dm @@ -37,9 +37,9 @@ #define EAVESDROP_EXTRA_RANGE 1 //how much past the specified message_range does the message get starred, whispering only // A link given to ghost alice to follow bob -#define FOLLOW_LINK(alice, bob) "(F)" -#define TURF_LINK(alice, turfy) "(T)" -#define FOLLOW_OR_TURF_LINK(alice, bob, turfy) "(F)" +#define FOLLOW_LINK(alice, bob) "(F)" +#define TURF_LINK(alice, turfy) "(T)" +#define FOLLOW_OR_TURF_LINK(alice, bob, turfy) "(F)" #define LOGSAY "say" #define LOGWHISPER "whisper" diff --git a/code/__DEFINES/shuttles.dm b/code/__DEFINES/shuttles.dm index a473f46d2c..26b166fd8c 100644 --- a/code/__DEFINES/shuttles.dm +++ b/code/__DEFINES/shuttles.dm @@ -65,4 +65,9 @@ //Docking turf movements #define MOVE_TURF 1 #define MOVE_AREA 2 -#define MOVE_CONTENTS 4 \ No newline at end of file +#define MOVE_CONTENTS 4 + +//Rotation params +#define ROTATE_DIR 1 +#define ROTATE_SMOOTH 2 +#define ROTATE_OFFSET 4 \ No newline at end of file diff --git a/code/__DEFINES/sound.dm b/code/__DEFINES/sound.dm index d3867e5257..6866c024e2 100644 --- a/code/__DEFINES/sound.dm +++ b/code/__DEFINES/sound.dm @@ -1,23 +1,71 @@ -//max channel is 1024. Only go lower from here, because byond tends to pick the first availiable channel to play sounds on -#define CHANNEL_LOBBYMUSIC 1024 -#define CHANNEL_ADMIN 1023 -#define CHANNEL_VOX 1022 -#define CHANNEL_JUKEBOX 1021 -#define CHANNEL_JUSTICAR_ARK 1020 -#define CHANNEL_HEARTBEAT 1019 //sound channel for heartbeats -#define CHANNEL_AMBIENCE 1018 -#define CHANNEL_BUZZ 1017 -#define CHANNEL_BICYCLE 1016 - -//Citadel code -#define CHANNEL_PRED 1015 -#define CHANNEL_PREYLOOP 1014 - -//THIS SHOULD ALWAYS BE THE LOWEST ONE! -//KEEP IT UPDATED - -#define CHANNEL_HIGHEST_AVAILABLE 1013 - -#define CHANNEL_HIGHEST_AVAILABLE 1017 -#define SOUND_MINIMUM_PRESSURE 10 -#define FALLOFF_SOUNDS 0.5 +//max channel is 1024. Only go lower from here, because byond tends to pick the first availiable channel to play sounds on +#define CHANNEL_LOBBYMUSIC 1024 +#define CHANNEL_ADMIN 1023 +#define CHANNEL_VOX 1022 +#define CHANNEL_JUKEBOX 1021 +#define CHANNEL_JUSTICAR_ARK 1020 +#define CHANNEL_HEARTBEAT 1019 //sound channel for heartbeats +#define CHANNEL_AMBIENCE 1018 +#define CHANNEL_BUZZ 1017 +#define CHANNEL_BICYCLE 1016 + +//Citadel code +#define CHANNEL_PRED 1015 +#define CHANNEL_PREYLOOP 1014 + +//THIS SHOULD ALWAYS BE THE LOWEST ONE! +//KEEP IT UPDATED + +#define CHANNEL_HIGHEST_AVAILABLE 1013 + + +#define SOUND_MINIMUM_PRESSURE 10 +#define FALLOFF_SOUNDS 0.5 + + +//Ambience types + +#define GENERIC list('sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg',\ + 'sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg',\ + 'sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg',\ + 'sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg',\ + 'sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg',\ + 'sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') + +#define HOLY list('sound/ambience/ambicha1.ogg','sound/ambience/ambicha2.ogg','sound/ambience/ambicha3.ogg',\ + 'sound/ambience/ambicha4.ogg', 'sound/ambience/ambiholy.ogg', 'sound/ambience/ambiholy2.ogg',\ + 'sound/ambience/ambiholy3.ogg') + +#define HIGHSEC list('sound/ambience/ambidanger.ogg', 'sound/ambience/ambidanger2.ogg') + +#define RUINS list('sound/ambience/ambimine.ogg', 'sound/ambience/ambicave.ogg', 'sound/ambience/ambiruin.ogg',\ + 'sound/ambience/ambiruin2.ogg', 'sound/ambience/ambiruin3.ogg', 'sound/ambience/ambiruin4.ogg',\ + 'sound/ambience/ambiruin5.ogg', 'sound/ambience/ambiruin6.ogg', 'sound/ambience/ambiruin7.ogg',\ + 'sound/ambience/ambidanger.ogg', 'sound/ambience/ambidanger2.ogg', 'sound/ambience/ambitech3.ogg',\ + 'sound/ambience/ambimystery.ogg', 'sound/ambience/ambimaint1.ogg') + +#define ENGINEERING list('sound/ambience/ambisin1.ogg','sound/ambience/ambisin2.ogg','sound/ambience/ambisin3.ogg','sound/ambience/ambisin4.ogg', 'sound/ambience/ambieng1.ogg',\ + 'sound/ambience/ambiatmos.ogg', 'sound/ambience/ambiatmos2.ogg', 'sound/ambience/ambitech.ogg', 'sound/ambience/ambitech2.ogg', 'sound/ambience/ambitech3.ogg') + +#define MINING list('sound/ambience/ambimine.ogg', 'sound/ambience/ambicave.ogg', 'sound/ambience/ambiruin.ogg',\ + 'sound/ambience/ambiruin2.ogg', 'sound/ambience/ambiruin3.ogg', 'sound/ambience/ambiruin4.ogg',\ + 'sound/ambience/ambiruin5.ogg', 'sound/ambience/ambiruin6.ogg', 'sound/ambience/ambiruin7.ogg',\ + 'sound/ambience/ambidanger.ogg', 'sound/ambience/ambidanger2.ogg', 'sound/ambience/ambimaint1.ogg', 'sound/ambience/ambilava.ogg') + +#define MEDICAL list('sound/ambience/ambinice.ogg') + +#define SPOOKY list('sound/ambience/ambimo1.ogg','sound/ambience/ambimo2.ogg','sound/ambience/ambiruin7.ogg','sound/ambience/ambiruin6.ogg',\ + 'sound/ambience/ambiodd.ogg', 'sound/ambience/ambimystery.ogg') + +#define SPACE list('sound/ambience/ambispace.ogg', 'sound/ambience/ambispace2.ogg', 'sound/ambience/title2.ogg', 'sound/ambience/ambiatmos.ogg') + +#define MAINTENANCE list('sound/ambience/ambimaint1.ogg', 'sound/ambience/ambimaint2.ogg', 'sound/ambience/ambimaint3.ogg', 'sound/ambience/ambimaint4.ogg',\ + 'sound/ambience/ambimaint5.ogg', 'sound/voice/lowHiss2.ogg', 'sound/voice/lowHiss3.ogg', 'sound/voice/lowHiss4.ogg', 'sound/ambience/ambitech2.ogg' ) + +#define AWAY_MISSION list('sound/ambience/ambitech.ogg', 'sound/ambience/ambitech2.ogg', 'sound/ambience/ambiruin.ogg',\ + 'sound/ambience/ambiruin2.ogg', 'sound/ambience/ambiruin3.ogg', 'sound/ambience/ambiruin4.ogg',\ + 'sound/ambience/ambiruin5.ogg', 'sound/ambience/ambiruin6.ogg', 'sound/ambience/ambiruin7.ogg',\ + 'sound/ambience/ambidanger.ogg', 'sound/ambience/ambidanger2.ogg', 'sound/ambience/ambimaint.ogg',\ + 'sound/ambience/ambiatmos.ogg', 'sound/ambience/ambiatmos2.ogg', 'sound/ambience/ambiodd.ogg') + +#define REEBE list('sound/ambience/ambireebe1.ogg', 'sound/ambience/ambireebe2.ogg', 'sound/ambience/ambireebe3.ogg') diff --git a/code/__DEFINES/stat_tracking.dm b/code/__DEFINES/stat_tracking.dm new file mode 100644 index 0000000000..d7d207469d --- /dev/null +++ b/code/__DEFINES/stat_tracking.dm @@ -0,0 +1,17 @@ +#define STAT_ENTRY_TIME 1 +#define STAT_ENTRY_COUNT 2 +#define STAT_ENTRY_LENGTH 2 + + +#define STAT_START_STOPWATCH var/STAT_STOP_WATCH = TICK_USAGE +#define STAT_STOP_STOPWATCH var/STAT_TIME = TICK_USAGE_TO_MS(STAT_STOP_WATCH) +#define STAT_LOG_ENTRY(entrylist, entryname) \ + var/list/STAT_ENTRY = entrylist[entryname] || (entrylist[entryname] = new /list(STAT_ENTRY_LENGTH));\ + STAT_ENTRY[STAT_ENTRY_TIME] += STAT_TIME;\ + var/STAT_INCR_AMOUNT = min(1, 2**round((STAT_ENTRY[STAT_ENTRY_COUNT] || 0)/SHORT_REAL_LIMIT));\ + if (STAT_INCR_AMOUNT == 1 || prob(100/STAT_INCR_AMOUNT)) {\ + STAT_ENTRY[STAT_ENTRY_COUNT] += STAT_INCR_AMOUNT;\ + };\ + + + diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 247e1109f8..7eaf7e089d 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -53,6 +53,7 @@ #define INIT_ORDER_ATOMS 11 #define INIT_ORDER_LANGUAGE 10 #define INIT_ORDER_MACHINES 9 +#define INIT_ORDER_CIRCUIT 8 #define INIT_ORDER_TIMER 1 #define INIT_ORDER_DEFAULT 0 #define INIT_ORDER_AIR -1 @@ -76,3 +77,27 @@ #define RUNLEVEL_POSTGAME 8 #define RUNLEVELS_DEFAULT (RUNLEVEL_SETUP | RUNLEVEL_GAME | RUNLEVEL_POSTGAME) + + + + +#define COMPILE_OVERLAYS(A)\ + if (TRUE) {\ + var/list/oo = A.our_overlays;\ + var/list/po = A.priority_overlays;\ + if(LAZYLEN(po)){\ + if(LAZYLEN(oo)){\ + A.overlays = oo + po;\ + }\ + else{\ + A.overlays = po;\ + }\ + }\ + else if(LAZYLEN(oo)){\ + A.overlays = oo;\ + }\ + else{\ + A.overlays.Cut();\ + }\ + A.flags_1 &= ~OVERLAY_QUEUED_1;\ + } \ No newline at end of file diff --git a/code/__DEFINES/tools.dm b/code/__DEFINES/tools.dm new file mode 100644 index 0000000000..8b696032fa --- /dev/null +++ b/code/__DEFINES/tools.dm @@ -0,0 +1,6 @@ +#define TOOL_NONE 0 +#define TOOL_CROWBAR 1 +#define TOOL_MULTITOOL 2 +#define TOOL_SCREWDRIVER 3 +#define TOOL_WIRECUTTER 4 +#define TOOL_WRENCH 5 \ No newline at end of file diff --git a/code/__DEFINES/wall_dents.dm b/code/__DEFINES/wall_dents.dm new file mode 100644 index 0000000000..1e4f813849 --- /dev/null +++ b/code/__DEFINES/wall_dents.dm @@ -0,0 +1,2 @@ +#define WALL_DENT_HIT 1 +#define WALL_DENT_SHOT 2 diff --git a/code/__HELPERS/areas.dm b/code/__HELPERS/areas.dm new file mode 100644 index 0000000000..6a6581dacb --- /dev/null +++ b/code/__HELPERS/areas.dm @@ -0,0 +1,93 @@ +#define BP_MAX_ROOM_SIZE 300 + +// Gets an atmos isolated contained space +// Returns an associative list of turf|dirs pairs +// The dirs are connected turfs in the same space +// break_if_found is a typecache of turf types to return false if found +/proc/detect_room(turf/origin, list/break_if_found) + if(origin.blocks_air) + return list(origin) + + . = list() + var/list/checked_turfs = list() + var/list/found_turfs = list(origin) + while(found_turfs.len) + var/turf/sourceT = found_turfs[1] + if(break_if_found[sourceT.type]) + return FALSE + found_turfs.Cut(1, 2) + var/dir_flags = checked_turfs[sourceT] + for(var/dir in GLOB.alldirs) + if(dir_flags & dir) // This means we've checked this dir before, probably from the other turf + continue + var/turf/checkT = get_step(sourceT, dir) + if(!checkT) + continue + checked_turfs[sourceT] |= dir + checked_turfs[checkT] |= turn(dir, 180) + .[sourceT] |= dir + .[checkT] |= turn(dir, 180) + var/static/list/cardinal_cache = list("[NORTH]"=TRUE, "[EAST]"=TRUE, "[SOUTH]"=TRUE, "[WEST]"=TRUE) + if(!cardinal_cache["[dir]"] || checkT.blocks_air || !CANATMOSPASS(sourceT, checkT)) + continue + found_turfs += checkT // Since checkT is connected, add it to the list to be processed + +/proc/create_area(mob/creator) + var/static/blacklisted_turfs = typecacheof(/turf/open/space) + var/static/blacklisted_areas = typecacheof(/area/space) + var/list/turfs = detect_room(get_turf(creator), blacklisted_turfs) + if(!turfs) + to_chat(creator, "The new area must be completely airtight.") + return + if(turfs.len > BP_MAX_ROOM_SIZE) + to_chat(creator, "The room you're in is too big. It is [((turfs.len / BP_MAX_ROOM_SIZE)-1)*100]% larger than allowed.") + return + // This will fuck up shuttles that use the base area type but we need to fix those anyway + var/list/areas = list("New Area" = /area, "New Shuttle Area" = /area/shuttle/custom) + for(var/i in 1 to turfs.len) + var/area/place = get_area(turfs[i]) + if(blacklisted_areas[place.type]) + continue + areas[place.name] = place + var/area_choice = input(creator, "Choose an area to expand or make a new area.", "Area Expansion") as null|anything in areas + area_choice = areas[area_choice] + + if(!area_choice) + to_chat(creator, "No choice selected. The area remains undefined.") + return + var/area/newA + var/area/oldA = get_area(get_turf(creator)) + if(!isarea(area_choice)) + var/str = trim(stripped_input(creator,"New area name:", "Blueprint Editing", "", MAX_NAME_LEN)) + if(!str || !length(str)) //cancel + return + if(length(str) > 50) + to_chat(creator, "The given name is too long. The area remains undefined.") + return + newA = new area_choice + newA.setup(str) + newA.set_dynamic_lighting() + newA.has_gravity = oldA.has_gravity + else + newA = area_choice + + for(var/i in 1 to turfs.len) + var/turf/thing = turfs[i] + var/area/old_area = thing.loc + newA.contents += thing + thing.change_area(old_area, newA) + + var/list/related_areas = oldA.related + for(var/i in 1 to related_areas.len) + var/area/place = related_areas[i] + var/list/firedoors = place.firedoors + if(!LAZYLEN(firedoors)) + continue + for(var/k in 1 to firedoors.len) + var/obj/machinery/door/firedoor/FD = firedoors[k] + FD.CalculateAffectingAreas() + + to_chat(creator, "You have created a new area, named [newA.name]. It is now weather proof, and constructing an APC will allow it to be powered.") + return TRUE + +#undef BP_MAX_ROOM_SIZE \ No newline at end of file diff --git a/code/__HELPERS/cmp.dm b/code/__HELPERS/cmp.dm index a939ab7e90..3831349536 100644 --- a/code/__HELPERS/cmp.dm +++ b/code/__HELPERS/cmp.dm @@ -58,7 +58,12 @@ GLOBAL_VAR_INIT(cmp_field, "name") . = B.failures - A.failures if (!.) . = B.qdels - A.qdels - + +/proc/cmp_generic_stat_item_time(list/A, list/B) + . = B[STAT_ENTRY_TIME] - A[STAT_ENTRY_TIME] + if (!.) + . = B[STAT_ENTRY_COUNT] - A[STAT_ENTRY_COUNT] + /proc/cmp_profile_avg_time_dsc(list/A, list/B) return (B[PROFILE_ITEM_TIME]/(B[PROFILE_ITEM_COUNT] || 1)) - (A[PROFILE_ITEM_TIME]/(A[PROFILE_ITEM_COUNT] || 1)) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index caddfdf509..7af9bf2280 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -77,7 +77,7 @@ /proc/alone_in_area(area/the_area, mob/must_be_alone, check_type = /mob/living/carbon) var/area/our_area = get_area(the_area) - for(var/C in GLOB.living_mob_list) + for(var/C in GLOB.alive_mob_list) if(!istype(C, check_type)) continue if(C == must_be_alone) @@ -214,17 +214,28 @@ /proc/get_hearers_in_view(R, atom/source) // Returns a list of hearers in view(R) from source (ignoring luminosity). Used in saycode. var/turf/T = get_turf(source) - var/list/hear = list() + . = list() if(!T) - return hear + return - var/list/range = get_hear(R, T) - for(var/atom/movable/A in range) - hear |= recursive_hear_check(A) - - return hear + var/list/processing_list = list() + if (R == 0) // if the range is zero, we know exactly where to look for, we can skip view + processing_list += T.contents // We can shave off one iteration by assuming turfs cannot hear + else // A variation of get_hear inlined here to take advantage of the compiler's fastpath for obj/mob in view + var/lum = T.luminosity + T.luminosity = 6 // This is the maximum luminosity + processing_list = viewers(R, T) + for(var/obj/O in view(R, T)) + processing_list += O + T.luminosity = lum + while(processing_list.len) // recursive_hear_check inlined here + var/atom/A = processing_list[1] + if(A.flags_1 & HEAR_1) + . += A + processing_list.Cut(1, 2) + processing_list += A.contents /proc/get_mobs_in_radio_ranges(list/obj/item/device/radio/radios) @@ -307,7 +318,8 @@ break /proc/get_mob_by_key(key) - for(var/mob/M in GLOB.mob_list) + for(var/i in GLOB.player_list) + var/mob/M = i if(M.ckey == lowertext(key)) return M return null diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm index 33189ffcee..fefc90f1ed 100644 --- a/code/__HELPERS/icon_smoothing.dm +++ b/code/__HELPERS/icon_smoothing.dm @@ -179,6 +179,10 @@ underlay_appearance.icon_state = DEFAULT_UNDERLAY_ICON_STATE underlays = U + // Drop posters which were previously placed on this wall. + for(var/obj/structure/sign/poster/P in src) + P.roll_and_drop(src) + /proc/cardinal_smooth(atom/A, adjacencies) //NW CORNER diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index 554159ab22..6b014efd6a 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -178,7 +178,7 @@ mob // Send the icon to src's local cache src< 0) ? ((rot % 360) + (rot - round(rot, 1))) : (((rot % 360) + (rot - round(rot, 1))) + 360)) +#define NORM_ROT(rot) ((((rot % 360) + (rot - round(rot, 1))) >= 0) ? ((rot % 360) + (rot - round(rot, 1))) : (((rot % 360) + (rot - round(rot, 1))) + 360)) /proc/get_angle_of_incidence(face_angle, angle_in, auto_normalize = TRUE) diff --git a/code/__HELPERS/priority_announce.dm b/code/__HELPERS/priority_announce.dm index 0ffd8d8580..021dc55347 100644 --- a/code/__HELPERS/priority_announce.dm +++ b/code/__HELPERS/priority_announce.dm @@ -1,4 +1,4 @@ -/proc/priority_announce(text, title = "", sound = 'sound/ai/attention.ogg', type) +/proc/priority_announce(text, title = "", sound = 'sound/ai/attention.ogg', type , sender_override) if(!text) return @@ -13,13 +13,18 @@ GLOB.news_network.SubmitArticle(text, "Captain's Announcement", "Station Announcements", null) else - announcement += "

[command_name()] Update

" + if(!sender_override) + announcement += "

[command_name()] Update

" + else + announcement += "

[sender_override]

" if (title && length(title) > 0) announcement += "

[html_encode(title)]

" - if(title == "") - GLOB.news_network.SubmitArticle(text, "Central Command Update", "Station Announcements", null) - else - GLOB.news_network.SubmitArticle(title + "

" + text, "Central Command", "Station Announcements", null) + + if(!sender_override) + if(title == "") + GLOB.news_network.SubmitArticle(text, "Central Command Update", "Station Announcements", null) + else + GLOB.news_network.SubmitArticle(title + "

" + text, "Central Command", "Station Announcements", null) announcement += "
[html_encode(text)]
" announcement += "
" @@ -38,14 +43,11 @@ if(announce) priority_announce("A report has been downloaded and printed out at all communications consoles.", "Incoming Classified Message", 'sound/ai/commandreport.ogg') - for(var/obj/machinery/computer/communications/C in GLOB.machines) - if(!(C.stat & (BROKEN|NOPOWER)) && (C.z in GLOB.station_z_levels)) - var/obj/item/paper/P = new /obj/item/paper(C.loc) - P.name = "paper - '[title]'" - P.info = text - C.messagetitle.Add("[title]") - C.messagetext.Add(text) - P.update_icon() + var/datum/comm_message/M = new + M.title = title + M.content = text + + SScommunications.send_message(M) /proc/minor_announce(message, title = "Attention:", alert) if(!message) diff --git a/code/__HELPERS/stat_tracking.dm b/code/__HELPERS/stat_tracking.dm new file mode 100644 index 0000000000..007cd2695d --- /dev/null +++ b/code/__HELPERS/stat_tracking.dm @@ -0,0 +1,13 @@ +/proc/render_stats(list/stats, user, sort = /proc/cmp_generic_stat_item_time) + sortTim(stats, sort, TRUE) + + var/list/lines = list() + + for (var/entry in stats) + var/list/data = stats[entry] + lines += "[entry] => [num2text(data[STAT_ENTRY_TIME], 10)]ms ([data[STAT_ENTRY_COUNT]]) (avg:[num2text(data[STAT_ENTRY_TIME]/(data[STAT_ENTRY_COUNT] || 1), 99)])" + + if (user) + user << browse("
  1. [lines.Join("
  2. ")]
", "window=[url_encode("stats:[REF(stats)]")]") + + . = lines.Join("\n") diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index 3491e831e6..b36a8c678b 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -654,7 +654,7 @@ GLOBAL_LIST_INIT(binary, list("0","1")) buffer = copytext(buffer, 1, cutoff) + punctbuffer if(!findtext(buffer,alphanumeric)) continue - if(!buffer || lentext(buffer) > 140 || lentext(buffer) <= cullshort || buffer in accepted) + if(!buffer || lentext(buffer) > 280 || lentext(buffer) <= cullshort || buffer in accepted) continue accepted += buffer diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index 75985f9c2e..64ea8de756 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -578,3 +578,23 @@ return "turf" else //regex everything else (works for /proc too) return lowertext(replacetext("[the_type]", "[type2parent(the_type)]/", "")) + +/proc/strtohex(str) + if(!istext(str)||!str) + return + var/r + var/c + for(var/i = 1 to length(str)) + c= text2ascii(str,i) + r+= num2hex(c) + return r + +/proc/hextostr(str) + if(!istext(str)||!str) + return + var/r + var/c + for(var/i = 1 to length(str)/2) + c= hex2num(copytext(str,i*2-1,i*2+1)) + r+= ascii2text(c) + return r \ No newline at end of file diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index c9b392ed76..41ee61f780 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -232,7 +232,7 @@ Turf and target are separate in case you want to teleport some distance from a t //Returns a list of unslaved cyborgs /proc/active_free_borgs() . = list() - for(var/mob/living/silicon/robot/R in GLOB.living_mob_list) + for(var/mob/living/silicon/robot/R in GLOB.alive_mob_list) if(R.connected_ai || R.shell) continue if(R.stat == DEAD) @@ -244,7 +244,7 @@ Turf and target are separate in case you want to teleport some distance from a t //Returns a list of AI's /proc/active_ais(check_mind=0) . = list() - for(var/mob/living/silicon/ai/A in GLOB.living_mob_list) + for(var/mob/living/silicon/ai/A in GLOB.alive_mob_list) if(A.stat == DEAD) continue if(A.control_disabled == 1) @@ -506,6 +506,7 @@ Turf and target are separate in case you want to teleport some distance from a t /* Gets all contents of contents and returns them all in a list. */ + /atom/proc/GetAllContents() var/list/processing_list = list(src) var/list/assembled = list() @@ -518,6 +519,19 @@ Turf and target are separate in case you want to teleport some distance from a t assembled += A return assembled +/atom/proc/GetAllContentsIgnoring(list/ignore_typecache) + if(!ignore_typecache) + return GetAllContents() + var/list/processing = list(src) + var/list/assembled = list() + while(processing.len) + var/atom/A = processing[1] + processing.Cut(1,2) + if(!ignore_typecache[A.type]) + processing += A.contents + assembled += A + return assembled + //Step-towards method of determining whether one atom can see another. Similar to viewers() /proc/can_see(atom/source, atom/target, length=5) // I couldnt be arsed to do actual raycasting :I This is horribly inaccurate. var/turf/current = get_turf(source) @@ -906,7 +920,7 @@ GLOBAL_LIST_INIT(WALLITEMS_INVERSE, typecacheof(list( /proc/living_player_count() var/living_player_count = 0 for(var/mob in GLOB.player_list) - if(mob in GLOB.living_mob_list) + if(mob in GLOB.alive_mob_list) living_player_count += 1 return living_player_count @@ -1343,6 +1357,9 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) anchored = TRUE var/ready_to_die = FALSE +/mob/dview/Initialize() //Properly prevents this mob from gaining huds or joining any global lists + return + /mob/dview/Destroy(force = FALSE) if(!ready_to_die) stack_trace("ALRIGHT WHICH FUCKER TRIED TO DELETE *MY* DVIEW?") @@ -1412,6 +1429,46 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) /proc/turf_z_is_planet(turf/T) return GLOB.z_is_planet["[T.z]"] + +//same as do_mob except for movables and it allows both to drift and doesn't draw progressbar +/proc/do_atom(atom/movable/user , atom/movable/target, time = 30, uninterruptible = 0,datum/callback/extra_checks = null) + if(!user || !target) + return TRUE + var/user_loc = user.loc + + var/drifting = FALSE + if(!user.Process_Spacemove(0) && user.inertia_dir) + drifting = TRUE + + var/target_drifting = FALSE + if(!target.Process_Spacemove(0) && target.inertia_dir) + target_drifting = TRUE + + var/target_loc = target.loc + + var/endtime = world.time+time +// var/starttime = world.time + . = TRUE + while (world.time < endtime) + stoplag(1) + if(QDELETED(user) || QDELETED(target)) + . = 0 + break + if(uninterruptible) + continue + + if(drifting && !user.inertia_dir) + drifting = FALSE + user_loc = user.loc + + if(target_drifting && !target.inertia_dir) + target_drifting = FALSE + target_loc = target.loc + + if((!drifting && user.loc != user_loc) || (!target_drifting && target.loc != target_loc) || (extra_checks && !extra_checks.Invoke())) + . = FALSE + break + //returns a GUID like identifier (using a mostly made up record format) //guids are not on their own suitable for access or security tokens, as most of their bits are predictable. // (But may make a nice salt to one) @@ -1427,5 +1484,18 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) var/time_low = num2hex(world.time, 3) var/time_clock = num2hex(TICK_DELTA_TO_MS(world.tick_usage), 3) + return "{[time_high]-[time_mid]-[GUID_VERSION][time_low]-[GUID_VARIANT][time_clock]-[node_id]}" - return "{[time_high]-[time_mid]-[GUID_VERSION][time_low]-[GUID_VARIANT][time_clock]-[node_id]}" \ No newline at end of file +// \ref behaviour got changed in 512 so this is necesary to replicate old behaviour. +// If it ever becomes necesary to get a more performant REF(), this lies here in wait +// #define REF(thing) (thing && istype(thing, /datum) && thing:use_tag && thing:tag ? "[thing:tag]" : "\ref[thing]") +/proc/REF(input) + if(istype(input, /datum)) + var/datum/thing = input + if(thing.use_tag) + if(!thing.tag) + WARNING("A ref was requested of an object with use_tag set but no tag: [thing]") + thing.use_tag = FALSE + else + return "\[[url_encode(thing.tag)]\]" + return "\ref[input]" diff --git a/code/_globalvars/lists/mobs.dm b/code/_globalvars/lists/mobs.dm index 4368757352..a9ffde59e3 100644 --- a/code/_globalvars/lists/mobs.dm +++ b/code/_globalvars/lists/mobs.dm @@ -12,10 +12,13 @@ GLOBAL_LIST_EMPTY(stealthminID) //reference list with IDs that store ckeys, GLOBAL_LIST_EMPTY(player_list) //all mobs **with clients attached**. Excludes /mob/dead/new_player GLOBAL_LIST_EMPTY(mob_list) //all mobs, including clientless GLOBAL_LIST_EMPTY(mob_directory) //mob_id -> mob -GLOBAL_LIST_EMPTY(living_mob_list) //all alive mobs, including clientless. Excludes /mob/dead/new_player +GLOBAL_LIST_EMPTY(alive_mob_list) //all alive mobs, including clientless. Excludes /mob/dead/new_player +GLOBAL_LIST_EMPTY(drones_list) GLOBAL_LIST_EMPTY(dead_mob_list) //all dead mobs, including clientless. Excludes /mob/dead/new_player GLOBAL_LIST_EMPTY(joined_player_list) //all clients that have joined the game at round-start or as a latejoin. GLOBAL_LIST_EMPTY(silicon_mobs) //all silicon mobs +GLOBAL_LIST_EMPTY(mob_living_list) //all instances of /mob/living and subtypes +GLOBAL_LIST_EMPTY(carbon_list) //all instances of /mob/living/carbon and subtypes, notably does not contain brains or simple animals GLOBAL_LIST_EMPTY(ai_list) GLOBAL_LIST_EMPTY(pai_list) GLOBAL_LIST_EMPTY(available_ai_shells) diff --git a/code/_globalvars/lists/names.dm b/code/_globalvars/lists/names.dm index c6cc5d7330..d5b2d222dd 100644 --- a/code/_globalvars/lists/names.dm +++ b/code/_globalvars/lists/names.dm @@ -19,7 +19,6 @@ GLOBAL_LIST_INIT(nightmare_names, world.file2list("strings/names/nightmare.txt") GLOBAL_LIST_INIT(megacarp_first_names, world.file2list("strings/names/megacarp1.txt")) GLOBAL_LIST_INIT(megacarp_last_names, world.file2list("strings/names/megacarp2.txt")) - GLOBAL_LIST_INIT(verbs, world.file2list("strings/names/verbs.txt")) GLOBAL_LIST_INIT(adjectives, world.file2list("strings/names/adjectives.txt")) GLOBAL_LIST_INIT(dream_strings, world.file2list("strings/dreamstrings.txt")) diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm index 5defb16551..12173b21b7 100644 --- a/code/_globalvars/lists/objects.dm +++ b/code/_globalvars/lists/objects.dm @@ -36,4 +36,5 @@ GLOBAL_LIST_EMPTY(wire_name_directory) GLOBAL_LIST_EMPTY(ai_status_displays) -GLOBAL_LIST_EMPTY(mob_spawners) // All mob_spawn objects \ No newline at end of file +GLOBAL_LIST_EMPTY(mob_spawners) // All mob_spawn objects +GLOBAL_LIST_EMPTY(alert_consoles) // Station alert consoles, /obj/machinery/computer/station_alert \ No newline at end of file diff --git a/code/_globalvars/logging.dm b/code/_globalvars/logging.dm index d06c269d28..5df8ab5ee9 100644 --- a/code/_globalvars/logging.dm +++ b/code/_globalvars/logging.dm @@ -25,7 +25,7 @@ GLOBAL_LIST_EMPTY(bombers) GLOBAL_PROTECT(bombers) GLOBAL_LIST_EMPTY(admin_log) GLOBAL_PROTECT(admin_log) -GLOBAL_LIST_EMPTY(lastsignalers) //keeps last 100 signals here in format: "[src] used \ref[src] @ location [src.loc]: [freq]/[code]" +GLOBAL_LIST_EMPTY(lastsignalers) //keeps last 100 signals here in format: "[src] used [REF(src)] @ location [src.loc]: [freq]/[code]" GLOBAL_PROTECT(lastsignalers) GLOBAL_LIST_EMPTY(lawchanges) //Stores who uploaded laws to which silicon-based lifeform, and what the law was GLOBAL_PROTECT(lawchanges) diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm index 14a0c50e7b..95ee0c317a 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -38,6 +38,8 @@ if(isnull(pixel_turf)) return if(!can_see(A)) + if(isturf(A)) //On unmodified clients clicking the static overlay clicks the turf underneath + return //So there's no point messaging admins message_admins("[key_name_admin(src)] might be running a modified client! (failed can_see on AI click of [A]([ADMIN_COORDJMP(pixel_turf)]))") var/message = "[key_name(src)] might be running a modified client! (failed can_see on AI click of [A]([COORD(pixel_turf)]))" log_admin(message) @@ -136,36 +138,35 @@ /obj/machinery/door/airlock/AICtrlClick() // Bolts doors if(emagged) return + if(locked) - Topic("aiEnable=4", list("aiEnable"="4"), 1)// 1 meaning no window (consistency!) + bolt_raise(usr) else - Topic("aiDisable=4", list("aiDisable"="4"), 1) + bolt_drop(usr) /obj/machinery/door/airlock/AIAltClick() // Eletrifies doors. if(emagged) return + if(!secondsElectrified) - // permanent shock - Topic("aiEnable=6", list("aiEnable"="6"), 1) // 1 meaning no window (consistency!) + shock_perm(usr) else - // disable/6 is not in Topic; disable/5 disables both temporary and permenant shock - Topic("aiDisable=5", list("aiDisable"="5"), 1) + shock_restore(usr) /obj/machinery/door/airlock/AIShiftClick() // Opens and closes doors! if(emagged) return - if(density) - Topic("aiEnable=7", list("aiEnable"="7"), 1) // 1 meaning no window (consistency!) - else - Topic("aiDisable=7", list("aiDisable"="7"), 1) + + user_toggle_open(usr) /obj/machinery/door/airlock/AICtrlShiftClick() // Sets/Unsets Emergency Access Override if(emagged) return + if(!emergency) - Topic("aiEnable=11", list("aiEnable"="11"), 1) // 1 meaning no window (consistency!) + emergency_on(usr) else - Topic("aiDisable=11", list("aiDisable"="11"), 1) + emergency_off(usr) /* APC */ /obj/machinery/power/apc/AICtrlClick() // turns off/on APCs. diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 4c8d060708..c9e97726b3 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -282,11 +282,13 @@ return /mob/living/carbon/MiddleClickOn(atom/A) - if(!src.stat && src.mind && src.mind.changeling && src.mind.changeling.chosen_sting && (iscarbon(A)) && (A != src)) - next_click = world.time + 5 - mind.changeling.chosen_sting.try_to_sting(src, A) - else - swap_hand() + if(!stat && mind && iscarbon(A) && A != src) + var/datum/antagonist/changeling/C = mind.has_antag_datum(/datum/antagonist/changeling) + if(C && C.chosen_sting) + C.chosen_sting.try_to_sting(src,A) + next_click = world.time + 5 + return + swap_hand() /mob/living/simple_animal/drone/MiddleClickOn(atom/A) swap_hand() @@ -344,11 +346,13 @@ return /mob/living/carbon/AltClickOn(atom/A) - if(!src.stat && src.mind && src.mind.changeling && src.mind.changeling.chosen_sting && (iscarbon(A)) && (A != src)) - next_click = world.time + 5 - mind.changeling.chosen_sting.try_to_sting(src, A) - else - ..() + if(!stat && mind && iscarbon(A) && A != src) + var/datum/antagonist/changeling/C = mind.has_antag_datum(/datum/antagonist/changeling) + if(C && C.chosen_sting) + C.chosen_sting.try_to_sting(src,A) + next_click = world.time + 5 + return + ..() /atom/proc/AltClick(mob/user) SendSignal(COMSIG_CLICK_ALT, user) diff --git a/code/_onclick/hud/_defines.dm b/code/_onclick/hud/_defines.dm index 28c7183d4a..dc06d17819 100644 --- a/code/_onclick/hud/_defines.dm +++ b/code/_onclick/hud/_defines.dm @@ -23,9 +23,6 @@ //Middle left indicators #define ui_lingchemdisplay "WEST,CENTER-1:15" #define ui_lingstingdisplay "WEST:6,CENTER-3:11" -#define ui_crafting "12:-10,1:5" -#define ui_building "12:-10,1:21" -#define ui_language_menu "11:6,2:-11" #define ui_devilsouldisplay "WEST:6,CENTER-1:15" @@ -85,6 +82,9 @@ #define ui_acti "EAST-3:24,SOUTH:5" #define ui_zonesel "EAST-1:28,SOUTH:5" #define ui_acti_alt "EAST-1:28,SOUTH:5" //alternative intent switcher for when the interface is hidden (F12) +#define ui_crafting "EAST-4:22,SOUTH:5" +#define ui_building "EAST-4:22,SOUTH:21" +#define ui_language_menu "EAST-4:6,SOUTH:21" #define ui_borg_pull "EAST-2:26,SOUTH+1:7" #define ui_borg_radio "EAST-1:28,SOUTH+1:7" diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index cd812d10a7..da2fae9882 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -390,7 +390,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." var/servants = 0 var/validservants = 0 var/list/textlist - for(var/mob/living/L in GLOB.living_mob_list) + for(var/mob/living/L in GLOB.alive_mob_list) if(is_servant_of_ratvar(L)) servants++ if(ishuman(L) || issilicon(L)) @@ -407,16 +407,13 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." textlist += "[i] Scripture: [SSticker.scripture_states[i] ? "UNLOCKED":"LOCKED"]
" var/obj/structure/destructible/clockwork/massive/celestial_gateway/G = GLOB.ark_of_the_clockwork_justiciar if(G) - var/time_info + var/time_info = G.get_arrival_time(FALSE) var/time_name if(G.seconds_until_activation) - time_info = G.seconds_until_activation time_name = "until the Ark activates" else if(G.grace_period) - time_info = G.grace_period time_name = "of grace period remaining" else if(G.progress_in_seconds) - time_info = GATEWAY_RATVAR_ARRIVAL - G.progress_in_seconds time_name = "until the Ark finishes summoning" if(time_info) textlist += "[time_info / 60] minutes [time_name].
" diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm index 12253cc550..58f0fb18a2 100644 --- a/code/_onclick/hud/fullscreen.dm +++ b/code/_onclick/hud/fullscreen.dm @@ -1,175 +1,177 @@ - -/mob - var/list/screens = list() - -/mob/proc/overlay_fullscreen(category, type, severity) - var/obj/screen/fullscreen/screen - if(screens[category]) - screen = screens[category] - if(screen.type != type) - clear_fullscreen(category, FALSE) - return .() - else if(!severity || severity == screen.severity) - return null - else - screen = new type() - - screen.icon_state = "[initial(screen.icon_state)][severity]" - screen.severity = severity - - screens[category] = screen - if(client && screen.should_show_to(src)) - client.screen += screen - return screen - -/mob/proc/clear_fullscreen(category, animated = 10) - var/obj/screen/fullscreen/screen = screens[category] - if(!screen) - return - - screens -= category - - if(animated) - animate(screen, alpha = 0, time = animated) - addtimer(CALLBACK(src, .proc/clear_fullscreen_after_animate, screen), animated, TIMER_CLIENT_TIME) - else - if(client) - client.screen -= screen - qdel(screen) - -/mob/proc/clear_fullscreen_after_animate(obj/screen/fullscreen/screen) - if(client) - client.screen -= screen - qdel(screen) - -/mob/proc/clear_fullscreens() - for(var/category in screens) - clear_fullscreen(category) - -/mob/proc/hide_fullscreens() - if(client) - for(var/category in screens) - client.screen -= screens[category] - -/mob/proc/reload_fullscreen() - if(client) - var/obj/screen/fullscreen/screen - for(var/category in screens) - screen = screens[category] - if(screen.should_show_to(src)) - client.screen |= screen - else - client.screen -= screen - -/obj/screen/fullscreen - icon = 'icons/mob/screen_full.dmi' - icon_state = "default" - screen_loc = "CENTER-7,CENTER-7" - layer = FULLSCREEN_LAYER - plane = FULLSCREEN_PLANE - mouse_opacity = MOUSE_OPACITY_TRANSPARENT - var/severity = 0 - var/show_when_dead = FALSE - -/obj/screen/fullscreen/proc/should_show_to(mob/mymob) - if(!show_when_dead && mymob.stat == DEAD) - return FALSE - return TRUE - -/obj/screen/fullscreen/Destroy() - severity = 0 - . = ..() - -/obj/screen/fullscreen/brute - icon_state = "brutedamageoverlay" - layer = UI_DAMAGE_LAYER - plane = FULLSCREEN_PLANE - -/obj/screen/fullscreen/oxy - icon_state = "oxydamageoverlay" - layer = UI_DAMAGE_LAYER - plane = FULLSCREEN_PLANE - -/obj/screen/fullscreen/crit - icon_state = "passage" - layer = CRIT_LAYER - plane = FULLSCREEN_PLANE - -/obj/screen/fullscreen/crit/vision - icon_state = "oxydamageoverlay" - layer = BLIND_LAYER - -/obj/screen/fullscreen/blind - icon_state = "blackimageoverlay" - layer = BLIND_LAYER - plane = FULLSCREEN_PLANE - -/obj/screen/fullscreen/curse - icon_state = "curse" - layer = CURSE_LAYER - plane = FULLSCREEN_PLANE - -/obj/screen/fullscreen/impaired - icon_state = "impairedoverlay" - -/obj/screen/fullscreen/blurry - icon = 'icons/mob/screen_gen.dmi' - screen_loc = "WEST,SOUTH to EAST,NORTH" - icon_state = "blurry" - -/obj/screen/fullscreen/flash - icon = 'icons/mob/screen_gen.dmi' - screen_loc = "WEST,SOUTH to EAST,NORTH" - icon_state = "flash" - -/obj/screen/fullscreen/flash/static - icon = 'icons/mob/screen_gen.dmi' - screen_loc = "WEST,SOUTH to EAST,NORTH" - icon_state = "noise" - -/obj/screen/fullscreen/high - icon = 'icons/mob/screen_gen.dmi' - screen_loc = "WEST,SOUTH to EAST,NORTH" - icon_state = "druggy" - -/obj/screen/fullscreen/color_vision - icon = 'icons/mob/screen_gen.dmi' - screen_loc = "WEST,SOUTH to EAST,NORTH" - icon_state = "flash" - alpha = 80 - -/obj/screen/fullscreen/color_vision/green - color = "#00ff00" - -/obj/screen/fullscreen/color_vision/red - color = "#ff0000" - -/obj/screen/fullscreen/color_vision/blue - color = "#0000ff" - -/obj/screen/fullscreen/lighting_backdrop - icon = 'icons/mob/screen_gen.dmi' - icon_state = "flash" - transform = matrix(200, 0, 0, 0, 200, 0) - plane = LIGHTING_PLANE - blend_mode = BLEND_OVERLAY - show_when_dead = TRUE - -//Provides darkness to the back of the lighting plane -/obj/screen/fullscreen/lighting_backdrop/lit - invisibility = INVISIBILITY_LIGHTING - layer = BACKGROUND_LAYER+21 - color = "#000" - show_when_dead = TRUE - -//Provides whiteness in case you don't see lights so everything is still visible -/obj/screen/fullscreen/lighting_backdrop/unlit - layer = BACKGROUND_LAYER+20 - show_when_dead = TRUE - -/obj/screen/fullscreen/see_through_darkness - icon_state = "nightvision" - plane = LIGHTING_PLANE - layer = LIGHTING_LAYER - blend_mode = BLEND_ADD - show_when_dead = TRUE +/mob + var/list/screens = list() + +/mob/proc/overlay_fullscreen(category, type, severity) + var/obj/screen/fullscreen/screen = screens[category] + if (!screen || screen.type != type) + // needs to be recreated + clear_fullscreen(category, FALSE) + screens[category] = screen = new type() + else if ((!severity || severity == screen.severity) && (!client || screen.screen_loc != "CENTER-7,CENTER-7" || screen.view == client.view)) + // doesn't need to be updated + return screen + + screen.icon_state = "[initial(screen.icon_state)][severity]" + screen.severity = severity + if (client && screen.should_show_to(src)) + client.screen += screen + if (screen.screen_loc == "CENTER-7,CENTER-7" && screen.view != client.view) + var/scale = (1 + 2 * client.view) / 15 + screen.view = client.view + screen.transform = matrix(scale, 0, 0, 0, scale, 0) + + return screen + +/mob/proc/clear_fullscreen(category, animated = 10) + var/obj/screen/fullscreen/screen = screens[category] + if(!screen) + return + + screens -= category + + if(animated) + animate(screen, alpha = 0, time = animated) + addtimer(CALLBACK(src, .proc/clear_fullscreen_after_animate, screen), animated, TIMER_CLIENT_TIME) + else + if(client) + client.screen -= screen + qdel(screen) + +/mob/proc/clear_fullscreen_after_animate(obj/screen/fullscreen/screen) + if(client) + client.screen -= screen + qdel(screen) + +/mob/proc/clear_fullscreens() + for(var/category in screens) + clear_fullscreen(category) + +/mob/proc/hide_fullscreens() + if(client) + for(var/category in screens) + client.screen -= screens[category] + +/mob/proc/reload_fullscreen() + if(client) + var/obj/screen/fullscreen/screen + for(var/category in screens) + screen = screens[category] + if(screen.should_show_to(src)) + client.screen |= screen + else + client.screen -= screen + +/obj/screen/fullscreen + icon = 'icons/mob/screen_full.dmi' + icon_state = "default" + screen_loc = "CENTER-7,CENTER-7" + layer = FULLSCREEN_LAYER + plane = FULLSCREEN_PLANE + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + var/view = 7 + var/severity = 0 + var/show_when_dead = FALSE + +/obj/screen/fullscreen/proc/should_show_to(mob/mymob) + if(!show_when_dead && mymob.stat == DEAD) + return FALSE + return TRUE + +/obj/screen/fullscreen/Destroy() + severity = 0 + . = ..() + +/obj/screen/fullscreen/brute + icon_state = "brutedamageoverlay" + layer = UI_DAMAGE_LAYER + plane = FULLSCREEN_PLANE + +/obj/screen/fullscreen/oxy + icon_state = "oxydamageoverlay" + layer = UI_DAMAGE_LAYER + plane = FULLSCREEN_PLANE + +/obj/screen/fullscreen/crit + icon_state = "passage" + layer = CRIT_LAYER + plane = FULLSCREEN_PLANE + +/obj/screen/fullscreen/crit/vision + icon_state = "oxydamageoverlay" + layer = BLIND_LAYER + +/obj/screen/fullscreen/blind + icon_state = "blackimageoverlay" + layer = BLIND_LAYER + plane = FULLSCREEN_PLANE + +/obj/screen/fullscreen/curse + icon_state = "curse" + layer = CURSE_LAYER + plane = FULLSCREEN_PLANE + +/obj/screen/fullscreen/impaired + icon_state = "impairedoverlay" + +/obj/screen/fullscreen/blurry + icon = 'icons/mob/screen_gen.dmi' + screen_loc = "WEST,SOUTH to EAST,NORTH" + icon_state = "blurry" + +/obj/screen/fullscreen/flash + icon = 'icons/mob/screen_gen.dmi' + screen_loc = "WEST,SOUTH to EAST,NORTH" + icon_state = "flash" + +/obj/screen/fullscreen/flash/static + icon = 'icons/mob/screen_gen.dmi' + screen_loc = "WEST,SOUTH to EAST,NORTH" + icon_state = "noise" + +/obj/screen/fullscreen/high + icon = 'icons/mob/screen_gen.dmi' + screen_loc = "WEST,SOUTH to EAST,NORTH" + icon_state = "druggy" + +/obj/screen/fullscreen/color_vision + icon = 'icons/mob/screen_gen.dmi' + screen_loc = "WEST,SOUTH to EAST,NORTH" + icon_state = "flash" + alpha = 80 + +/obj/screen/fullscreen/color_vision/green + color = "#00ff00" + +/obj/screen/fullscreen/color_vision/red + color = "#ff0000" + +/obj/screen/fullscreen/color_vision/blue + color = "#0000ff" + +/obj/screen/fullscreen/lighting_backdrop + icon = 'icons/mob/screen_gen.dmi' + icon_state = "flash" + transform = matrix(200, 0, 0, 0, 200, 0) + plane = LIGHTING_PLANE + blend_mode = BLEND_OVERLAY + show_when_dead = TRUE + +//Provides darkness to the back of the lighting plane +/obj/screen/fullscreen/lighting_backdrop/lit + invisibility = INVISIBILITY_LIGHTING + layer = BACKGROUND_LAYER+21 + color = "#000" + show_when_dead = TRUE + +//Provides whiteness in case you don't see lights so everything is still visible +/obj/screen/fullscreen/lighting_backdrop/unlit + layer = BACKGROUND_LAYER+20 + show_when_dead = TRUE + +/obj/screen/fullscreen/see_through_darkness + icon_state = "nightvision" + plane = LIGHTING_PLANE + layer = LIGHTING_LAYER + blend_mode = BLEND_ADD + show_when_dead = TRUE + diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 79271d1d6d..45bfbeb4fa 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -539,7 +539,7 @@ screen_loc = ui_healthdoll /obj/screen/splash - icon = 'config/title_screens/images/title1.dmi' + icon = 'icons/blank_title.png' icon_state = "" screen_loc = "1,1" layer = SPLASHSCREEN_LAYER diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index de1dfdbf67..acdccba3df 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -1,12 +1,29 @@ /obj/item/proc/melee_attack_chain(mob/user, atom/target, params) - if(pre_attackby(target, user, params)) + if(!tool_check(user, target) && pre_attackby(target, user, params)) // Return 1 in attackby() to prevent afterattack() effects (when safely moving items for example) var/resolved = target.attackby(src, user, params) if(!resolved && target && !QDELETED(src)) afterattack(target, user, 1, params) // 1: clicking something Adjacent +//Checks if the item can work as a tool, calling the appropriate tool behavior on the target +/obj/item/proc/tool_check(mob/user, atom/target) + switch(tool_behaviour) + if(TOOL_NONE) + return FALSE + if(TOOL_CROWBAR) + return target.crowbar_act(user, src) + if(TOOL_MULTITOOL) + return target.multitool_act(user, src) + if(TOOL_SCREWDRIVER) + return target.screwdriver_act(user, src) + if(TOOL_WRENCH) + return target.wrench_act(user, src) + if(TOOL_WIRECUTTER) + return target.wirecutter_act(user, src) + + // Called when the item is in the active hand, and clicked; alternately, there is an 'activate held object' verb or you can hit pagedown. /obj/item/proc/attack_self(mob/user) SendSignal(COMSIG_ITEM_ATTACK_SELF, user) @@ -118,5 +135,4 @@ attack_message = "[user] has [message_verb] [src][message_hit_area] with [I]!" visible_message("[attack_message]", \ "[attack_message]", null, COMBAT_MESSAGE_RANGE) - return 1 - + return 1 \ No newline at end of file diff --git a/code/_onclick/observer.dm b/code/_onclick/observer.dm index 55f3e83b61..5ca74b8eee 100644 --- a/code/_onclick/observer.dm +++ b/code/_onclick/observer.dm @@ -53,23 +53,19 @@ if(user.client) if(IsAdminGhost(user)) attack_ai(user) - if(user.client.prefs.inquisitive_ghost) + else if(user.client.prefs.inquisitive_ghost) user.examinate(src) +/mob/living/attack_ghost(mob/dead/observer/user) + if(user.client && user.health_scan) + healthscan(user, src, 1, TRUE) + return + ..() + // --------------------------------------- // And here are some good things for free: // Now you can click through portals, wormholes, gateways, and teleporters while observing. -Sayu -/obj/machinery/teleport/hub/attack_ghost(mob/user) - var/atom/l = loc - var/obj/machinery/computer/teleporter/com = locate(/obj/machinery/computer/teleporter, locate(l.x - 2, l.y, l.z)) - if(com && com.locked) - user.forceMove(get_turf(com.locked)) - -/obj/effect/portal/attack_ghost(mob/user) - if(linked) - user.forceMove(get_turf(linked)) - /obj/machinery/gateway/centerstation/attack_ghost(mob/user) if(awaygate) user.forceMove(awaygate.loc) diff --git a/code/citadel/cit_clothes.dm b/code/citadel/cit_clothes.dm new file mode 100644 index 0000000000..dd83c6b769 --- /dev/null +++ b/code/citadel/cit_clothes.dm @@ -0,0 +1,31 @@ +/*///////////////////////////////////////////////////////////////////////////////// +/////// /////// +/////// Cit's exclusive jumpsuits, uniforms, etc. go here /////// +/////// /////// +*////////////////////////////////////////////////////////////////////////////////// + + +/obj/item/clothing/under/rank/security/skirt + name = "security skirt" + desc = "A tactical security skirt for officers complete with Nanotrasen belt buckle." + icon = 'icons/obj/clothing/cit_clothes.dmi' + icon_state = "secskirt" + icon_override = 'icons/mob/citadel/uniforms.dmi' + item_state = "r_suit" + item_color = "secskirt" + +/obj/item/clothing/under/rank/head_of_security/skirt + name = "head of security's skirt" + desc = "A security skirt decorated for those few with the dedication to achieve the position of Head of Security." + icon = 'icons/obj/clothing/cit_clothes.dmi' + icon_state = "hosskirt" + icon_override = 'icons/mob/citadel/uniforms.dmi' + item_state = "gy_suit" + item_color = "hosskirt" + +/obj/item/clothing/suit/armor/hos/trenchcoat/cloak + name = "armored trenchcloak" + desc = "A trenchcoat enchanced with a special lightweight kevlar. This one appears to be designed to be draped over one's shoulders rather than worn normally.." + alternate_worn_icon = 'icons/mob/citadel/suit.dmi' + icon_state = "hostrench" + item_state = "hostrench" \ No newline at end of file diff --git a/code/citadel/cit_displaycases.dm b/code/citadel/cit_displaycases.dm new file mode 100644 index 0000000000..f660475cfc --- /dev/null +++ b/code/citadel/cit_displaycases.dm @@ -0,0 +1,5 @@ +/obj/structure/displaycase/clown + desc = "In the event of clown, honk glass." + alert = 1 + start_showpiece_type = /obj/item/bikehorn + req_access = list(ACCESS_CENT_GENERAL) diff --git a/code/citadel/cit_guns.dm b/code/citadel/cit_guns.dm index 8a90e75a6b..d4008b18ae 100644 --- a/code/citadel/cit_guns.dm +++ b/code/citadel/cit_guns.dm @@ -180,6 +180,7 @@ icon_state = "toy9magazine" max_ammo = 30 multiple_sprites = 2 + materials = list(MAT_METAL = 200) /obj/item/gun/ballistic/automatic/x9/toy name = "\improper Foam Force X9" @@ -193,6 +194,7 @@ spread = 90 //MAXIMUM XCOM MEMES (actually that'd be 180 spread) w_class = WEIGHT_CLASS_BULKY weapon_weight = WEAPON_HEAVY + origin_tech = "combat=1;magnets=1" /datum/design/foam_x9 name = "Foam Force X9 Rifle" @@ -213,6 +215,8 @@ damage = 15 armour_penetration = 10 light_range = 2 + speed = 1.2 + range = 25 light_color = LIGHT_COLOR_RED /obj/item/projectile/bullet/nlmags //non-lethal boolets @@ -220,9 +224,11 @@ icon_state = "magjectile-nl" damage = 1 knockdown = 0 - stamina = 25 + stamina = 30 armour_penetration = -10 light_range = 2 + speed = 1.2 + range = 25 light_color = LIGHT_COLOR_BLUE @@ -289,6 +295,7 @@ /obj/item/gun/ballistic/automatic/pistol/mag/nopin pin = null + spawnwithmagazine = FALSE /datum/design/magpistol name = "Magpistol" @@ -347,6 +354,7 @@ fire_sound = 'sound/weapons/magpistol.ogg' slot_flags = SLOT_BELT w_class = WEIGHT_CLASS_SMALL + origin_tech = "combat=1;magnets=1" /obj/item/ammo_box/foambox/mag name = "ammo box (Magnetic Foam Darts)" @@ -378,19 +386,23 @@ /obj/item/projectile/bullet/magrifle icon = 'icons/obj/guns/cit_guns.dmi' icon_state = "magjectile-large" - damage = 25 + damage = 20 armour_penetration = 25 light_range = 3 + speed = 1.2 + range = 35 light_color = LIGHT_COLOR_RED /obj/item/projectile/bullet/nlmagrifle //non-lethal boolets icon = 'icons/obj/guns/cit_guns.dmi' icon_state = "magjectile-large-nl" - damage = 2 + damage = 1 knockdown = 0 - stamina = 30 + stamina = 35 armour_penetration = -10 light_range = 3 + speed = 1.0 + range = 35 light_color = LIGHT_COLOR_BLUE ///ammo casings/// @@ -451,6 +463,7 @@ /obj/item/gun/ballistic/automatic/magrifle/nopin pin = null + spawnwithmagazine = FALSE /datum/design/magrifle name = "Magrifle" @@ -489,15 +502,16 @@ max_ammo = 15 multiple_sprites = 2 ammo_type = /obj/item/ammo_casing/caseless/foam_dart/mag + materials = list(MAT_METAL = 200) /obj/item/gun/ballistic/automatic/magrifle/toy name = "foamag rifle" desc = "A foam launching magnetic rifle. Ages 8 and up." icon_state = "foamagrifle" - needs_permit = 0 + needs_permit = FALSE mag_type = /obj/item/ammo_box/magazine/toy/foamag casing_ejector = FALSE - origin_tech = "combat=2;engineering=2;magnets=2" + origin_tech = "combat=1;engineering=1;magnets=1" spread = 60 w_class = WEIGHT_CLASS_BULKY weapon_weight = WEAPON_HEAVY @@ -631,6 +645,7 @@ charge_delay = 2 recoil = 2 cell_type = /obj/item/stock_parts/cell/toymagburst + origin_tech = "combat=1;magnets=1" /obj/item/stock_parts/cell/toymagburst name = "toy mag burst rifle power supply" @@ -687,6 +702,7 @@ fire_delay = 0 spread = 60 actions_types = list() + origin_tech = "combat=1;magnets=1" /obj/item/gun/ballistic/automatic/toy/pistol/stealth/update_icon() ..() @@ -913,6 +929,7 @@ obj/item/projectile/bullet/c10mm/soporific desc = "A toy laser with a classic, retro feel and look. Compatible with existing laser tag systems." ammo_type = list(/obj/item/ammo_casing/energy/laser/raytag) selfcharge = TRUE + origin_tech = "combat=1;magnets=1" /datum/design/toyray name = "RayTag Gun" @@ -1060,6 +1077,7 @@ obj/item/projectile/bullet/c10mm/soporific if(arm_color_input) arm_color = sanitize_hexcolor(arm_color_input, desired_format=6, include_crunch=1) update_icon() + A.UpdateButtonIcon() else ..() @@ -1070,12 +1088,16 @@ obj/item/projectile/bullet/c10mm/soporific name = "9mm frangible bullet" damage = 15 stamina = 0 + speed = 1.0 + range = 20 armour_penetration = -25 /obj/item/projectile/bullet/c9mm/rubber name = "9mm rubber bullet" - damage = 2 - stamina = 25 + damage = 5 + stamina = 30 + speed = 1.2 + range = 14 knockdown = 0 /obj/item/ammo_casing/c9mm/frangible @@ -1120,9 +1142,9 @@ obj/item/projectile/bullet/c10mm/soporific name = "Box of 9mm Frangible Bullets" id = "9mm_frag" build_type = AUTOLATHE - materials = list(MAT_METAL = 30000) + materials = list(MAT_METAL = 25000) build_path = /obj/item/ammo_box/c9mm/frangible - category = list("initial", "Security") + category = list("hacked", "Security") /datum/design/c9mmrubber name = "Box of 9mm Rubber Bullets" @@ -1157,10 +1179,13 @@ obj/item/projectile/bullet/c10mm/soporific name = "\improper Foam Force Mk.37F" desc = "A licensed foam-firing reproduction of a handgun with a toggle-locking mechanism manufactured by CX Armories. This model is coated with a special polychromic material. Uses standard foam pistol magazines." icon_state = "p37_foam" + pin = /obj/item/device/firing_pin spawnwithmagazine = TRUE + needs_permit = FALSE mag_type = /obj/item/ammo_box/magazine/toy/pistol can_suppress = FALSE actions_types = list(/datum/action/item_action/pick_color) + origin_tech = "combat=1;magnets=1" /datum/design/foam_p37 name = "Foam Force Mk.37F" @@ -1196,6 +1221,10 @@ obj/item/gun/energy/e_gun/cx/update_icon() body_overlay.color = body_color add_overlay(body_overlay) + if(ismob(loc)) + var/mob/M = loc + M.update_inv_hands() + obj/item/gun/energy/e_gun/cx/ui_action_click(mob/user, var/datum/action/A) if(istype(A, /datum/action/item_action/pick_color)) if(alert("Are you sure you want to repaint your gun?", "Confirm Repaint", "Yes", "No") == "Yes") @@ -1203,6 +1232,7 @@ obj/item/gun/energy/e_gun/cx/ui_action_click(mob/user, var/datum/action/A) if(body_color_input) body_color = sanitize_hexcolor(body_color_input, desired_format=6, include_crunch=1) update_icon() + A.UpdateButtonIcon() else ..() @@ -1211,4 +1241,8 @@ obj/item/gun/energy/e_gun/cx/worn_overlays(isinhands, icon_file) if(isinhands) var/mutable_appearance/body_inhand = mutable_appearance(icon_file, "cxe_body") body_inhand.color = body_color - . += body_inhand \ No newline at end of file + . += body_inhand + +/obj/item/ammo_box/magazine/toy/pistol //forcing this might be a bad idea, but it'll fix the foam gun infinite material exploit + ..() + materials = list(MAT_METAL = 200) \ No newline at end of file diff --git a/code/citadel/cit_weapons.dm b/code/citadel/cit_weapons.dm index 466a41e427..c709fe90e9 100644 --- a/code/citadel/cit_weapons.dm +++ b/code/citadel/cit_weapons.dm @@ -32,6 +32,10 @@ set_light(0) update_icon() + for(var/X in actions) + var/datum/action/A = X + A.UpdateButtonIcon() + add_fingerprint(user) /obj/item/toy/sword/cx/update_icon() @@ -49,6 +53,10 @@ if(active) add_overlay(blade_overlay) + if(ismob(loc)) + var/mob/M = loc + M.update_inv_hands() + /obj/item/toy/sword/cx/ui_action_click(mob/user, var/datum/action/A) if(istype(A, /datum/action/item_action/pick_color)) if(alert("Are you sure you want to recolor your blade?", "Confirm Repaint", "Yes", "No") == "Yes") @@ -56,10 +64,8 @@ if(energy_color_input) light_color = sanitize_hexcolor(energy_color_input, desired_format=6, include_crunch=1) update_icon() - if(ismob(loc)) - var/mob/M = loc - M.update_inv_hands() update_light() + A.UpdateButtonIcon() else ..() @@ -72,6 +78,9 @@ blade_inhand.color = light_color . += blade_inhand +/obj/item/toy/sword/cx/attackby(obj/item/W, mob/living/user, params) + return //NO MORE MAKING DUAL ESWORDS + /*///autolathe memes/// I really need to stop doing this and find a proper way of adding in my toys /datum/design/toyneb @@ -143,6 +152,9 @@ update_icon() transform_messages(user, supress_message_text) add_fingerprint(user) + for(var/X in actions) + var/datum/action/A = X + A.UpdateButtonIcon() return TRUE /obj/item/melee/transforming/energy/sword/cx/transform_messages(mob/living/user, supress_message_text) @@ -165,6 +177,10 @@ if(active) add_overlay(blade_overlay) + if(ismob(loc)) + var/mob/M = loc + M.update_inv_hands() + /obj/item/melee/transforming/energy/sword/cx/ui_action_click(mob/user, var/datum/action/A) if(istype(A, /datum/action/item_action/pick_color)) if(alert("Are you sure you want to recolor your blade?", "Confirm Repaint", "Yes", "No") == "Yes") @@ -172,10 +188,8 @@ if(energy_color_input) light_color = sanitize_hexcolor(energy_color_input, desired_format=6, include_crunch=1) update_icon() - if(ismob(loc)) - var/mob/M = loc - M.update_inv_hands() update_light() + A.UpdateButtonIcon() else ..() diff --git a/code/citadel/crew_objectives/cit_crewobjectives_science.dm b/code/citadel/crew_objectives/cit_crewobjectives_science.dm index f04f97b174..1fcba91e46 100644 --- a/code/citadel/crew_objectives/cit_crewobjectives_science.dm +++ b/code/citadel/crew_objectives/cit_crewobjectives_science.dm @@ -15,7 +15,7 @@ /datum/objective/crew/cyborgs/check_completion() var/borgcount = target_amount - for(var/mob/living/silicon/robot/R in GLOB.living_mob_list) + for(var/mob/living/silicon/robot/R in GLOB.alive_mob_list) if(!(R.stat == DEAD)) borgcount-- if(borgcount <= 0) @@ -42,4 +42,4 @@ if(S && S.files && S.files.known_designs) if(targetdesign in S.files.known_designs) return TRUE - return FALSE \ No newline at end of file + return FALSE diff --git a/code/controllers/configuration/config_entry.dm b/code/controllers/configuration/config_entry.dm index 5358073dbe..92dcb9baf0 100644 --- a/code/controllers/configuration/config_entry.dm +++ b/code/controllers/configuration/config_entry.dm @@ -51,6 +51,11 @@ return FALSE return ..() +/datum/config_entry/proc/VASProcCallGuard(str_val) + . = !(IsAdminAdvancedProcCall() && GLOB.LastAdminCalledProc == "ValidateAndSet" && GLOB.LastAdminCalledTargetRef == "[REF(src)]") + if(!.) + log_admin_private("Config set of [type] to [str_val] attempted by [key_name(usr)]") + /datum/config_entry/proc/ValidateAndSet(str_val) CRASH("Invalid config entry type!") diff --git a/code/controllers/configuration/configuration.dm b/code/controllers/configuration/configuration.dm index 278424ca79..70be8cfa0c 100644 --- a/code/controllers/configuration/configuration.dm +++ b/code/controllers/configuration/configuration.dm @@ -124,7 +124,7 @@ GLOBAL_PROTECT(config_dir) stat("[name]:", statclick) /datum/controller/configuration/proc/Get(entry_type) - if(IsAdminAdvancedProcCall() && GLOB.LastAdminCalledProc == "Get" && GLOB.LastAdminCalledTargetRef == "\ref[src]") + if(IsAdminAdvancedProcCall() && GLOB.LastAdminCalledProc == "Get" && GLOB.LastAdminCalledTargetRef == "[REF(src)]") log_admin_private("Config access of [entry_type] attempted by [key_name(usr)]") return var/datum/config_entry/E = entry_type @@ -137,7 +137,7 @@ GLOBAL_PROTECT(config_dir) return E.value /datum/controller/configuration/proc/Set(entry_type, new_val) - if(IsAdminAdvancedProcCall() && GLOB.LastAdminCalledProc == "Set" && GLOB.LastAdminCalledTargetRef == "\ref[src]") + if(IsAdminAdvancedProcCall() && GLOB.LastAdminCalledProc == "Set" && GLOB.LastAdminCalledTargetRef == "[REF(src)]") log_admin_private("Config rewrite of [entry_type] to [new_val] attempted by [key_name(usr)]") return var/datum/config_entry/E = entry_type diff --git a/code/controllers/configuration/entries/config.dm b/code/controllers/configuration/entries/config.dm index f1ee6a557c..39739593fc 100644 --- a/code/controllers/configuration/entries/config.dm +++ b/code/controllers/configuration/entries/config.dm @@ -318,6 +318,8 @@ CONFIG_DEF(number/client_warn_version) CONFIG_DEF(string/client_warn_message) value = "Your version of byond may have issues or be blocked from accessing this server in the future." +CONFIG_DEF(flag/client_warn_popup) + CONFIG_DEF(number/client_error_version) value = null min_val = 500 @@ -372,3 +374,10 @@ CONFIG_TWEAK(number/mc_tick_rate/ValidateAndSet(str_val)) . = ..() if (.) Master.UpdateTickRate() + +CONFIG_DEF(flag/resume_after_initializations) + +CONFIG_TWEAK(flag/ValidateAndSet(str_val)) + . = ..() + if(. && Master.current_runlevel) + world.sleep_offline = !value diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index ea79ba81f3..1b58d86db2 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -163,9 +163,20 @@ CONFIG_DEF(flag/ooc_during_round) CONFIG_DEF(flag/emojis) CONFIG_DEF(number/run_delay) //Used for modifying movement speed for mobs. + var/static/value_cache = 0 + +CONFIG_TWEAK(number/run_delay/ValidateAndSet()) + . = ..() + if(.) + value_cache = value CONFIG_DEF(number/walk_delay) + var/static/value_cache = 0 +CONFIG_TWEAK(number/walk_delay/ValidateAndSet()) + . = ..() + if(.) + value_cache = value CONFIG_DEF(number/human_delay) //Mob specific modifiers. NOTE: These will affect different mob types in different ways CONFIG_DEF(number/robot_delay) @@ -251,3 +262,5 @@ CONFIG_DEF(number/emergency_shuttle_autocall_threshold) min_val = 0 max_val = 1 integer = FALSE + +CONFIG_DEF(flag/ic_printing) \ No newline at end of file diff --git a/code/controllers/globals.dm b/code/controllers/globals.dm index 6aca9c1911..095e69573a 100644 --- a/code/controllers/globals.dm +++ b/code/controllers/globals.dm @@ -40,18 +40,18 @@ GLOBAL_REAL(GLOB, /datum/controller/global_vars) stat("Globals:", statclick.update("Edit")) /datum/controller/global_vars/can_vv_get(var_name) - if(var_name in gvars_datum_protected_varlist) + if(gvars_datum_protected_varlist[var_name]) return FALSE return ..() /datum/controller/global_vars/vv_edit_var(var_name, var_value) - if((var_name in gvars_datum_protected_varlist)) + if(gvars_datum_protected_varlist[var_name]) return FALSE return ..() /datum/controller/global_vars/Initialize() gvars_datum_init_order = list() - gvars_datum_protected_varlist = list("gvars_datum_protected_varlist") + gvars_datum_protected_varlist = list("gvars_datum_protected_varlist" = TRUE) var/list/global_procs = typesof(/datum/controller/global_vars/proc) var/expected_len = vars.len - gvars_datum_in_built_vars.len if(global_procs.len != expected_len) diff --git a/code/controllers/master.dm b/code/controllers/master.dm index 852437705b..568257e10f 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -189,10 +189,12 @@ GLOBAL_REAL(Master, /datum/controller/master) = new // Sort subsystems by display setting for easy access. sortTim(subsystems, /proc/cmp_subsystem_display) // Set world options. - world.sleep_offline = 1 + world.sleep_offline = TRUE world.fps = CONFIG_GET(number/fps) var/initialized_tod = REALTIMEOFDAY sleep(1) + if(CONFIG_GET(flag/resume_after_initializations)) + world.sleep_offline = FALSE initializations_finished_with_no_players_logged_in = initialized_tod < REALTIMEOFDAY - 10 // Loop. Master.StartProcessing(0) diff --git a/code/controllers/subsystem/air.dm b/code/controllers/subsystem/air.dm index b5dbabb934..59b6fc34ef 100644 --- a/code/controllers/subsystem/air.dm +++ b/code/controllers/subsystem/air.dm @@ -27,6 +27,7 @@ SUBSYSTEM_DEF(air) var/list/hotspots = list() var/list/networks = list() var/list/obj/machinery/atmos_machinery = list() + var/list/pipe_init_dirs_cache = list() @@ -376,6 +377,16 @@ SUBSYSTEM_DEF(air) AM.build_network() CHECK_TICK +/datum/controller/subsystem/air/proc/get_init_dirs(type, dir) + if(!pipe_init_dirs_cache[type]) + pipe_init_dirs_cache[type] = list() + + if(!pipe_init_dirs_cache[type]["[dir]"]) + var/obj/machinery/atmospherics/temp = new type(null, FALSE, dir) + pipe_init_dirs_cache[type]["[dir]"] = temp.GetInitDirections() + qdel(temp) + + return pipe_init_dirs_cache[type]["[dir]"] #undef SSAIR_PIPENETS #undef SSAIR_ATMOSMACHINERY diff --git a/code/controllers/subsystem/communications.dm b/code/controllers/subsystem/communications.dm index 7a8748c20f..e86d32f76b 100644 --- a/code/controllers/subsystem/communications.dm +++ b/code/controllers/subsystem/communications.dm @@ -28,5 +28,19 @@ SUBSYSTEM_DEF(communications) log_talk(user,"[key_name(user)] has made a priority announcement: [input]",LOGSAY) message_admins("[key_name_admin(user)] has made a priority announcement.") +/datum/controller/subsystem/communications/proc/send_message(datum/comm_message/sending,print = TRUE,unique = FALSE) + for(var/obj/machinery/computer/communications/C in GLOB.machines) + if(!(C.stat & (BROKEN|NOPOWER)) && (C.z in GLOB.station_z_levels)) + if(unique) + C.add_message(sending) + else //We copy the message for each console, answers and deletions won't be shared + var/datum/comm_message/M = new(sending.title,sending.content,sending.possible_answers.Copy()) + C.add_message(M) + if(print) + var/obj/item/paper/P = new /obj/item/paper(C.loc) + P.name = "paper - '[sending.title]'" + P.info = sending.content + P.update_icon() + #undef COMMUNICATION_COOLDOWN #undef COMMUNICATION_COOLDOWN_AI diff --git a/code/controllers/subsystem/dbcore.dm b/code/controllers/subsystem/dbcore.dm index 10978b7d32..bbf1fef8d9 100644 --- a/code/controllers/subsystem/dbcore.dm +++ b/code/controllers/subsystem/dbcore.dm @@ -186,7 +186,7 @@ Delayed insert mode was removed in mysql 7 and only works with MyISAM type table /datum/DBQuery/proc/warn_execute() . = Execute() if(!.) - to_chat(usr, "A SQL error occured during this operation, check the server logs.") + to_chat(usr, "A SQL error occurred during this operation, check the server logs.") /datum/DBQuery/proc/Execute(sql_query = sql, cursor_handler = default_cursor, log_error = TRUE) Close() diff --git a/code/controllers/subsystem/events.dm b/code/controllers/subsystem/events.dm index f435d7e819..3aa1747dee 100644 --- a/code/controllers/subsystem/events.dm +++ b/code/controllers/subsystem/events.dm @@ -133,7 +133,7 @@ SUBSYSTEM_DEF(events) var/magic = "" var/holiday = "" for(var/datum/round_event_control/E in SSevents.control) - dat = "
[E]" + dat = "
[E]" if(E.holidayID) holiday += dat else if(E.wizardevent) @@ -177,7 +177,7 @@ SUBSYSTEM_DEF(events) var/YY = text2num(time2text(world.timeofday, "YY")) // get the current year var/MM = text2num(time2text(world.timeofday, "MM")) // get the current month var/DD = text2num(time2text(world.timeofday, "DD")) // get the current day - var/DDD = text2num(time2text(world.timeofday, "DDD")) // get the current weekday + var/DDD = time2text(world.timeofday, "DDD") // get the current weekday var/W = weekdayofthemonth() // is this the first monday? second? etc. for(var/H in subtypesof(/datum/holiday)) diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm index ccfc041b21..6203f1b474 100644 --- a/code/controllers/subsystem/garbage.dm +++ b/code/controllers/subsystem/garbage.dm @@ -164,7 +164,7 @@ SUBSYSTEM_DEF(garbage) #endif var/type = D.type var/datum/qdel_item/I = items[type] - testing("GC: -- \ref[D] | [type] was unable to be GC'd --") + testing("GC: -- \ref[src] | [type] was unable to be GC'd --") I.failures++ if (GC_QUEUE_HARDDELETE) HardDelete(D) @@ -263,7 +263,7 @@ SUBSYSTEM_DEF(garbage) // Should be treated as a replacement for the 'del' keyword. // Datums passed to this will be given a chance to clean up references to allow the GC to collect them. -/proc/qdel(datum/D, force=FALSE) +/proc/qdel(datum/D, force=FALSE, ...) if(!istype(D)) del(D) return @@ -278,7 +278,7 @@ SUBSYSTEM_DEF(garbage) D.gc_destroyed = GC_CURRENTLY_BEING_QDELETED var/start_time = world.time var/start_tick = world.tick_usage - var/hint = D.Destroy(force) // Let our friend know they're about to get fucked up. + var/hint = D.Destroy(arglist(args.Copy(2))) // Let our friend know they're about to get fucked up. if(world.time != start_time) I.slept_destroy++ else diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index 5645f0527f..5daa0137af 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -575,7 +575,7 @@ SUBSYSTEM_DEF(job) /////////////////////////////////// /datum/controller/subsystem/job/proc/get_living_heads() . = list() - for(var/mob/living/carbon/human/player in GLOB.mob_list) + for(var/mob/living/carbon/human/player in GLOB.alive_mob_list) if(player.stat != DEAD && player.mind && (player.mind.assigned_role in GLOB.command_positions)) . |= player.mind @@ -585,7 +585,8 @@ SUBSYSTEM_DEF(job) //////////////////////////// /datum/controller/subsystem/job/proc/get_all_heads() . = list() - for(var/mob/player in GLOB.mob_list) + for(var/i in GLOB.mob_list) + var/mob/player = i if(player.mind && (player.mind.assigned_role in GLOB.command_positions)) . |= player.mind @@ -594,7 +595,7 @@ SUBSYSTEM_DEF(job) ////////////////////////////////////////////// /datum/controller/subsystem/job/proc/get_living_sec() . = list() - for(var/mob/living/carbon/human/player in GLOB.mob_list) + for(var/mob/living/carbon/human/player in GLOB.carbon_list) if(player.stat != DEAD && player.mind && (player.mind.assigned_role in GLOB.security_positions)) . |= player.mind @@ -603,6 +604,6 @@ SUBSYSTEM_DEF(job) //////////////////////////////////////// /datum/controller/subsystem/job/proc/get_all_sec() . = list() - for(var/mob/living/carbon/human/player in GLOB.mob_list) + for(var/mob/living/carbon/human/player in GLOB.carbon_list) if(player.mind && (player.mind.assigned_role in GLOB.security_positions)) - . |= player.mind \ No newline at end of file + . |= player.mind diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index ab2ba54431..03b7cdc095 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -18,6 +18,8 @@ SUBSYSTEM_DEF(mapping) var/list/shuttle_templates = list() var/list/shelter_templates = list() + var/list/areas_in_z = list() + var/loading_ruins = FALSE /datum/controller/subsystem/mapping/PreInit() @@ -124,7 +126,7 @@ SUBSYSTEM_DEF(mapping) query_round_map_name.Execute() if(config.minetype != "lavaland") - INIT_ANNOUNCE("WARNING: A map without lavaland set as it's minetype was loaded! This is being ignored! Update the maploader code!") + INIT_ANNOUNCE("WARNING: A map without lavaland set as its minetype was loaded! This is being ignored! Update the maploader code!") CreateSpace(ZLEVEL_SPACEMAX) diff --git a/code/controllers/subsystem/mobs.dm b/code/controllers/subsystem/mobs.dm index cbe9d5c245..1311ca1589 100644 --- a/code/controllers/subsystem/mobs.dm +++ b/code/controllers/subsystem/mobs.dm @@ -7,13 +7,15 @@ SUBSYSTEM_DEF(mobs) var/list/currentrun = list() /datum/controller/subsystem/mobs/stat_entry() - ..("P:[GLOB.mob_list.len]") + ..("P:[GLOB.mob_living_list.len]") /datum/controller/subsystem/mobs/fire(resumed = 0) var/seconds = wait * 0.1 if (!resumed) - src.currentrun = GLOB.mob_list.Copy() + src.currentrun = GLOB.mob_living_list.Copy() + if (GLOB.overminds.len) // blob cameras need to Life() + src.currentrun += GLOB.overminds //cache for sanic speed (lists are references anyways) var/list/currentrun = src.currentrun @@ -24,6 +26,6 @@ SUBSYSTEM_DEF(mobs) if(M) M.Life(seconds, times_fired) else - GLOB.mob_list.Remove(M) + GLOB.mob_living_list.Remove(M) if (MC_TICK_CHECK) return diff --git a/code/controllers/subsystem/processing/overlays.dm b/code/controllers/subsystem/overlays.dm similarity index 80% rename from code/controllers/subsystem/processing/overlays.dm rename to code/controllers/subsystem/overlays.dm index d7f260be0e..498890d430 100644 --- a/code/controllers/subsystem/processing/overlays.dm +++ b/code/controllers/subsystem/overlays.dm @@ -1,4 +1,4 @@ -PROCESSING_SUBSYSTEM_DEF(overlays) +SUBSYSTEM_DEF(overlays) name = "Overlay" flags = SS_TICKER wait = 1 @@ -6,62 +6,63 @@ PROCESSING_SUBSYSTEM_DEF(overlays) init_order = INIT_ORDER_OVERLAY runlevels = RUNLEVELS_DEFAULT | RUNLEVEL_SETUP - stat_tag = "Ov" - currentrun = null + var/list/queue + var/list/stats var/list/overlay_icon_state_caches var/list/overlay_icon_cache var/initialized = FALSE -/datum/controller/subsystem/processing/overlays/PreInit() - LAZYINITLIST(overlay_icon_state_caches) - LAZYINITLIST(overlay_icon_cache) +/datum/controller/subsystem/overlays/PreInit() + overlay_icon_state_caches = list() + overlay_icon_cache = list() + queue = list() + stats = list() -/datum/controller/subsystem/processing/overlays/Initialize() +/datum/controller/subsystem/overlays/Initialize() initialized = TRUE - Flush() + fire(mc_check = FALSE) ..() -/datum/controller/subsystem/processing/overlays/Recover() + +/datum/controller/subsystem/overlays/stat_entry() + ..("Ov:[length(queue)]") + + +/datum/controller/subsystem/overlays/Shutdown() + text2file("[GLOB.log_directory]/overlay.log", render_stats(stats)) + + +/datum/controller/subsystem/overlays/Recover() overlay_icon_state_caches = SSoverlays.overlay_icon_state_caches overlay_icon_cache = SSoverlays.overlay_icon_cache - processing = SSoverlays.processing + queue = SSoverlays.queue -#define COMPILE_OVERLAYS(A)\ - var/list/oo = A.our_overlays;\ - var/list/po = A.priority_overlays;\ - if(LAZYLEN(po)){\ - if(LAZYLEN(oo)){\ - A.overlays = oo + po;\ - }\ - else{\ - A.overlays = po;\ - }\ - }\ - else if(LAZYLEN(oo)){\ - A.overlays = oo;\ - }\ - else{\ - A.overlays.Cut();\ - }\ - A.flags_1 &= ~OVERLAY_QUEUED_1 -/datum/controller/subsystem/processing/overlays/fire(resumed = FALSE, mc_check = TRUE) - var/list/processing = src.processing - while(processing.len) - var/atom/thing = processing[processing.len] - processing.len-- +/datum/controller/subsystem/overlays/fire(resumed = FALSE, mc_check = TRUE) + var/list/queue = src.queue + var/static/count = 0 + if (count) + var/c = count + count = 0 //so if we runtime on the Cut, we don't try again. + queue.Cut(1,c+1) + + for (var/thing in queue) + count++ if(thing) - COMPILE_OVERLAYS(thing) + STAT_START_STOPWATCH + var/atom/A = thing + COMPILE_OVERLAYS(A) + STAT_STOP_STOPWATCH + STAT_LOG_ENTRY(stats, A.type) if(mc_check) if(MC_TICK_CHECK) break else CHECK_TICK -/datum/controller/subsystem/processing/overlays/proc/Flush() - if(processing.len) - testing("Flushing [processing.len] overlays") - fire(mc_check = FALSE) //pair this thread up with the MC to get extra compile time + if (count) + queue.Cut(1,count+1) + count = 0 /proc/iconstate2appearance(icon, iconstate) var/static/image/stringbro = new() @@ -102,6 +103,10 @@ PROCESSING_SUBSYSTEM_DEF(overlays) else if(isicon(overlay)) new_overlays += icon2appearance(overlay) else + if(isloc(overlay)) + var/atom/A = overlay + if (A.flags_1 & OVERLAY_QUEUED_1) + COMPILE_OVERLAYS(A) appearance_bro.appearance = overlay //this works for images and atoms too! if(!ispath(overlay)) var/image/I = overlay @@ -110,7 +115,7 @@ PROCESSING_SUBSYSTEM_DEF(overlays) return new_overlays #define NOT_QUEUED_ALREADY (!(flags_1 & OVERLAY_QUEUED_1)) -#define QUEUE_FOR_COMPILE flags_1 |= OVERLAY_QUEUED_1; SSoverlays.processing += src; +#define QUEUE_FOR_COMPILE flags_1 |= OVERLAY_QUEUED_1; SSoverlays.queue += src; /atom/proc/cut_overlays(priority = FALSE) var/list/cached_overlays = our_overlays var/list/cached_priority = priority_overlays diff --git a/code/controllers/subsystem/pai.dm b/code/controllers/subsystem/pai.dm index 07797d0677..0eafc9f099 100644 --- a/code/controllers/subsystem/pai.dm +++ b/code/controllers/subsystem/pai.dm @@ -109,23 +109,23 @@ SUBSYSTEM_DEF(pai) dat += "

Please configure your pAI personality's options. Remember, what you enter here could determine whether or not the user requesting a personality chooses you!

" dat += "" dat += "" - dat += "" + dat += "" dat += "" - dat += "" + dat += "" dat += "" - dat += "" + dat += "" dat += "" - dat += "" + dat += "" dat += "
Name:[candidate.name]
\[Edit\]What you plan to call yourself. Suggestions: Any character name you would choose for a station character OR an AI.
\[Edit\]What you plan to call yourself. Suggestions: Any character name you would choose for a station character OR an AI.
Description:[candidate.description]
\[Edit\]What sort of pAI you typically play; your mannerisms, your quirks, etc. This can be as sparse or as detailed as you like.
\[Edit\]What sort of pAI you typically play; your mannerisms, your quirks, etc. This can be as sparse or as detailed as you like.
Preferred Role:[candidate.role]
\[Edit\]Do you like to partner with sneaky social ninjas? Like to help security hunt down thugs? Enjoy watching an engineer's back while he saves the station yet again? This doesn't have to be limited to just station jobs. Pretty much any general descriptor for what you'd like to be doing works here.
\[Edit\]Do you like to partner with sneaky social ninjas? Like to help security hunt down thugs? Enjoy watching an engineer's back while he saves the station yet again? This doesn't have to be limited to just station jobs. Pretty much any general descriptor for what you'd like to be doing works here.
OOC Comments:[candidate.comments]
\[Edit\]Anything you'd like to address specifically to the player reading this in an OOC manner. \"I prefer more serious RP.\", \"I'm still learning the interface!\", etc. Feel free to leave this blank if you want.
\[Edit\]Anything you'd like to address specifically to the player reading this in an OOC manner. \"I prefer more serious RP.\", \"I'm still learning the interface!\", etc. Feel free to leave this blank if you want.
" dat += "
" - dat += "

Submit Personality


" - dat += "Save Personality
" - dat += "Load Personality
" + dat += "

Submit Personality


" + dat += "Save Personality
" + dat += "Load Personality
" M << browse(dat, "window=paiRecruit") @@ -182,7 +182,7 @@ SUBSYSTEM_DEF(pai) dat += "Description:[c.description]" dat += "Preferred Role:[c.role]" dat += "OOC Comments:[c.comments]" - dat += "\[Download [c.name]\]" + dat += "\[Download [c.name]\]" dat += "" diff --git a/code/controllers/subsystem/persistence.dm b/code/controllers/subsystem/persistence.dm index 6230bd2b3d..d310f46d2a 100644 --- a/code/controllers/subsystem/persistence.dm +++ b/code/controllers/subsystem/persistence.dm @@ -73,7 +73,7 @@ SUBSYSTEM_DEF(persistence) break /datum/controller/subsystem/persistence/proc/LoadPoly() - for(var/mob/living/simple_animal/parrot/Poly/P in GLOB.living_mob_list) + for(var/mob/living/simple_animal/parrot/Poly/P in GLOB.alive_mob_list) twitterize(P.speech_buffer, "polytalk") break //Who's been duping the bird?! diff --git a/code/controllers/subsystem/processing/circuit.dm b/code/controllers/subsystem/processing/circuit.dm new file mode 100644 index 0000000000..cb10503a80 --- /dev/null +++ b/code/controllers/subsystem/processing/circuit.dm @@ -0,0 +1,70 @@ +PROCESSING_SUBSYSTEM_DEF(circuit) + name = "Circuit" + stat_tag = "CIR" + init_order = INIT_ORDER_CIRCUIT + flags = NONE + + var/cipherkey + + var/list/all_exonet_connections = list() //Address = connection datum. + var/list/obj/machinery/exonet_node/all_exonet_nodes = list() + + var/list/all_circuits = list() // Associative list of [circuit_name]:[circuit_path] pairs + var/list/circuit_fabricator_recipe_list = list() // Associative list of [category_name]:[list_of_circuit_paths] pairs + +/datum/controller/subsystem/processing/circuit/Initialize(start_timeofday) + SScircuit.cipherkey = random_string(2000+rand(0,10), GLOB.alphabet) + circuits_init() + return ..() + +/datum/controller/subsystem/processing/circuit/proc/circuits_init() + //Cached lists for free performance + var/list/all_circuits = src.all_circuits + var/list/circuit_fabricator_recipe_list = src.circuit_fabricator_recipe_list + for(var/path in typesof(/obj/item/integrated_circuit)) + var/obj/item/integrated_circuit/IC = path + var/name = initial(IC.name) + all_circuits[name] = IC // Populating the complete list + + if(!(initial(IC.spawn_flags) & (IC_SPAWN_DEFAULT | IC_SPAWN_RESEARCH))) + continue + + var/category = initial(IC.category_text) + if(!circuit_fabricator_recipe_list[category]) + circuit_fabricator_recipe_list[category] = list() + var/list/category_list = circuit_fabricator_recipe_list[category] + category_list += IC // Populating the fabricator categories + + circuit_fabricator_recipe_list["Assemblies"] = list( + /obj/item/device/electronic_assembly, + /obj/item/device/electronic_assembly/medium, + /obj/item/device/electronic_assembly/large, + /obj/item/device/electronic_assembly/drone + //new /obj/item/weapon/implant/integrated_circuit, + //new /obj/item/device/assembly/electronic_assembly + ) + + circuit_fabricator_recipe_list["Tools"] = list( + /obj/item/device/integrated_electronics/wirer, + /obj/item/device/integrated_electronics/debugger, + /obj/item/device/integrated_electronics/analyzer + ) + +/datum/controller/subsystem/processing/circuit/proc/get_exonet_node() + for(var/i in 1 to all_exonet_nodes.len) + var/obj/machinery/exonet_node/E = all_exonet_nodes[i] + if(E.is_operating()) + return E + +/datum/controller/subsystem/processing/circuit/proc/get_exonet_address(addr) + return all_exonet_connections[addr] + + +// Proc: get_atom_from_address() +// Parameters: 1 (target_address - the desired address to find) +// Description: Searches an address for the atom it is attached for, otherwise returns null. + +/datum/controller/subsystem/processing/circuit/proc/get_atom_from_address(var/target_address) + var/datum/exonet_protocol/exonet = SScircuit.get_exonet_address(target_address) + if(exonet) + return exonet.holder \ No newline at end of file diff --git a/code/controllers/subsystem/radiation.dm b/code/controllers/subsystem/radiation.dm index 1dbe564169..7883bf1d68 100644 --- a/code/controllers/subsystem/radiation.dm +++ b/code/controllers/subsystem/radiation.dm @@ -4,38 +4,15 @@ PROCESSING_SUBSYSTEM_DEF(radiation) priority = 25 var/list/warned_atoms = list() - var/list/next_warn = list() - var/last_warn = 0 -/datum/controller/subsystem/processing/radiation/proc/warn(datum/component/radioactive) - if(!radioactive || QDELETED(radioactive)) +/datum/controller/subsystem/processing/radiation/proc/warn(datum/component/radioactive/contamination) + if(!contamination || QDELETED(contamination)) return - if(warned_atoms["\ref[radioactive.parent]"]) + var/ref = REF(contamination.parent) + if(warned_atoms[ref]) return - var/atom/master = radioactive.parent + warned_atoms[ref] = TRUE + var/atom/master = contamination.parent SSblackbox.add_details("contaminated", "[master.type]") - next_warn["\ref[master]"] = "\ref[radioactive]" - var/wait_time = max(0, 500-(world.time-last_warn))+20 // wait at least 20 ticks, longer if we just messaged - addtimer(CALLBACK(src, .proc/send_warn), wait_time, TIMER_UNIQUE | TIMER_OVERRIDE) - -/datum/controller/subsystem/processing/radiation/proc/send_warn() - var/msg = "Atom(s) have become contaminated by radiation and are strong enough they could pass it on:" - var/still_alive = FALSE - var/list/next_warn = src.next_warn // It's free performance! - for(var/i in next_warn) - var/atom/parent = locate(i) - var/datum/component/radioactive/radioactive = locate(next_warn[i]) - if(!parent || !istype(parent) || !radioactive || !istype(radioactive)) - continue - if(!still_alive) - msg += "\n" - still_alive = TRUE - else - msg += ", " - msg += "[parent][ADMIN_VV(parent)]source:[radioactive.source]" - if(!still_alive) - return - warned_atoms += next_warn - src.next_warn = list() - last_warn = world.time - message_admins(msg) \ No newline at end of file + var/msg = "has become contamintaed with enough radiation to contaminate other objects. || Source: [contamination.source] || Strength: [contamination.strength]" + master.investigate_log(msg, INVESTIGATE_RADIATION) \ No newline at end of file diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index da43766fb8..5fa770179e 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -28,7 +28,9 @@ SUBSYSTEM_DEF(shuttle) var/emergencyCallAmount = 0 //how many times the escape shuttle was called var/emergencyNoEscape var/emergencyNoRecall = FALSE - var/list/hostileEnvironments = list() + var/list/hostileEnvironments = list() //Things blocking escape shuttle from leaving + var/list/tradeBlockade = list() //Things blocking cargo from leaving. + var/supplyBlocked = FALSE //supply shuttle stuff var/obj/docking_port/mobile/supply/supply @@ -335,6 +337,30 @@ SUBSYSTEM_DEF(shuttle) hostileEnvironments -= bad checkHostileEnvironment() + +/datum/controller/subsystem/shuttle/proc/registerTradeBlockade(datum/bad) + tradeBlockade[bad] = TRUE + checkTradeBlockade() + +/datum/controller/subsystem/shuttle/proc/clearTradeBlockade(datum/bad) + tradeBlockade -= bad + checkTradeBlockade() + + +/datum/controller/subsystem/shuttle/proc/checkTradeBlockade() + for(var/datum/d in tradeBlockade) + if(!istype(d) || QDELETED(d)) + tradeBlockade -= d + supplyBlocked = tradeBlockade.len + + if(supplyBlocked && (supply.mode == SHUTTLE_IGNITING)) + supply.mode = SHUTTLE_STRANDED + supply.timer = null + //Make all cargo consoles speak up + if(!supplyBlocked && (supply.mode == SHUTTLE_STRANDED)) + supply.mode = SHUTTLE_DOCKED + //Make all cargo consoles speak up + /datum/controller/subsystem/shuttle/proc/checkHostileEnvironment() for(var/datum/d in hostileEnvironments) if(!istype(d) || QDELETED(d)) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index e1828b737a..3f419e92c8 100755 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -30,8 +30,7 @@ SUBSYSTEM_DEF(ticker) var/list/availablefactions = list() //list of factions with openings var/list/scripture_states = list(SCRIPTURE_DRIVER = TRUE, \ SCRIPTURE_SCRIPT = FALSE, \ - SCRIPTURE_APPLICATION = FALSE, \ - SCRIPTURE_JUDGEMENT = FALSE) //list of clockcult scripture states for announcements + SCRIPTURE_APPLICATION = FALSE) //list of clockcult scripture states for announcements var/delay_end = 0 //if set true, the round will not restart on it's own @@ -194,6 +193,7 @@ SUBSYSTEM_DEF(ticker) if(!setup()) //setup failed current_state = GAME_STATE_STARTUP + start_at = world.time + (CONFIG_GET(number/lobby_countdown) * 10) Master.SetRunLevel(RUNLEVEL_LOBBY) if(GAME_STATE_PLAYING) @@ -282,8 +282,6 @@ SUBSYSTEM_DEF(ticker) collect_minds() equip_characters() - SSoverlays.Flush() //Flush the majority of the shit - GLOB.data_core.manifest() transfer_characters() //transfer keys to the new mobs @@ -316,7 +314,7 @@ SUBSYSTEM_DEF(ticker) set waitfor = FALSE mode.post_setup() GLOB.start_state = new /datum/station_state() - GLOB.start_state.count(1) + GLOB.start_state.count() //Cleanup some stuff for(var/obj/effect/landmark/start/S in GLOB.landmarks_list) //Deleting Startpoints but we need the ai point to AI-ize people later @@ -419,7 +417,8 @@ SUBSYSTEM_DEF(ticker) C.playtitlemusic(40)*/ //Player status report - for(var/mob/Player in GLOB.mob_list) + for(var/i in GLOB.mob_list) + var/mob/Player = i if(Player.mind && !isnewplayer(Player)) if(Player.stat != DEAD && !isbrain(Player)) num_survivors++ @@ -465,7 +464,8 @@ SUBSYSTEM_DEF(ticker) CHECK_TICK //Silicon laws report - for (var/mob/living/silicon/ai/aiPlayer in GLOB.mob_list) + for (var/i in GLOB.ai_list) + var/mob/living/silicon/ai/aiPlayer = i if (aiPlayer.stat != DEAD && aiPlayer.mind) to_chat(world, "[aiPlayer.name] (Played by: [aiPlayer.mind.key])'s laws at the end of the round were:") aiPlayer.show_laws(1) @@ -484,7 +484,7 @@ SUBSYSTEM_DEF(ticker) CHECK_TICK - for (var/mob/living/silicon/robot/robo in GLOB.mob_list) + for (var/mob/living/silicon/robot/robo in GLOB.silicon_mobs) if (!robo.connected_ai && robo.mind) if (robo.stat != DEAD) to_chat(world, "[robo.name] (Played by: [robo.mind.key]) survived as an AI-less borg! Its laws were:") @@ -615,7 +615,7 @@ SUBSYSTEM_DEF(ticker) if(5) //every 5 ticks check if there is a slot available if(living_player_count() < hpc) if(next_in_line && next_in_line.client) - to_chat(next_in_line, "A slot has opened! You have approximately 20 seconds to join. \>\>Join Game\<\<") + to_chat(next_in_line, "A slot has opened! You have approximately 20 seconds to join. \>\>Join Game\<\<") SEND_SOUND(next_in_line, sound('sound/misc/notice1.ogg')) next_in_line.LateChoices() return diff --git a/code/controllers/subsystem/timer.dm b/code/controllers/subsystem/timer.dm index 804e430ef9..eca88d5126 100644 --- a/code/controllers/subsystem/timer.dm +++ b/code/controllers/subsystem/timer.dm @@ -243,7 +243,7 @@ SUBSYSTEM_DEF(timer) while(SStimer.timer_id_dict["timerid" + num2text(id, 8)]) SStimer.timer_id_dict["timerid" + num2text(id, 8)] = src - name = "Timer: " + num2text(id, 8) + ", TTR: [timeToRun], Flags: [jointext(bitfield2list(flags, list("TIMER_UNIQUE", "TIMER_OVERRIDE", "TIMER_CLIENT_TIME", "TIMER_STOPPABLE", "TIMER_NO_HASH_WAIT")), ", ")], callBack: \ref[callBack], callBack.object: [callBack.object]\ref[callBack.object]([getcallingtype()]), callBack.delegate:[callBack.delegate]([callBack.arguments ? callBack.arguments.Join(", ") : ""])" + name = "Timer: " + num2text(id, 8) + ", TTR: [timeToRun], Flags: [jointext(bitfield2list(flags, list("TIMER_UNIQUE", "TIMER_OVERRIDE", "TIMER_CLIENT_TIME", "TIMER_STOPPABLE", "TIMER_NO_HASH_WAIT")), ", ")], callBack: [REF(callBack)], callBack.object: [callBack.object][REF(callBack.object)]([getcallingtype()]), callBack.delegate:[callBack.delegate]([callBack.arguments ? callBack.arguments.Join(", ") : ""])" if (spent) CRASH("HOLY JESUS. WHAT IS THAT? WHAT THE FUCK IS THAT?") @@ -259,11 +259,11 @@ SUBSYSTEM_DEF(timer) var/datum/timedevent/Last = ctts[cttl] if(Last.timeToRun >= timeToRun) ctts += src - else if(cttl > 1) - for(var/I in cttl to 1) - var/datum/timedevent/E = ctts[I] + else + for(var/i in cttl to 1 step -1) + var/datum/timedevent/E = ctts[i] if(E.timeToRun <= timeToRun) - ctts.Insert(src, I) + ctts.Insert(i, src) break else ctts += src @@ -362,9 +362,9 @@ SUBSYSTEM_DEF(timer) if (flags & TIMER_UNIQUE) var/list/hashlist if(flags & TIMER_NO_HASH_WAIT) - hashlist = list(callback.object, "(\ref[callback.object])", callback.delegate, flags & TIMER_CLIENT_TIME) + hashlist = list(callback.object, "([REF(callback.object)])", callback.delegate, flags & TIMER_CLIENT_TIME) else - hashlist = list(callback.object, "(\ref[callback.object])", callback.delegate, wait, flags & TIMER_CLIENT_TIME) + hashlist = list(callback.object, "([REF(callback.object)])", callback.delegate, wait, flags & TIMER_CLIENT_TIME) hashlist += callback.arguments hash = hashlist.Join("|||||||") diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index d377329312..55624a866c 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -199,7 +199,7 @@ SUBSYSTEM_DEF(vote) text += "\n[question]" log_vote(text) var/vp = CONFIG_GET(number/vote_period) - to_chat(world, "\n[text]\nType vote or click here to place your votes.\nYou have [DisplayTimeText(vp)] to vote.") + to_chat(world, "\n[text]\nType vote or click here to place your votes.\nYou have [DisplayTimeText(vp)] to vote.") time_remaining = round(vp/10) for(var/c in GLOB.clients) var/client/C = c @@ -232,36 +232,36 @@ SUBSYSTEM_DEF(vote) var/votes = choices[choices[i]] if(!votes) votes = 0 - . += "
  • [choices[i]] ([votes] votes)
  • " + . += "
  • [choices[i]] ([votes] votes)
  • " . += "
    " if(admin) - . += "(Cancel Vote) " + . += "(Cancel Vote) " else . += "

    Start a vote:



    " - . += "Close" + . += "Close" return . diff --git a/code/controllers/subsystem/weather.dm b/code/controllers/subsystem/weather.dm index e66fd4ffeb..2909d1c70a 100644 --- a/code/controllers/subsystem/weather.dm +++ b/code/controllers/subsystem/weather.dm @@ -13,7 +13,8 @@ SUBSYSTEM_DEF(weather) var/datum/weather/W = V if(W.aesthetic) continue - for(var/mob/living/L in GLOB.mob_list) + for(var/i in GLOB.mob_living_list) + var/mob/living/L = i if(W.can_weather_act(L)) W.weather_act(L) for(var/Z in eligible_zlevels) diff --git a/code/datums/EPv2.dm b/code/datums/EPv2.dm new file mode 100644 index 0000000000..85088ff903 --- /dev/null +++ b/code/datums/EPv2.dm @@ -0,0 +1,113 @@ +/* +Exonet Protocol Version 2 + +This is designed to be a fairly simple fake-networking system, allowing you to send and receive messages +between the exonet_protocol datums, and for atoms to react to those messages, based on the contents of the message. +Hopefully, this can evolve to be a more robust fake-networking system and allow for some devious network hacking in the future. + +Version 1 never existed. + +*Setting up* + +To set up the exonet link, define a variable on your desired atom it is like this; + var/datum/exonet_protocol/exonet = null +Afterwards, before you want to do networking, call exonet = New(src), then exonet.make_address(string), and give it a string to hash into the new IP. +The reason it needs a string is so you can have the addresses be persistant, assuming no-one already took it first. + +When you're no longer wanting to use the address and want to free it up, like when you want to Destroy() it, you need to call remove_address() +Destroy() also automatically calls remove_address(). + +*Sending messages* + +To send a message to another datum, you need to know it's EPv2 (fake IP) address. Once you know that, call send_message(), place your +intended address in the first argument, then the message in the second. For example, send_message(exonet.address, "ping") will make you +ping yourself. + +*Receiving messages* +You don't need to do anything special to receive the messages, other than give your target exonet datum an address as well. Once something hits +your datum with send_message(), receive_message() is called, and the default action is to call receive_exonet_message() on the datum's holder. +You'll want to override receive_exonet_message() on your atom, and define what will occur when the message is received. +The receiving atom will receive the origin atom (the atom that sent the message), the origin address, and finally the message itself. +It's suggested to start with an if or switch statement for the message, to determine what to do. +*/ + +/datum/exonet_protocol + var/address = "" //Resembles IPv6, but with only five 'groups', e.g. XXXX:XXXX:XXXX:XXXX:XXXX + var/atom/holder + +/datum/exonet_protocol/New(var/atom/H) + holder = H + +/datum/exonet_protocol/Destroy() + remove_address() + holder = null + return ..() + +// Proc: make_address() +// Parameters: 1 (string - used to make into a hash that will be part of the new address) +// Description: Allocates a new address based on the string supplied. It results in consistant addresses for each round assuming it is not already taken.. +/datum/exonet_protocol/proc/make_address(var/string) + if(!string) + return + var/hex = copytext(md5(string),1,25) + if(!hex) + return + var/addr_1 = copytext(hex,1,5) + var/addr_2 = copytext(hex,5,9) + var/addr_3 = copytext(hex,9,13) + var/addr_4 = copytext(hex,13,17) + address = "fc00:[addr_1]:[addr_2]:[addr_3]:[addr_4]" + if(SScircuit.all_exonet_connections[address]) + stack_trace("WARNING: Exonet address collision in make_address. Holder type if applicable is [holder? holder.type : "NO HOLDER"]!") + SScircuit.all_exonet_connections[address] = src + + +// Proc: make_arbitrary_address() +// Parameters: 1 (new_address - the desired address) +// Description: Allocates that specific address, if it is available. +/datum/exonet_protocol/proc/make_arbitrary_address(var/new_address) + if(new_address) + if(new_address == SScircuit.get_exonet_address(new_address) ) //Collision test. + return FALSE + address = new_address + SScircuit.all_exonet_connections[address] = src + return TRUE + + +// Proc: remove_address() +// Parameters: None +// Description: Deallocates the address, freeing it for use. +/datum/exonet_protocol/proc/remove_address() + SScircuit.all_exonet_connections -= address + address = "" + + + +// Proc: send_message() +// Parameters: 3 (target_address - the desired address to send the message to, data_type - text stating what the content is meant to be used for, +// content - the actual 'message' being sent to the address) +// Description: Sends the message to target_address, by calling receive_message() on the desired datum. Returns true if the message is recieved. +/datum/exonet_protocol/proc/send_message(var/target_address, var/data_type, var/content) + if(!address) + return FALSE + var/obj/machinery/exonet_node/node = SScircuit.get_exonet_node() + if(!node) // Telecomms went boom, ion storm, etc. + return FALSE + var/datum/exonet_protocol/exonet = SScircuit.get_exonet_address(target_address) + if(exonet) + node.write_log(address, target_address, data_type, content) + return exonet.receive_message(holder, address, data_type, content) + +// Proc: receive_message() +// Parameters: 4 (origin_atom - the origin datum's holder, origin_address - the address the message originated from, +// data_type - text stating what the content is meant to be used for, content - the actual 'message' being sent from origin_atom) +// Description: Called when send_message() successfully reaches the intended datum. By default, calls receive_exonet_message() on the holder atom. +/datum/exonet_protocol/proc/receive_message(var/atom/origin_atom, var/origin_address, var/data_type, var/content) + holder.receive_exonet_message(origin_atom, origin_address, data_type, content) + return TRUE // for send_message() + +// Proc: receive_exonet_message() +// Parameters: 3 (origin_atom - the origin datum's holder, origin_address - the address the message originated from, message - the message that was sent) +// Description: Override this to make your atom do something when a message is received. +/atom/proc/receive_exonet_message(var/atom/origin_atom, var/origin_address, var/message, var/text) + return diff --git a/code/datums/antagonists/changeling.dm b/code/datums/antagonists/changeling.dm new file mode 100644 index 0000000000..d72cb64b81 --- /dev/null +++ b/code/datums/antagonists/changeling.dm @@ -0,0 +1,483 @@ +#define LING_FAKEDEATH_TIME 400 //40 seconds +#define LING_DEAD_GENETICDAMAGE_HEAL_CAP 50 //The lowest value of geneticdamage handle_changeling() can take it to while dead. +#define LING_ABSORB_RECENT_SPEECH 8 //The amount of recent spoken lines to gain on absorbing a mob + +/datum/antagonist/changeling + name = "Changeling" + job_rank = ROLE_CHANGELING + + var/you_are_greet = TRUE + var/give_objectives = TRUE + var/list/objectives = list() + var/team_mode = FALSE //Should assign team objectives ? + + //Changeling Stuff + + var/list/stored_profiles = list() //list of datum/changelingprofile + var/datum/changelingprofile/first_prof = null + //var/list/absorbed_dna = list() + //var/list/protected_dna = list() //dna that is not lost when capacity is otherwise full + var/dna_max = 6 //How many extra DNA strands the changeling can store for transformation. + var/absorbedcount = 0 + var/chem_charges = 20 + var/chem_storage = 75 + var/chem_recharge_rate = 1 + var/chem_recharge_slowdown = 0 + var/sting_range = 2 + var/changelingID = "Changeling" + var/geneticdamage = 0 + var/isabsorbing = 0 + var/islinking = 0 + var/geneticpoints = 10 + var/purchasedpowers = list() + var/mimicing = "" + var/canrespec = 0 + var/changeling_speak = 0 + var/datum/dna/chosen_dna + var/obj/effect/proc_holder/changeling/sting/chosen_sting + var/datum/cellular_emporium/cellular_emporium + var/datum/action/innate/cellular_emporium/emporium_action + + // wip stuff + var/static/list/all_powers = typecacheof(/obj/effect/proc_holder/changeling,TRUE) + + +/datum/antagonist/changeling/New() + . = ..() + generate_name() + create_actions() + +/datum/antagonist/changeling/Destroy() + QDEL_NULL(cellular_emporium) + QDEL_NULL(emporium_action) + . = ..() + +/datum/antagonist/changeling/proc/generate_name() + var/honorific + if(owner.current.gender == FEMALE) + honorific = "Ms." + else + honorific = "Mr." + if(GLOB.possible_changeling_IDs.len) + changelingID = pick(GLOB.possible_changeling_IDs) + GLOB.possible_changeling_IDs -= changelingID + changelingID = "[honorific] [changelingID]" + else + changelingID = "[honorific] [rand(1,999)]" + +/datum/antagonist/changeling/proc/create_actions() + cellular_emporium = new(src) + emporium_action = new(cellular_emporium) + +/datum/antagonist/changeling/on_gain() + reset_powers() + create_initial_profile() + if(give_objectives) + if(team_mode) + forge_team_objectives() + forge_objectives() + remove_clownmut() + . = ..() + +/datum/antagonist/changeling/on_removal() + remove_changeling_powers(FALSE) + owner.objectives -= objectives + . = ..() + +/datum/antagonist/changeling/proc/remove_clownmut() + if (owner) + var/mob/living/carbon/human/H = owner.current + if(istype(H) && owner.assigned_role == "Clown") + to_chat(H, "You have evolved beyond your clownish nature, allowing you to wield weapons without harming yourself.") + H.dna.remove_mutation(CLOWNMUT) + +/datum/antagonist/changeling/proc/reset_properties() + changeling_speak = 0 + chosen_sting = null + geneticpoints = initial(geneticpoints) + sting_range = initial(sting_range) + chem_storage = initial(chem_storage) + chem_recharge_rate = initial(chem_recharge_rate) + chem_charges = min(chem_charges, chem_storage) + chem_recharge_slowdown = initial(chem_recharge_slowdown) + mimicing = "" + +/datum/antagonist/changeling/proc/remove_changeling_powers(keep_free_powers=0) + if(ishuman(owner.current) || ismonkey(owner.current)) + reset_properties() + for(var/obj/effect/proc_holder/changeling/p in purchasedpowers) + if((p.dna_cost == 0 && keep_free_powers) || p.always_keep) + continue + purchasedpowers -= p + p.on_refund(owner.current) + + //MOVE THIS + if(owner.current.hud_used) + owner.current.hud_used.lingstingdisplay.icon_state = null + owner.current.hud_used.lingstingdisplay.invisibility = INVISIBILITY_ABSTRACT + +/datum/antagonist/changeling/proc/reset_powers() + if(purchasedpowers) + remove_changeling_powers(TRUE) + //Purchase free powers. + for(var/path in all_powers) + var/obj/effect/proc_holder/changeling/S = new path() + if(!S.dna_cost) + if(!has_sting(S)) + purchasedpowers+=S + S.on_purchase(owner.current,TRUE) + +/datum/antagonist/changeling/proc/has_sting(obj/effect/proc_holder/changeling/power) + for(var/obj/effect/proc_holder/changeling/P in purchasedpowers) + if(initial(power.name) == P.name) + return TRUE + return FALSE + + +/datum/antagonist/changeling/proc/purchase_power(sting_name) + var/obj/effect/proc_holder/changeling/thepower = null + + for(var/path in all_powers) + var/obj/effect/proc_holder/changeling/S = path + if(initial(S.name) == sting_name) + thepower = new path() + break + + if(!thepower) + to_chat(owner.current, "This is awkward. Changeling power purchase failed, please report this bug to a coder!") + return + + if(absorbedcount < thepower.req_dna) + to_chat(owner.current, "We lack the energy to evolve this ability!") + return + + if(has_sting(thepower)) + to_chat(owner.current, "We have already evolved this ability!") + return + + if(thepower.dna_cost < 0) + to_chat(owner.current, "We cannot evolve this ability.") + return + + if(geneticpoints < thepower.dna_cost) + to_chat(owner.current, "We have reached our capacity for abilities.") + return + + if(owner.current.status_flags & FAKEDEATH)//To avoid potential exploits by buying new powers while in stasis, which clears your verblist. + to_chat(owner.current, "We lack the energy to evolve new abilities right now.") + return + + geneticpoints -= thepower.dna_cost + purchasedpowers += thepower + thepower.on_purchase(owner.current) + +/datum/antagonist/changeling/proc/readapt() + if(!ishuman(owner.current)) + to_chat(owner.current, "We can't remove our evolutions in this form!") + return + if(canrespec) + to_chat(owner.current, "We have removed our evolutions from this form, and are now ready to readapt.") + reset_powers() + canrespec = 0 + SSblackbox.add_details("changeling_power_purchase","Readapt") + return 1 + else + to_chat(owner.current, "You lack the power to readapt your evolutions!") + return 0 + +//Called in life() +/datum/antagonist/changeling/proc/regenerate() + var/mob/living/carbon/the_ling = owner.current + if(istype(the_ling)) + emporium_action.Grant(the_ling) + if(the_ling.stat == DEAD) + chem_charges = min(max(0, chem_charges + chem_recharge_rate - chem_recharge_slowdown), (chem_storage*0.5)) + geneticdamage = max(LING_DEAD_GENETICDAMAGE_HEAL_CAP,geneticdamage-1) + else //not dead? no chem/geneticdamage caps. + chem_charges = min(max(0, chem_charges + chem_recharge_rate - chem_recharge_slowdown), chem_storage) + geneticdamage = max(0, geneticdamage-1) + + +/datum/antagonist/changeling/proc/get_dna(dna_owner) + for(var/datum/changelingprofile/prof in stored_profiles) + if(dna_owner == prof.name) + return prof + +/datum/antagonist/changeling/proc/has_dna(datum/dna/tDNA) + for(var/datum/changelingprofile/prof in stored_profiles) + if(tDNA.is_same_as(prof.dna)) + return TRUE + return FALSE + +/datum/antagonist/changeling/proc/can_absorb_dna(mob/living/carbon/human/target, var/verbose=1) + var/mob/living/carbon/user = owner.current + if(!istype(user)) + return + if(stored_profiles.len) + var/datum/changelingprofile/prof = stored_profiles[1] + if(prof.dna == user.dna && stored_profiles.len >= dna_max)//If our current DNA is the stalest, we gotta ditch it. + if(verbose) + to_chat(user, "We have reached our capacity to store genetic information! We must transform before absorbing more.") + return + if(!target) + return + if(NO_DNA_COPY in target.dna.species.species_traits) + if(verbose) + to_chat(user, "[target] is not compatible with our biology.") + return + if((target.disabilities & NOCLONE) || (target.disabilities & HUSK)) + if(verbose) + to_chat(user, "DNA of [target] is ruined beyond usability!") + return + if(!ishuman(target))//Absorbing monkeys is entirely possible, but it can cause issues with transforming. That's what lesser form is for anyway! + if(verbose) + to_chat(user, "We could gain no benefit from absorbing a lesser creature.") + return + if(has_dna(target.dna)) + if(verbose) + to_chat(user, "We already have this DNA in storage!") + return + if(!target.has_dna()) + if(verbose) + to_chat(user, "[target] is not compatible with our biology.") + return + return 1 + + +/datum/antagonist/changeling/proc/create_profile(mob/living/carbon/human/H, protect = 0) + var/datum/changelingprofile/prof = new + + H.dna.real_name = H.real_name //Set this again, just to be sure that it's properly set. + var/datum/dna/new_dna = new H.dna.type + H.dna.copy_dna(new_dna) + prof.dna = new_dna + prof.name = H.real_name + prof.protected = protect + + prof.underwear = H.underwear + prof.undershirt = H.undershirt + prof.socks = H.socks + + var/list/slots = list("head", "wear_mask", "back", "wear_suit", "w_uniform", "shoes", "belt", "gloves", "glasses", "ears", "wear_id", "s_store") + for(var/slot in slots) + if(slot in H.vars) + var/obj/item/I = H.vars[slot] + if(!I) + continue + prof.name_list[slot] = I.name + prof.appearance_list[slot] = I.appearance + prof.flags_cover_list[slot] = I.flags_cover + prof.item_color_list[slot] = I.item_color + prof.item_state_list[slot] = I.item_state + prof.exists_list[slot] = 1 + else + continue + + return prof + +/datum/antagonist/changeling/proc/add_profile(datum/changelingprofile/prof) + if(stored_profiles.len > dna_max) + if(!push_out_profile()) + return + + if(!first_prof) + first_prof = prof + + stored_profiles += prof + absorbedcount++ + +/datum/antagonist/changeling/proc/add_new_profile(mob/living/carbon/human/H, protect = 0) + var/datum/changelingprofile/prof = create_profile(H, protect) + add_profile(prof) + return prof + +/datum/antagonist/changeling/proc/remove_profile(mob/living/carbon/human/H, force = 0) + for(var/datum/changelingprofile/prof in stored_profiles) + if(H.real_name == prof.name) + if(prof.protected && !force) + continue + stored_profiles -= prof + qdel(prof) + +/datum/antagonist/changeling/proc/get_profile_to_remove() + for(var/datum/changelingprofile/prof in stored_profiles) + if(!prof.protected) + return prof + +/datum/antagonist/changeling/proc/push_out_profile() + var/datum/changelingprofile/removeprofile = get_profile_to_remove() + if(removeprofile) + stored_profiles -= removeprofile + return 1 + return 0 + + +/datum/antagonist/changeling/proc/create_initial_profile() + var/mob/living/carbon/C = owner.current //only carbons have dna now, so we have to typecaste + if(ishuman(C)) + add_new_profile(C) + +/datum/antagonist/changeling/apply_innate_effects() + //Brains optional. + var/mob/living/carbon/C = owner.current + if(istype(C)) + var/obj/item/organ/brain/B = C.getorganslot(ORGAN_SLOT_BRAIN) + if(B) + B.vital = FALSE + B.decoy_override = TRUE + update_changeling_icons_added() + return + +/datum/antagonist/changeling/remove_innate_effects() + update_changeling_icons_removed() + return + + +/datum/antagonist/changeling/greet() + if (you_are_greet) + to_chat(owner.current, "You are [changelingID], a changeling! You have absorbed and taken the form of a human.") + to_chat(owner.current, "Use say \":g message\" to communicate with your fellow changelings.") + to_chat(owner.current, "You must complete the following tasks:") + owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/ling_aler.ogg', 100, FALSE, pressure_affected = FALSE) + + owner.announce_objectives() + +/datum/antagonist/changeling/proc/forge_team_objectives() + if(GLOB.changeling_team_objective_type) + var/datum/objective/changeling_team_objective/team_objective = new GLOB.changeling_team_objective_type + team_objective.owner = owner + objectives += team_objective + return + +/datum/antagonist/changeling/proc/forge_objectives() + //OBJECTIVES - random traitor objectives. Unique objectives "steal brain" and "identity theft". + //No escape alone because changelings aren't suited for it and it'd probably just lead to rampant robusting + //If it seems like they'd be able to do it in play, add a 10% chance to have to escape alone + + var/escape_objective_possible = TRUE + + //if there's a team objective, check if it's compatible with escape objectives + for(var/datum/objective/changeling_team_objective/CTO in objectives) + if(!CTO.escape_objective_compatible) + escape_objective_possible = FALSE + break + + var/datum/objective/absorb/absorb_objective = new + absorb_objective.owner = owner + absorb_objective.gen_amount_goal(6, 8) + objectives += absorb_objective + + if(prob(60)) + if(prob(85)) + var/datum/objective/steal/steal_objective = new + steal_objective.owner = owner + steal_objective.find_target() + objectives += steal_objective + else + var/datum/objective/download/download_objective = new + download_objective.owner = owner + download_objective.gen_amount_goal() + objectives += download_objective + + var/list/active_ais = active_ais() + if(active_ais.len && prob(100/GLOB.joined_player_list.len)) + var/datum/objective/destroy/destroy_objective = new + destroy_objective.owner = owner + destroy_objective.find_target() + objectives += destroy_objective + else + if(prob(70)) + var/datum/objective/assassinate/kill_objective = new + kill_objective.owner = owner + if(team_mode) //No backstabbing while in a team + kill_objective.find_target_by_role(role = "Changeling", role_type = 1, invert = 1) + else + kill_objective.find_target() + objectives += kill_objective + else + var/datum/objective/maroon/maroon_objective = new + maroon_objective.owner = owner + if(team_mode) + maroon_objective.find_target_by_role(role = "Changeling", role_type = 1, invert = 1) + else + maroon_objective.find_target() + objectives += maroon_objective + + if (!(locate(/datum/objective/escape) in objectives) && escape_objective_possible) + var/datum/objective/escape/escape_with_identity/identity_theft = new + identity_theft.owner = owner + identity_theft.target = maroon_objective.target + identity_theft.update_explanation_text() + objectives += identity_theft + escape_objective_possible = FALSE + + if (!(locate(/datum/objective/escape) in objectives) && escape_objective_possible) + if(prob(50)) + var/datum/objective/escape/escape_objective = new + escape_objective.owner = owner + objectives += escape_objective + else + var/datum/objective/escape/escape_with_identity/identity_theft = new + identity_theft.owner = owner + if(team_mode) + identity_theft.find_target_by_role(role = "Changeling", role_type = 1, invert = 1) + else + identity_theft.find_target() + objectives += identity_theft + escape_objective_possible = FALSE + + owner.objectives |= objectives + +/datum/antagonist/changeling/proc/update_changeling_icons_added() + var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_CHANGELING] + hud.join_hud(owner.current) + set_antag_hud(owner.current, "changling") + +/datum/antagonist/changeling/proc/update_changeling_icons_removed() + var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_CHANGELING] + hud.leave_hud(owner.current) + set_antag_hud(owner.current, null) + +// Profile + +/datum/changelingprofile + var/name = "a bug" + + var/protected = 0 + + var/datum/dna/dna = null + var/list/name_list = list() //associative list of slotname = itemname + var/list/appearance_list = list() + var/list/flags_cover_list = list() + var/list/exists_list = list() + var/list/item_color_list = list() + var/list/item_state_list = list() + + var/underwear + var/undershirt + var/socks + +/datum/changelingprofile/Destroy() + qdel(dna) + . = ..() + +/datum/changelingprofile/proc/copy_profile(datum/changelingprofile/newprofile) + newprofile.name = name + newprofile.protected = protected + newprofile.dna = new dna.type + dna.copy_dna(newprofile.dna) + newprofile.name_list = name_list.Copy() + newprofile.appearance_list = appearance_list.Copy() + newprofile.flags_cover_list = flags_cover_list.Copy() + newprofile.exists_list = exists_list.Copy() + newprofile.item_color_list = item_color_list.Copy() + newprofile.item_state_list = item_state_list.Copy() + newprofile.underwear = underwear + newprofile.undershirt = undershirt + newprofile.socks = socks + + +/datum/antagonist/changeling/xenobio + name = "Xenobio Changeling" + give_objectives = FALSE + you_are_greet = FALSE diff --git a/code/datums/antagonists/devil.dm b/code/datums/antagonists/devil.dm index 2392d456cf..416a8f3752 100644 --- a/code/datums/antagonists/devil.dm +++ b/code/datums/antagonists/devil.dm @@ -35,7 +35,7 @@ GLOBAL_LIST_INIT(lawlorify, list ( BAN_CHAPEL = "This devil avoids holy ground.", BAN_HURTPRIEST = "The annointed clergy appear to be immune to his powers.", BAN_AVOIDWATER = "The devil seems to have some sort of aversion to water, though it does not appear to harm him.", - BAN_STRIKEUNCONCIOUS = "This devil only shows interest in those who are awake.", + BAN_STRIKEUNCONSCIOUS = "This devil only shows interest in those who are awake.", BAN_HURTLIZARD = "This devil will not strike a lizardman first.", BAN_HURTANIMAL = "This devil avoids hurting animals.", BANISH_WATER = "To banish the devil, you must infuse its body with holy water.", @@ -59,7 +59,7 @@ GLOBAL_LIST_INIT(lawlorify, list ( BAN_CHAPEL = "You must never attempt to enter the chapel.", BAN_HURTPRIEST = "You must never attack a priest.", BAN_AVOIDWATER = "You must never willingly touch a wet surface.", - BAN_STRIKEUNCONCIOUS = "You must never strike an unconscious person.", + BAN_STRIKEUNCONSCIOUS = "You must never strike an unconscious person.", BAN_HURTLIZARD = "You must never harm a lizardman outside of self defense.", BAN_HURTANIMAL = "You must never harm a non-sentient creature or robot outside of self defense.", BANE_SILVER = "Silver, in all of its forms shall be your downfall.", @@ -148,7 +148,7 @@ GLOBAL_LIST_INIT(devil_suffix, list(" the Red", " the Soulless", " the Master", return pick(OBLIGATION_FOOD, OBLIGATION_FIDDLE, OBLIGATION_DANCEOFF, OBLIGATION_GREET, OBLIGATION_PRESENCEKNOWN, OBLIGATION_SAYNAME, OBLIGATION_ANNOUNCEKILL, OBLIGATION_ANSWERTONAME) /proc/randomdevilban() - return pick(BAN_HURTWOMAN, BAN_CHAPEL, BAN_HURTPRIEST, BAN_AVOIDWATER, BAN_STRIKEUNCONCIOUS, BAN_HURTLIZARD, BAN_HURTANIMAL) + return pick(BAN_HURTWOMAN, BAN_CHAPEL, BAN_HURTPRIEST, BAN_AVOIDWATER, BAN_STRIKEUNCONSCIOUS, BAN_HURTLIZARD, BAN_HURTANIMAL) /proc/randomdevilbane() return pick(BANE_SALT, BANE_LIGHT, BANE_IRON, BANE_WHITECLOTHES, BANE_SILVER, BANE_HARVEST, BANE_TOOLBOX) diff --git a/code/datums/antagonists/pirate.dm b/code/datums/antagonists/pirate.dm new file mode 100644 index 0000000000..ad32e09151 --- /dev/null +++ b/code/datums/antagonists/pirate.dm @@ -0,0 +1,135 @@ +/datum/antagonist/pirate + name = "Space Pirate" + job_rank = ROLE_TRAITOR + var/datum/objective_team/pirate/crew + +/datum/antagonist/pirate/greet() + to_chat(owner, "You are a Space Pirate!") + to_chat(owner, "The station refused to pay for your protection, protect the ship, siphon the credits from the station and raid it for even more loot.") + owner.announce_objectives() + +/datum/antagonist/pirate/get_team() + return crew + +/datum/antagonist/pirate/create_team(datum/objective_team/pirate/new_team) + if(!new_team) + for(var/datum/antagonist/pirate/P in GLOB.antagonists) + if(P.crew) + new_team = P.crew + if(!new_team) + crew = new /datum/objective_team/pirate + crew.forge_objectives() + return + if(!istype(new_team)) + stack_trace("Wrong team type passed to [type] initialization.") + crew = new_team + +/datum/antagonist/pirate/on_gain() + if(crew) + owner.objectives |= crew.objectives + . = ..() + +/datum/antagonist/pirate/on_removal() + if(crew) + owner.objectives -= crew.objectives + . = ..() + +/datum/objective_team/pirate + name = "Pirate crew" + var/list/objectives = list() + +/datum/objective_team/pirate/proc/forge_objectives() + var/datum/objective/loot/getbooty = new() + getbooty.team = src + getbooty.storage_area = locate(/area/shuttle/pirate/vault) in GLOB.sortedAreas + getbooty.update_initial_value() + getbooty.update_explanation_text() + objectives += getbooty + for(var/datum/mind/M in members) + M.objectives |= objectives + + +GLOBAL_LIST_INIT(pirate_loot_cache, typecacheof(list( + /obj/structure/reagent_dispensers/beerkeg, + /mob/living/simple_animal/parrot, + /obj/item/stack/sheet/mineral/gold, + /obj/item/stack/sheet/mineral/diamond, + /obj/item/stack/spacecash, + /obj/item/melee/sabre,))) + +/datum/objective/loot + var/area/storage_area //Place where we we will look for the loot. + explanation_text = "Acquire valuable loot and store it in designated area." + var/target_value = 50000 + var/initial_value = 0 //Things in the vault at spawn time do not count + +/datum/objective/loot/update_explanation_text() + if(storage_area) + explanation_text = "Acquire loot and store [target_value] of credits worth in [storage_area.name]." + +/datum/objective/loot/proc/loot_listing() + //Lists notable loot. + if(!storage_area) + return "Nothing" + var/list/loot_table = list() + for(var/atom/movable/AM in storage_area.GetAllContents()) + if(is_type_in_typecache(AM,GLOB.pirate_loot_cache)) + var/lootname = AM.name + var/count = 1 + if(istype(AM,/obj/item/stack)) //Ugh. + var/obj/item/stack/S = AM + lootname = S.singular_name + count = S.amount + if(!loot_table[lootname]) + loot_table[lootname] = count + else + loot_table[lootname] += count + var/text = "" + for(var/key in loot_table) + var/amount = loot_table[key] + text += "[amount] [key][amount > 1 ? "s":""], " + return text + +/datum/objective/loot/proc/get_loot_value() + if(!storage_area) + return 0 + var/value = 0 + for(var/turf/T in storage_area.contents) + value += export_item_and_contents(T,TRUE, TRUE, dry_run = TRUE) + return value - initial_value + +/datum/objective/loot/proc/update_initial_value() + initial_value = get_loot_value() + +/datum/objective/loot/check_completion() + return ..() || get_loot_value() >= target_value + + +//These need removal ASAP as everything is converted to datum antags. +/datum/game_mode/proc/auto_declare_completion_pirates() + var/list/datum/mind/pirates = get_antagonists(/datum/antagonist/pirate) + var/datum/objective_team/pirate/crew + var/text = "" + if(pirates.len) + text += "
    Space Pirates were:" + for(var/datum/mind/M in pirates) + text += printplayer(M) + if(!crew) + var/datum/antagonist/pirate/P = M.has_antag_datum(/datum/antagonist/pirate) + crew = P.crew + if(crew) + text += "
    Loot stolen: " + var/datum/objective/loot/L = locate() in crew.objectives + text += L.loot_listing() + text += "
    Total loot value : [L.get_loot_value()]/[L.target_value] credits" + + var/all_dead = TRUE + for(var/datum/mind/M in crew.members) + if(considered_alive(M)) + all_dead = FALSE + break + if(L.check_completion() && !all_dead) + text += "
    The pirate crew was successful!" + else + text += "
    The pirate crew has failed." + to_chat(world, text) \ No newline at end of file diff --git a/code/datums/browser.dm b/code/datums/browser.dm index 31e8daadb2..e8a1a17fe2 100644 --- a/code/datums/browser.dm +++ b/code/datums/browser.dm @@ -132,13 +132,13 @@ var/output = {"
    [Message]

    - [Button1]"} + [Button1]"} if (Button2) - output += {"[Button2]"} + output += {"[Button2]"} if (Button3) - output += {"[Button3]"} + output += {"[Button3]"} output += {"
    "} @@ -253,7 +253,7 @@ return var/param = "null" if(ref) - param = "\ref[ref]" + param = "[REF(ref)]" winset(user, windowid, "on-close=\".windowclose [param]\"") diff --git a/code/datums/components/README.md b/code/datums/components/README.md index eeb6615a63..11cbf1858d 100644 --- a/code/datums/components/README.md +++ b/code/datums/components/README.md @@ -87,9 +87,11 @@ Stands have a lot of procs which mimic mob procs. Rather than inserting hooks fo * Signals will not be recieved while this function is running * Component may be deleted after this function completes without being attached * Do not call `qdel(src)` from this function -1. `/datum/component/Destroy()` (virtual, no-sleep) +1. `/datum/component/Destroy(force(bool), silent(bool))` (virtual, no-sleep) * Sends the `COMSIG_COMPONENT_REMOVING` signal to the parent datum if the `parent` isn't being qdeleted * Properly removes the component from `parent` and cleans up references + * Setting `force` makes it not check for and remove the component from the parent + * Setting `silent` deletes the component without sending a `COMSIG_COMPONENT_REMOVING` signal 1. `/datum/component/proc/InheritComponent(datum/component/C, i_am_original(boolean))` (abstract, no-sleep) * Called on a component when a component of the same type was added to the same parent * See `/datum/component/var/dupe_mode` diff --git a/code/datums/components/_component.dm b/code/datums/components/_component.dm index 4e187a6a08..0c85ddd871 100644 --- a/code/datums/components/_component.dm +++ b/code/datums/components/_component.dm @@ -6,12 +6,15 @@ var/datum/parent /datum/component/New(datum/P, ...) + if(type == /datum/component) + qdel(src) + CRASH("[type] instantiated!") + parent = P var/list/arguments = args.Copy() arguments.Cut(1, 2) if(Initialize(arglist(arguments)) == COMPONENT_INCOMPATIBLE) - parent = null - qdel(src) + qdel(src, TRUE, TRUE) return _CheckDupesAndJoinParent(P) @@ -32,13 +35,11 @@ switch(dm) if(COMPONENT_DUPE_UNIQUE) old.InheritComponent(src, TRUE) - parent = null //prevent COMPONENT_REMOVING signal, no _RemoveFromParent because we aren't in their list yet - qdel(src) + qdel(src, TRUE, TRUE) return if(COMPONENT_DUPE_HIGHLANDER) InheritComponent(old, FALSE) - old._RemoveFromParent() - qdel(old) + qdel(old, FALSE, TRUE) //provided we didn't eat someone if(!old) @@ -56,7 +57,7 @@ var/test = dc[I] if(test) //already another component of this type here var/list/components_of_type - if(!islist(test)) + if(!length(test)) components_of_type = list(test) dc[I] = components_of_type else @@ -79,22 +80,23 @@ /datum/component/proc/Initialize(...) return -/datum/component/Destroy() +/datum/component/Destroy(force=FALSE, silent=FALSE) enabled = FALSE var/datum/P = parent - if(P) + if(!force) _RemoveFromParent() + if(!silent) P.SendSignal(COMSIG_COMPONENT_REMOVING, src) + parent = null LAZYCLEARLIST(signal_procs) return ..() /datum/component/proc/_RemoveFromParent() var/datum/P = parent var/list/dc = P.datum_components - var/our_type = type - for(var/I in _GetInverseTypeList(our_type)) + for(var/I in _GetInverseTypeList()) var/list/components_of_type = dc[I] - if(islist(components_of_type)) // + if(length(components_of_type)) // var/list/subtracted = components_of_type - src if(subtracted.len == 1) //only 1 guy left dc[I] = subtracted[1] //make him special @@ -104,9 +106,8 @@ dc -= I if(!dc.len) P.datum_components = null - parent = null -/datum/component/proc/RegisterSignal(sig_type_or_types, proc_on_self, override = FALSE) +/datum/component/proc/RegisterSignal(sig_type_or_types, proc_or_callback, override = FALSE) if(QDELETED(src)) return var/list/procs = signal_procs @@ -120,8 +121,10 @@ . = procs[sig_type] if(.) stack_trace("[sig_type] overridden. Use override = TRUE to suppress this warning") - - procs[sig_type] = CALLBACK(src, proc_on_self) + + if(!istype(proc_or_callback, /datum/callback)) //if it wasnt a callback before, it is now + proc_or_callback = CALLBACK(src, proc_or_callback) + procs[sig_type] = proc_or_callback /datum/component/proc/InheritComponent(datum/component/C, i_am_original) return @@ -133,8 +136,19 @@ set waitfor = FALSE return -/datum/component/proc/_GetInverseTypeList(current_type) - . = list(current_type) +/datum/component/proc/_GetInverseTypeList(our_type = type) + #if DM_VERSION >= 513 + #warning 512 is definitely stable now, remove the old code + #endif + + #if DM_VERSION < 512 + //remove this when we use 512 full time + set invisibility = 101 + #endif + //we can do this one simple trick + var/current_type = parent_type + . = list(our_type, current_type) + //and since most components are root level + 1, this won't even have to run while (current_type != /datum/component) current_type = type2parent(current_type) . += current_type @@ -146,7 +160,7 @@ var/list/arguments = args.Copy() arguments.Cut(1, 2) var/target = comps[/datum/component] - if(!islist(target)) + if(!length(target)) var/datum/component/C = target if(!C.enabled) return FALSE @@ -182,7 +196,7 @@ if(!dc) return null . = dc[c_type] - if(islist(.)) + if(length(.)) return .[1] /datum/proc/GetExactComponent(c_type) @@ -191,7 +205,7 @@ return null var/datum/component/C = dc[c_type] if(C) - if(islist(C)) + if(length(C)) C = C[1] if(C.type == c_type) return C @@ -202,7 +216,7 @@ if(!dc) return null . = dc[c_type] - if(!islist(.)) + if(!length(.)) return list(.) /datum/proc/AddComponent(new_type, ...) diff --git a/code/datums/components/decal.dm b/code/datums/components/decal.dm new file mode 100644 index 0000000000..a28213b0b5 --- /dev/null +++ b/code/datums/components/decal.dm @@ -0,0 +1,60 @@ +/datum/component/decal + dupe_mode = COMPONENT_DUPE_ALLOWED + + var/cleanable + var/description + var/mutable_appearance/pic + +/datum/component/decal/Initialize(_icon, _icon_state, _dir, _cleanable=CLEAN_GOD, _color, _layer=TURF_LAYER, _description) + if(!isatom(parent) || !_icon || !_icon_state) + . = COMPONENT_INCOMPATIBLE + CRASH("A turf decal was applied incorrectly to [parent.type]: icon:[_icon ? _icon : "none"] icon_state:[_icon_state ? _icon_state : "none"]") + + // It has to be made from an image or dir breaks because of a byond bug + var/temp_image = image(_icon, null, _icon_state, _layer, _dir) + pic = new(temp_image) + pic.color = _color + + cleanable = _cleanable + description = _description + + apply() + + if(_dir) // If no dir is assigned at start then it follows the atom's dir + RegisterSignal(COMSIG_ATOM_DIR_CHANGE, .proc/rotate_react) + if(_cleanable) + RegisterSignal(COMSIG_COMPONENT_CLEAN_ACT, .proc/clean_react) + if(_description) + RegisterSignal(COMSIG_PARENT_EXAMINE, .proc/examine) + +/datum/component/decal/Destroy() + remove() + return ..() + +/datum/component/decal/OnTransfer(atom/thing) + remove() + remove(thing) + apply(thing) + +/datum/component/decal/proc/apply(atom/thing) + var/atom/master = thing || parent + master.add_overlay(pic, TRUE) + +/datum/component/decal/proc/remove(atom/thing) + var/atom/master = thing || parent + master.cut_overlay(pic, TRUE) + +/datum/component/decal/proc/rotate_react(old_dir, new_dir) + if(old_dir == new_dir) + return + remove() + var/rotation = SimplifyDegrees(dir2angle(new_dir)-dir2angle(old_dir)) + pic.dir = turn(pic.dir, rotation) + apply() + +/datum/component/decal/proc/clean_react(strength) + if(strength >= cleanable) + qdel(src) + +/datum/component/decal/proc/examine(mob/user) + to_chat(user, description) \ No newline at end of file diff --git a/code/datums/components/radioactive.dm b/code/datums/components/radioactive.dm index b0bf28f163..c149fd8492 100644 --- a/code/datums/components/radioactive.dm +++ b/code/datums/components/radioactive.dm @@ -37,11 +37,15 @@ return ..() /datum/component/radioactive/process() - if(hl3_release_date && prob(50)) - radiation_pulse(parent, strength, RAD_DISTANCE_COEFFICIENT*2, FALSE, can_contaminate) - strength -= strength / hl3_release_date - if(strength <= RAD_BACKGROUND_RADIATION) - qdel(src) + if(!prob(50)) + return + radiation_pulse(parent, strength, RAD_DISTANCE_COEFFICIENT*2, FALSE, can_contaminate) + + if(!hl3_release_date) + return + strength -= strength / hl3_release_date + if(strength <= RAD_BACKGROUND_RADIATION) + return PROCESS_KILL /datum/component/radioactive/InheritComponent(datum/component/C, i_am_original) if(!i_am_original) diff --git a/code/datums/components/signal_redirect.dm b/code/datums/components/signal_redirect.dm new file mode 100644 index 0000000000..38372dd356 --- /dev/null +++ b/code/datums/components/signal_redirect.dm @@ -0,0 +1,9 @@ +/datum/component/redirect + dupe_mode = COMPONENT_DUPE_ALLOWED + +/datum/component/redirect/Initialize(list/signals, datum/callback/_callback) + //It's not our job to verify the right signals are registered here, just do it. + if(!LAZYLEN(signals) || !istype(_callback)) + . = COMPONENT_INCOMPATIBLE + CRASH("A redirection component was initialized with incorrect args.") + RegisterSignal(signals, _callback) diff --git a/code/datums/components/turf_decal.dm b/code/datums/components/turf_decal.dm new file mode 100644 index 0000000000..0cd4cb969e --- /dev/null +++ b/code/datums/components/turf_decal.dm @@ -0,0 +1,51 @@ +/datum/component/turf_decal + var/dir + var/icon + var/icon_state + var/layer + var/group + +/datum/component/turf_decal/Initialize(_dir, _icon, _icon_state, _layer=TURF_DECAL_LAYER, _group=TURF_DECAL_PAINT) + if(!isturf(parent) || !_icon || !_icon_state) + WARNING("A turf decal was applied incorrectly to [parent]: icon:[_icon ? _icon : "none"] icon_state:[_icon_state ? _icon_state : "none"]") + return COMPONENT_INCOMPATIBLE + + dir = _dir + icon = _icon + icon_state = _icon_state + layer = _layer + group = _group + apply_decal() + + RegisterSignal(COMSIG_ATOM_ROTATE, .proc/rotate_react) + RegisterSignal(COMSIG_COMPONENT_CLEAN_ACT, .proc/clean_react) + +/datum/component/turf_decal/Destroy() + remove_decal() + return ..() + +/datum/component/turf_decal/OnTransfer(turf/newT) + remove_decal() + remove_decal(newT) + apply_decal(newT) + +/datum/component/turf_decal/proc/get_decal() + return image(icon, null, icon_state, layer, dir) + +/datum/component/turf_decal/proc/apply_decal(turf/overT) + var/turf/master = overT || parent + master.add_decal(get_decal(), group) + +/datum/component/turf_decal/proc/remove_decal(turf/overT) + var/turf/master = overT || parent + master.remove_decal(group) + +/datum/component/turf_decal/proc/rotate_react(rotation, params) + if(params & ROTATE_DIR) + dir = angle2dir(rotation+dir2angle(dir)) + remove_decal() + apply_decal() + +/datum/component/turf_decal/proc/clean_react(strength) + if(strength >= CLEAN_IMPRESSIVE) + qdel(src) \ No newline at end of file diff --git a/code/datums/datum.dm b/code/datums/datum.dm index f7b15035d1..4c08b1000d 100644 --- a/code/datums/datum.dm +++ b/code/datums/datum.dm @@ -3,6 +3,8 @@ var/list/active_timers //for SStimer var/list/datum_components //for /datum/components var/ui_screen = "home" //for tgui + var/use_tag = FALSE + var/datum/weakref/weak_reference #ifdef TESTING var/running_find_references @@ -12,8 +14,9 @@ // Default implementation of clean-up code. // This should be overridden to remove all references pointing to the object being destroyed. // Return the appropriate QDEL_HINT; in most cases this is QDEL_HINT_QUEUE. -/datum/proc/Destroy(force=FALSE) +/datum/proc/Destroy(force=FALSE, ...) tag = null + weak_reference = null //ensure prompt GCing of weakref. var/list/timers = active_timers active_timers = null for(var/thing in timers) @@ -24,14 +27,12 @@ var/list/dc = datum_components if(dc) var/all_components = dc[/datum/component] - if(islist(all_components)) + if(length(all_components)) for(var/I in all_components) var/datum/component/C = I - C._RemoveFromParent() - qdel(C) + qdel(C, FALSE, TRUE) else var/datum/component/C = all_components - C._RemoveFromParent() - qdel(C) + qdel(C, FALSE, TRUE) dc.Cut() return QDEL_HINT_QUEUE diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index b653e5c6ae..e41666008c 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -25,10 +25,10 @@ /datum/proc/vv_get_dropdown() . = list() . += "---" - .["Call Proc"] = "?_src_=vars;[HrefToken()];proc_call=\ref[src]" - .["Mark Object"] = "?_src_=vars;[HrefToken()];mark_object=\ref[src]" - .["Delete"] = "?_src_=vars;[HrefToken()];delete=\ref[src]" - .["Show VV To Player"] = "?_src_=vars;[HrefToken(TRUE)];expose=\ref[src]" + .["Call Proc"] = "?_src_=vars;[HrefToken()];proc_call=[REF(src)]" + .["Mark Object"] = "?_src_=vars;[HrefToken()];mark_object=[REF(src)]" + .["Delete"] = "?_src_=vars;[HrefToken()];delete=[REF(src)]" + .["Show VV To Player"] = "?_src_=vars;[HrefToken(TRUE)];expose=[REF(src)]" /datum/proc/on_reagent_change() @@ -53,7 +53,7 @@ return var/title = "" - var/refid = "\ref[D]" + var/refid = REF(D) var/icon/sprite var/hash @@ -71,7 +71,7 @@ hash = md5(hash + AT.icon_state) src << browse_rsc(sprite, "vv[hash].png") - title = "[D] (\ref[D]) = [type]" + title = "[D] ([REF(D)]) = [type]" var/sprite_text if(sprite) @@ -394,9 +394,9 @@ name = DA[name] //name is really the index until this line else value = DA[name] - header = "
  • (E) (C) (-) " + header = "
  • (E) (C) (-) " else - header = "
  • (E) (C) (M) " + header = "
  • (E) (C) (M) " else header = "
  • " @@ -411,7 +411,7 @@ #ifdef VARSICON var/icon/I = new/icon(value) var/rnd = rand(1,10000) - var/rname = "tmp\ref[I][rnd].png" + var/rname = "tmp[REF(I)][rnd].png" usr << browse_rsc(I, rname) item = "[VV_HTML_ENCODE(name)] = ([value]) " #else @@ -423,8 +423,8 @@ var/rnd = rand(1, 10000) var/image/I = value - src << browse_rsc(I.icon, "tmp\ref[value][rnd].png") - html += "[name] = " + src << browse_rsc(I.icon, "tmp[REF(value)][rnd].png") + html += "[name] = " #else html += "[name] = /image ([value])" #endif @@ -434,14 +434,14 @@ //else if (istype(value, /client)) // var/client/C = value - // item = "[VV_HTML_ENCODE(name)] \ref[value] = [C] [C.type]" + // item = "[VV_HTML_ENCODE(name)] [REF(value)] = [C] [C.type]" else if (istype(value, /datum)) var/datum/D = value if ("[D]" != "[D.type]") //if the thing as a name var, lets use it. - item = "[VV_HTML_ENCODE(name)] \ref[value] = [D] [D.type]" + item = "[VV_HTML_ENCODE(name)] [REF(value)] = [D] [D.type]" else - item = "[VV_HTML_ENCODE(name)] \ref[value] = [D.type]" + item = "[VV_HTML_ENCODE(name)] [REF(value)] = [D.type]" else if (islist(value)) var/list/L = value @@ -453,15 +453,15 @@ var/val if (IS_NORMAL_LIST(L) && !isnum(key)) val = L[key] - if (!val) + if (isnull(val)) // we still want to display non-null false values, such as 0 or "" val = key key = i items += debug_variable(key, val, level + 1, sanitize = sanitize) - item = "[VV_HTML_ENCODE(name)] = /list ([L.len])
      [items.Join()]
    " + item = "[VV_HTML_ENCODE(name)] = /list ([L.len])
      [items.Join()]
    " else - item = "[VV_HTML_ENCODE(name)] = /list ([L.len])" + item = "[VV_HTML_ENCODE(name)] = /list ([L.len])" else item = "[VV_HTML_ENCODE(name)] = [VV_HTML_ENCODE(value)]" @@ -537,6 +537,11 @@ admin_delete(D) href_list["datumrefresh"] = href_list["delete"] + else if(href_list["osay"]) + if(!check_rights(R_FUN, 0)) + return + usr.client.object_say(locate(href_list["osay"])) + else if(href_list["regenerateicons"]) if(!check_rights(0)) return @@ -561,7 +566,7 @@ var/prompt = alert("Do you want to grant [C] access to view this VV window? (they will not be able to edit or change anything nor open nested vv windows unless they themselves are an admin)", "Confirm", "Yes", "No") if (prompt != "Yes" || !usr.client) return - message_admins("[key_name_admin(usr)] Showed [key_name_admin(C)] a VV window") + message_admins("[key_name_admin(usr)] Showed [key_name_admin(C)] a VV window") log_admin("Admin [key_name(usr)] Showed [key_name(C)] a VV window of a [thing]") to_chat(C, "[usr.client.holder.fakekey ? "an Administrator" : "[usr.client.key]"] has granted you access to view a View Variables window") C.debug_variables(thing) diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm index 1070039f0c..bbe98ff18d 100644 --- a/code/datums/diseases/advance/advance.dm +++ b/code/datums/diseases/advance/advance.dm @@ -416,7 +416,7 @@ for(var/datum/disease/advance/AD in SSdisease.active_diseases) AD.Refresh() - for(var/mob/living/carbon/human/H in shuffle(GLOB.living_mob_list)) + for(var/mob/living/carbon/human/H in shuffle(GLOB.alive_mob_list)) if(!(H.z in GLOB.station_z_levels)) continue if(!H.HasDisease(D)) diff --git a/code/datums/explosion.dm b/code/datums/explosion.dm index 256e2a572f..51844567cc 100644 --- a/code/datums/explosion.dm +++ b/code/datums/explosion.dm @@ -1,5 +1,6 @@ #define EXPLOSION_THROW_SPEED 4 -#define REEBE_HUGBOX_COEFFICIENT 0.5 +#define CITYOFCOGS_CAP_MULTIPLIER 0.5 +#define MINING_CAP_MULTIPLIER 3 GLOBAL_LIST_EMPTY(explosions) //Against my better judgement, I will return the explosion datum @@ -53,21 +54,21 @@ GLOBAL_LIST_EMPTY(explosions) var/orig_dev_range = devastation_range var/orig_heavy_range = heavy_impact_range var/orig_light_range = light_impact_range - - if(!ignorecap && epicenter.z != ZLEVEL_MINING) - //Clamp all values to MAX_EXPLOSION_RANGE - devastation_range = min(GLOB.MAX_EX_DEVESTATION_RANGE, devastation_range) - heavy_impact_range = min(GLOB.MAX_EX_HEAVY_RANGE, heavy_impact_range) - light_impact_range = min(GLOB.MAX_EX_LIGHT_RANGE, light_impact_range) - flash_range = min(GLOB.MAX_EX_FLASH_RANGE, flash_range) - flame_range = min(GLOB.MAX_EX_FLAME_RANGE, flame_range) - - if(!ignorecap && epicenter.z == ZLEVEL_CITYOFCOGS) - devastation_range = min(GLOB.MAX_EX_DEVESTATION_RANGE * REEBE_HUGBOX_COEFFICIENT, devastation_range) - heavy_impact_range = min(GLOB.MAX_EX_HEAVY_RANGE * REEBE_HUGBOX_COEFFICIENT, heavy_impact_range) - light_impact_range = min(GLOB.MAX_EX_LIGHT_RANGE * REEBE_HUGBOX_COEFFICIENT, light_impact_range) - flash_range = min(GLOB.MAX_EX_FLASH_RANGE * REEBE_HUGBOX_COEFFICIENT, flash_range) - flame_range = min(GLOB.MAX_EX_FLAME_RANGE * REEBE_HUGBOX_COEFFICIENT, flame_range) + + //Zlevel specific bomb cap multiplier + var/cap_multiplier = 1 + switch(epicenter.z) + if(ZLEVEL_CITYOFCOGS) + cap_multiplier = CITYOFCOGS_CAP_MULTIPLIER + if(ZLEVEL_MINING) + cap_multiplier = MINING_CAP_MULTIPLIER + + if(!ignorecap) + devastation_range = min(GLOB.MAX_EX_DEVESTATION_RANGE * cap_multiplier, devastation_range) + heavy_impact_range = min(GLOB.MAX_EX_HEAVY_RANGE * cap_multiplier, heavy_impact_range) + light_impact_range = min(GLOB.MAX_EX_LIGHT_RANGE * cap_multiplier, light_impact_range) + flash_range = min(GLOB.MAX_EX_FLASH_RANGE * cap_multiplier, flash_range) + flame_range = min(GLOB.MAX_EX_FLAME_RANGE * cap_multiplier, flame_range) //DO NOT REMOVE THIS STOPLAG, IT BREAKS THINGS //not sleeping causes us to ex_act() the thing that triggered the explosion @@ -397,4 +398,5 @@ GLOBAL_LIST_EMPTY(explosions) // 5 explosion power is a (0, 1, 3) explosion. // 1 explosion power is a (0, 0, 1) explosion. -#undef REEBE_HUGBOX_COEFFICIENT +#undef CITYOFCOGS_CAP_MULTIPLIER +#undef MINING_CAP_MULTIPLIER diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm index 7b60070fc7..df22be910a 100644 --- a/code/datums/helper_datums/getrev.dm +++ b/code/datums/helper_datums/getrev.dm @@ -55,6 +55,9 @@ to_chat(src, "[prefix][copytext(pc, 1, min(length(pc), 7))]") else to_chat(src, "Revision unknown") + if(SERVER_TOOLS_PRESENT) + to_chat(src, "Server tools version: [SERVER_TOOLS_VERSION]") + to_chat(src, "Server tools API version: [SERVER_TOOLS_API_VERSION]") to_chat(src, "Current Informational Settings:") to_chat(src, "Protect Authority Roles From Traitor: [CONFIG_GET(flag/protect_roles_from_antagonist)]") to_chat(src, "Protect Assistant Role From Traitor: [CONFIG_GET(flag/protect_assistant_from_antagonist)]") diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm index 300417b6d0..5d04d1c7c0 100644 --- a/code/datums/helper_datums/teleport.dm +++ b/code/datums/helper_datums/teleport.dm @@ -152,13 +152,14 @@ if(istype(teleatom, /obj/item/storage/backpack/holding)) precision = rand(1,100) - var/list/bagholding = teleatom.search_contents_for(/obj/item/storage/backpack/holding) + var/static/list/bag_cache = typecacheof(/obj/item/storage/backpack/holding) + var/list/bagholding = typecache_filter_list(teleatom.GetAllContents(), bag_cache) if(bagholding.len) precision = max(rand(1,100)*bagholding.len,100) if(isliving(teleatom)) var/mob/living/MM = teleatom to_chat(MM, "The bluespace interface on your bag of holding interferes with the teleport!") - return 1 + return TRUE // Safe location finder diff --git a/code/datums/hud.dm b/code/datums/hud.dm index 98d2c9258a..be2b5c620c 100644 --- a/code/datums/hud.dm +++ b/code/datums/hud.dm @@ -29,13 +29,12 @@ GLOBAL_LIST_INIT(huds, list( var/list/hud_icons = list() //these will be the indexes for the atom's hud_list /datum/atom_hud/proc/remove_hud_from(mob/M) - if(!M) + if(!M || !hudusers[M]) return - if(src in M.permanent_huds) - return - for(var/atom/A in hudatoms) - remove_from_single_hud(M, A) - hudusers -= M + if (!--hudusers[M]) + hudusers -= M + for(var/atom/A in hudatoms) + remove_from_single_hud(M, A) /datum/atom_hud/proc/remove_from_hud(atom/A) if(!A) @@ -54,9 +53,12 @@ GLOBAL_LIST_INIT(huds, list( /datum/atom_hud/proc/add_hud_to(mob/M) if(!M) return - hudusers[M] = TRUE - for(var/atom/A in hudatoms) - add_to_single_hud(M, A) + if (!hudusers[M]) + hudusers[M] = 1 + for(var/atom/A in hudatoms) + add_to_single_hud(M, A) + else + hudusers[M]++ /datum/atom_hud/proc/add_to_hud(atom/A) if(!A) @@ -77,7 +79,8 @@ GLOBAL_LIST_INIT(huds, list( /mob/proc/reload_huds() for(var/datum/atom_hud/hud in (GLOB.huds|GLOB.active_alternate_appearances)) if(hud && hud.hudusers[src]) - hud.add_hud_to(src) + for(var/atom/A in hud.hudatoms) + hud.add_to_single_hud(src, A) /mob/dead/new_player/reload_huds() return diff --git a/code/datums/looping_sounds/machinery_sounds.dm b/code/datums/looping_sounds/machinery_sounds.dm index e8c2f4f05e..4e93daba0d 100644 --- a/code/datums/looping_sounds/machinery_sounds.dm +++ b/code/datums/looping_sounds/machinery_sounds.dm @@ -21,4 +21,25 @@ mid_sounds = list('sound/machines/generator/generator_mid1.ogg'=1, 'sound/machines/generator/generator_mid2.ogg'=1, 'sound/machines/generator/generator_mid3.ogg'=1) mid_length = 4 end_sound = 'sound/machines/generator/generator_end.ogg' - volume = 40 \ No newline at end of file + volume = 40 + +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + +/datum/looping_sound/deep_fryer + start_sound = 'sound/machines/fryer/deep_fryer_immerse.ogg' //my immersions + start_length = 10 + mid_sounds = list('sound/machines/fryer/deep_fryer_1.ogg' = 1, 'sound/machines/fryer/deep_fryer_2.ogg' = 1) + mid_length = 2 + end_sound = 'sound/machines/fryer/deep_fryer_emerge.ogg' + volume = 25 + +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/datum/looping_sound/microwave + start_sound = 'sound/machines/microwave/microwave-start.ogg' + start_length = 10 + mid_sounds = list('sound/machines/microwave/microwave-mid1.ogg'=10, 'sound/machines/microwave/microwave-mid2.ogg'=1) + mid_length = 10 + end_sound = 'sound/machines/microwave/microwave-end.ogg' + volume = 90 diff --git a/code/datums/looping_sounds/weather.dm b/code/datums/looping_sounds/weather.dm new file mode 100644 index 0000000000..1867a097d3 --- /dev/null +++ b/code/datums/looping_sounds/weather.dm @@ -0,0 +1,47 @@ +/datum/looping_sound/active_outside_ashstorm + mid_sounds = list( + 'sound/weather/ashstorm/outside/active_mid1.ogg'=1, + 'sound/weather/ashstorm/outside/active_mid1.ogg'=1, + 'sound/weather/ashstorm/outside/active_mid1.ogg'=1 + ) + mid_length = 80 + start_sound = 'sound/weather/ashstorm/outside/active_start.ogg' + start_length = 130 + end_sound = 'sound/weather/ashstorm/outside/active_end.ogg' + volume = 80 + +/datum/looping_sound/active_inside_ashstorm + mid_sounds = list( + 'sound/weather/ashstorm/inside/active_mid1.ogg'=1, + 'sound/weather/ashstorm/inside/active_mid2.ogg'=1, + 'sound/weather/ashstorm/inside/active_mid3.ogg'=1 + ) + mid_length = 80 + start_sound = 'sound/weather/ashstorm/inside/active_start.ogg' + start_length = 130 + end_sound = 'sound/weather/ashstorm/inside/active_end.ogg' + volume = 80 + +/datum/looping_sound/weak_outside_ashstorm + mid_sounds = list( + 'sound/weather/ashstorm/outside/weak_mid1.ogg'=1, + 'sound/weather/ashstorm/outside/weak_mid2.ogg'=1, + 'sound/weather/ashstorm/outside/weak_mid3.ogg'=1 + ) + mid_length = 80 + start_sound = 'sound/weather/ashstorm/outside/weak_start.ogg' + start_length = 130 + end_sound = 'sound/weather/ashstorm/outside/weak_end.ogg' + volume = 50 + +/datum/looping_sound/weak_inside_ashstorm + mid_sounds = list( + 'sound/weather/ashstorm/inside/weak_mid1.ogg'=1, + 'sound/weather/ashstorm/inside/weak_mid2.ogg'=1, + 'sound/weather/ashstorm/inside/weak_mid3.ogg'=1 + ) + mid_length = 80 + start_sound = 'sound/weather/ashstorm/inside/weak_start.ogg' + start_length = 130 + end_sound = 'sound/weather/ashstorm/inside/weak_end.ogg' + volume = 50 \ No newline at end of file diff --git a/code/datums/map_config.dm b/code/datums/map_config.dm index 885407ef90..478109048a 100644 --- a/code/datums/map_config.dm +++ b/code/datums/map_config.dm @@ -29,7 +29,7 @@ var/config_max_users = 0 var/config_min_users = 0 var/voteweight = 1 - var/allow_custom_shuttles = "yes" + var/allow_custom_shuttles = TRUE /datum/map_config/New(filename = "data/next_map.json", default_to_box, delete_after) if(default_to_box) @@ -69,7 +69,7 @@ map_file = json["map_file"] minetype = json["minetype"] || minetype - allow_custom_shuttles = json["allow_custom_shuttles"] == TRUE + allow_custom_shuttles = json["allow_custom_shuttles"] != FALSE var/jtcl = json["transition_config"] if(jtcl && jtcl != "default") diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 7d70940512..04b3ee31b7 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -192,15 +192,10 @@ qdel(O) /datum/mind/proc/remove_changeling() - if(src in SSticker.mode.changelings) - SSticker.mode.changelings -= src - current.remove_changeling_powers() - if(changeling) - qdel(changeling) - changeling = null - special_role = null - remove_antag_equip() - SSticker.mode.update_changeling_icons_removed(src) + var/datum/antagonist/changeling/C = has_antag_datum(/datum/antagonist/changeling) + if(C) + remove_antag_datum(/datum/antagonist/changeling) + special_role = null /datum/mind/proc/remove_traitor() if(src in SSticker.mode.traitors) @@ -255,7 +250,6 @@ remove_wizard() remove_cultist() remove_rev() - SSticker.mode.update_changeling_icons_removed(src) SSticker.mode.update_traitor_icons_removed(src) SSticker.mode.update_cult_icons_removed(src) @@ -388,7 +382,7 @@ var/out = "[name][(current&&(current.real_name!=name))?" (as [current.real_name])":""]
    " out += "Mind currently owned by key: [key] [active?"(synced)":"(not synced)"]
    " - out += "Assigned role: [assigned_role]. Edit
    " + out += "Assigned role: [assigned_role]. Edit
    " out += "Faction and special role: [special_role]
    " var/list/sections = list( @@ -412,11 +406,11 @@ text = uppertext(text) text = "[text]: " if (src in SSticker.mode.traitors) - text += "TRAITOR | loyal" + text += "TRAITOR | loyal" if (objectives.len==0) - text += "
    Objectives are empty! Randomize!" + text += "
    Objectives are empty! Randomize!" else - text += "traitor | LOYAL" + text += "traitor | LOYAL" if(current && current.client && (ROLE_TRAITOR in current.client.prefs.be_special)) text += " | Enabled in Prefs" @@ -434,7 +428,7 @@ text = uppertext(text) text = "[text]: " if(src in SSticker.mode.brothers) - text += "Brother | no" + text += "Brother | no" if(current && current.client && (ROLE_BROTHER in current.client.prefs.be_special)) text += " | Enabled in Prefs" @@ -448,20 +442,15 @@ if (SSticker.mode.config_tag=="changeling" || SSticker.mode.config_tag=="traitorchan") text = uppertext(text) text = "[text]: " - if ((src in SSticker.mode.changelings) && special_role) - text += "YES | no" + var/datum/antagonist/changeling/C = has_antag_datum(/datum/antagonist/changeling) + if(C) + text += "[C.name] | No" if (objectives.len==0) - text += "
    Objectives are empty! Randomize!" - if(changeling && changeling.stored_profiles.len && (current.real_name != changeling.first_prof.name) ) - text += "
    Transform to initial appearance." - else if(src in SSticker.mode.changelings) //Station Aligned Changeling - text += "YES (but not an antag) | no" - if (objectives.len==0) - text += "
    Objectives are empty! Randomize!" - if(changeling && changeling.stored_profiles.len && (current.real_name != changeling.first_prof.name) ) - text += "
    Transform to initial appearance." + text += "
    Objectives are empty! Randomize!" + if(C.stored_profiles.len && (current.real_name != C.first_prof.name) ) + text += "
    Transform to initial appearance." else - text += "yes | NO" + text += "yes | NO" if(current && current.client && (ROLE_CHANGELING in current.client.prefs.be_special)) text += " | Enabled in Prefs" @@ -477,7 +466,7 @@ text = uppertext(text) text = "[text]: " if (ishuman(current)) - text += "healthy | infected | HUMAN | other" + text += "healthy | infected | HUMAN | other" else if(ismonkey(current)) var/found = FALSE for(var/datum/disease/transformation/jungle_fever/JF in current.viruses) @@ -485,9 +474,9 @@ break if(found) - text += "healthy | INFECTED | human | other" + text += "healthy | INFECTED | human | other" else - text += "HEALTHY | infected | human | other" + text += "HEALTHY | infected | human | other" else text += "healthy | infected | human | OTHER" @@ -507,17 +496,17 @@ text = uppertext(text) text = "[text]: " if (src in SSticker.mode.syndicates) - text += "OPERATIVE | nanotrasen" - text += "
    To shuttle, undress, dress up." + text += "OPERATIVE | nanotrasen" + text += "
    To shuttle, undress, dress up." var/code for (var/obj/machinery/nuclearbomb/bombue in GLOB.machines) if (length(bombue.r_code) <= 5 && bombue.r_code != "LOLNO" && bombue.r_code != "ADMIN") code = bombue.r_code break if (code) - text += " Code is [code]. tell the code." + text += " Code is [code]. tell the code." else - text += "operative | NANOTRASEN" + text += "operative | NANOTRASEN" if(current && current.client && (ROLE_OPERATIVE in current.client.prefs.be_special)) text += " | Enabled in Prefs" @@ -533,10 +522,10 @@ text = uppertext(text) text = "[text]: " if (has_antag_datum(/datum/antagonist/wizard)) - text += "YES | no" - text += "
    To lair, undress" + text += "YES | no" + text += "
    To lair, undress" else - text += "yes | NO" + text += "yes | NO" if(current && current.client && (ROLE_WIZARD in current.client.prefs.be_special)) text += " | Enabled in Prefs" @@ -563,28 +552,28 @@ if(M && (M.z in GLOB.station_z_levels) && !M.stat) last_healthy_headrev = FALSE break - text += "head | not mindshielded | employee | [last_healthy_headrev ? "LAST " : ""]HEADREV | rev" - text += "
    Flash: give" + text += "head | not mindshielded | employee | [last_healthy_headrev ? "LAST " : ""]HEADREV | rev" + text += "
    Flash: give" var/list/L = current.get_contents() var/obj/item/device/assembly/flash/flash = locate() in L if (flash) if(!flash.crit_fail) - text += " | take." + text += " | take." else - text += " | take | repair." + text += " | take | repair." else text += "." - text += " Reequip (gives traitor uplink)." + text += " Reequip (gives traitor uplink)." if (objectives.len==0) - text += "
    Objectives are empty! Set to kill all heads." + text += "
    Objectives are empty! Set to kill all heads." else if(current.isloyal()) - text += "head | MINDSHIELDED | employee | headrev | rev" + text += "head | MINDSHIELDED | employee | headrev | rev" else if (has_antag_datum(/datum/antagonist/rev)) - text += "head | not mindshielded | employee | headrev | REV" + text += "head | not mindshielded | employee | headrev | REV" else - text += "head | not mindshielded | EMPLOYEE | headrev | rev" + text += "head | not mindshielded | EMPLOYEE | headrev | rev" if(current && current.client && (ROLE_REV in current.client.prefs.be_special)) text += " | Enabled in Prefs" @@ -599,8 +588,8 @@ text = uppertext(text) text = "[text]: " if(src in SSticker.mode.abductors) - text += "Abductor | human" - text += " | undress | equip" + text += "Abductor | human" + text += " | undress | equip" if(current && current.client && (ROLE_ABDUCTOR in current.client.prefs.be_special)) text += " | Enabled in Prefs" @@ -618,13 +607,13 @@ var/datum/antagonist/devil/devilinfo = has_antag_datum(ANTAG_DATUM_DEVIL) if(devilinfo) if(!devilinfo.ascendable) - text += "DEVIL | ascendable devil | sintouched | human" + text += "DEVIL | ascendable devil | sintouched | human" else - text += "DEVIL | ASCENDABLE DEVIL | sintouched | human" + text += "DEVIL | ASCENDABLE DEVIL | sintouched | human" else if(src in SSticker.mode.sintouched) - text += "devil | ascendable devil | SINTOUCHED | human" + text += "devil | ascendable devil | SINTOUCHED | human" else - text += "devil | ascendable devil | sintouched | HUMAN" + text += "devil | ascendable devil | sintouched | HUMAN" if(current && current.client && (ROLE_DEVIL in current.client.prefs.be_special)) text += " | Enabled in Prefs" @@ -641,11 +630,11 @@ var/datum/antagonist/ninja/ninjainfo = has_antag_datum(ANTAG_DATUM_NINJA) if(ninjainfo) if(ninjainfo.helping_station) - text += "employee | syndicate | NANOTRASEN | EQUIP" + text += "employee | syndicate | NANOTRASEN | EQUIP" else - text += "employee | SYNDICATE | nanotrasen | EQUIP" + text += "employee | SYNDICATE | nanotrasen | EQUIP" else - text += "EMPLOYEE | syndicate | nanotrasen | random allegiance" + text += "EMPLOYEE | syndicate | nanotrasen | random allegiance" if(current && current.client && (ROLE_NINJA in current.client.prefs.be_special)) text += " | Enabled in Prefs" else @@ -660,10 +649,10 @@ text = uppertext(text) text = "[text]: " if(iscultist(current)) - text += "not mindshielded | employee | CULTIST" - text += "
    Give tome | amulet." + text += "not mindshielded | employee | CULTIST" + text += "
    Give tome | amulet." else if(is_convertable_to_cult(current)) - text += "not mindshielded | EMPLOYEE | cultist" + text += "not mindshielded | EMPLOYEE | cultist" else text += "[!current.isloyal() ? "not mindshielded" : "MINDSHIELDED"] | EMPLOYEE | cannot serve Nar-Sie" @@ -682,10 +671,10 @@ text = uppertext(text) text = "[text]: " if(is_servant_of_ratvar(current)) - text += "not mindshielded | employee | SERVANT" - text += "
    Equip" + text += "not mindshielded | employee | SERVANT" + text += "
    Equip" else if(is_eligible_servant(current)) - text += "not mindshielded | EMPLOYEE | servant" + text += "not mindshielded | EMPLOYEE | servant" else text += "[!current.isloyal() ? "not mindshielded" : "MINDSHIELDED"] | EMPLOYEE | cannot serve Ratvar" @@ -702,14 +691,14 @@ text = "silicon" var/mob/living/silicon/robot/robot = current if (istype(robot) && robot.emagged) - text += "
    Cyborg: Is emagged! Unemag!
    0th law: [robot.laws.zeroth]" + text += "
    Cyborg: Is emagged! Unemag!
    0th law: [robot.laws.zeroth]" var/mob/living/silicon/ai/ai = current if (istype(ai) && ai.connected_robots.len) var/n_e_robots = 0 for (var/mob/living/silicon/robot/R in ai.connected_robots) if (R.emagged) n_e_robots++ - text += "
    [n_e_robots] of [ai.connected_robots.len] slaved cyborgs are emagged. Unemag" + text += "
    [n_e_robots] of [ai.connected_robots.len] slaved cyborgs are emagged. Unemag" if (SSticker.mode.config_tag == "traitorchan") if (sections["traitor"]) out += sections["traitor"]+"
    " @@ -727,12 +716,12 @@ if(((src in SSticker.mode.traitors) || (src in SSticker.mode.syndicates)) && ishuman(current)) - text = "Uplink: give" + text = "Uplink: give" var/obj/item/device/uplink/U = find_syndicate_uplink() if(U) - text += " | take" + text += " | take" if (check_rights(R_FUN, 0)) - text += ", [U.telecrystals] TC" + text += ", [U.telecrystals] TC" else text += ", [U.telecrystals] TC" text += "." //hiel grammar @@ -742,18 +731,18 @@ out += "Memory:
    " out += memory - out += "
    Edit memory
    " + out += "
    Edit memory
    " out += "Objectives:
    " if (objectives.len == 0) out += "EMPTY
    " else var/obj_count = 1 for(var/datum/objective/objective in objectives) - out += "[obj_count]: [objective.explanation_text] Edit Delete Toggle Completion
    " + out += "[obj_count]: [objective.explanation_text] Edit Delete Toggle Completion
    " obj_count++ - out += "Add objective

    " + out += "Add objective

    " - out += "Announce objectives

    " + out += "Announce objectives

    " var/datum/browser/popup = new(usr, "edit_memory", "", 600, 600) popup.set_content(out) @@ -955,7 +944,7 @@ log_admin("[key_name(usr)] has rev'ed [current].") else return - + if("headrev") if(has_antag_datum(/datum/antagonist/rev)) var/datum/antagonist/rev/rev = has_antag_datum(/datum/antagonist/rev) @@ -1050,30 +1039,29 @@ else if (href_list["changeling"]) switch(href_list["changeling"]) if("clear") - remove_changeling() + remove_antag_datum(/datum/antagonist/changeling) + special_role = null to_chat(current, "You grow weak and lose your powers! You are no longer a changeling and are stuck in your current form!") message_admins("[key_name_admin(usr)] has de-changeling'ed [current].") log_admin("[key_name(usr)] has de-changeling'ed [current].") if("changeling") - if(!(src in SSticker.mode.changelings)) - SSticker.mode.changelings += src - current.make_changeling() - special_role = "Changeling" - to_chat(current, "Your powers are awoken. A flash of memory returns to us...we are [changeling.changelingID], a changeling!") - message_admins("[key_name_admin(usr)] has changeling'ed [current].") - log_admin("[key_name(usr)] has changeling'ed [current].") - SSticker.mode.update_changeling_icons_added(src) + var/datum/antagonist/changeling/C = make_Changling() + to_chat(current, "Our powers have awoken. A flash of memory returns to us...we are [C.changelingID], a changeling!") + message_admins("[key_name_admin(usr)] has changeling'ed [current].") + log_admin("[key_name(usr)] has changeling'ed [current].") if("autoobjectives") - SSticker.mode.forge_changeling_objectives(src) + var/datum/antagonist/changeling/C = has_antag_datum(/datum/antagonist/changeling) + if(C) + C.forge_objectives() to_chat(usr, "The objectives for changeling [key] have been generated. You can edit them and anounce manually.") - if("initialdna") - if( !changeling || !changeling.stored_profiles.len || !iscarbon(current)) + var/datum/antagonist/changeling/ling = has_antag_datum(/datum/antagonist/changeling) + if( !ling || !ling.stored_profiles.len || !iscarbon(current)) to_chat(usr, "Resetting DNA failed!") else var/mob/living/carbon/C = current - changeling.first_prof.dna.transfer_identity(C, transfer_SE=1) - C.real_name = changeling.first_prof.name + ling.first_prof.dna.transfer_identity(C, transfer_SE=1) + C.real_name = ling.first_prof.name C.updateappearance(mutcolor_update=1) C.domutcheck() @@ -1408,13 +1396,11 @@ current.real_name = "[syndicate_name()] Operative #[SSticker.mode.syndicates.len-1]" /datum/mind/proc/make_Changling() - if(!(src in SSticker.mode.changelings)) - SSticker.mode.changelings += src - current.make_changeling() + var/datum/antagonist/changeling/C = has_antag_datum(/datum/antagonist/changeling) + if(!C) + C = add_antag_datum(/datum/antagonist/changeling) special_role = "Changeling" - SSticker.mode.forge_changeling_objectives(src) - SSticker.mode.greet_changeling(src) - SSticker.mode.update_changeling_icons_added(src) + return C /datum/mind/proc/make_Wizard() if(!has_antag_datum(/datum/antagonist/wizard)) diff --git a/code/datums/radiation_wave.dm b/code/datums/radiation_wave.dm index ffc6b75fcb..f065ccfeab 100644 --- a/code/datums/radiation_wave.dm +++ b/code/datums/radiation_wave.dm @@ -98,7 +98,8 @@ /obj/structure/cable, /obj/machinery/atmospherics, /obj/item/ammo_casing, - /obj/item/implant + /obj/item/implant, + /obj/singularity )) if(!can_contaminate || blacklisted[thing.type]) continue diff --git a/code/datums/ruins/lavaland.dm b/code/datums/ruins/lavaland.dm index 3526ee6f53..5c646491c8 100644 --- a/code/datums/ruins/lavaland.dm +++ b/code/datums/ruins/lavaland.dm @@ -142,7 +142,7 @@ /datum/map_template/ruin/lavaland/ufo_crash name = "UFO Crash" id = "ufo-crash" - description = "Turns out that keeping your abductees unconcious is really important. Who knew?" + description = "Turns out that keeping your abductees unconscious is really important. Who knew?" suffix = "lavaland_surface_ufo_crash.dmm" cost = 5 diff --git a/code/datums/shuttles.dm b/code/datums/shuttles.dm index ce38d0af3e..1ec392a5b2 100644 --- a/code/datums/shuttles.dm +++ b/code/datums/shuttles.dm @@ -149,7 +149,7 @@ suffix = "mini" name = "Ministation emergency shuttle" credit_cost = 1000 - description = "Despite it's namesake, this shuttle is actually only slightly smaller than standard, and still complete with a brig and medbay." + description = "Despite its namesake, this shuttle is actually only slightly smaller than standard, and still complete with a brig and medbay." /datum/map_template/shuttle/emergency/scrapheap suffix = "scrapheap" diff --git a/code/datums/spawners_menu.dm b/code/datums/spawners_menu.dm index a9fd77d1e2..ebbe08c525 100644 --- a/code/datums/spawners_menu.dm +++ b/code/datums/spawners_menu.dm @@ -21,7 +21,7 @@ this["desc"] = "" this["refs"] = list() for(var/spawner_obj in GLOB.mob_spawners[spawner]) - this["refs"] += "\ref[spawner_obj]" + this["refs"] += "[REF(spawner_obj)]" if(!this["desc"]) if(istype(spawner_obj, /obj/effect/mob_spawn)) var/obj/effect/mob_spawn/MS = spawner_obj @@ -40,6 +40,8 @@ var/spawner_ref = pick(GLOB.mob_spawners[params["name"]]) var/obj/effect/mob_spawn/MS = locate(spawner_ref) in GLOB.poi_list + if(!MS) + return switch(action) if("jump") diff --git a/code/datums/weakrefs.dm b/code/datums/weakrefs.dm new file mode 100644 index 0000000000..2347d0f831 --- /dev/null +++ b/code/datums/weakrefs.dm @@ -0,0 +1,18 @@ +/proc/WEAKREF(datum/input) + if(istype(input) && !QDELETED(input)) + if(!input.weak_reference) + input.weak_reference = new /datum/weakref(input) + return input.weak_reference + +/datum/weakref + var/reference + +/datum/weakref/New(datum/thing) + reference = REF(thing) + +/datum/weakref/Destroy() + return QDEL_HINT_LETMELIVE //Let BYOND autoGC thiswhen nothing is using it anymore. + +/datum/weakref/proc/resolve() + var/datum/D = locate(reference) + return (!QDELETED(D) && D.weak_reference == src) ? D : null diff --git a/code/datums/weather/weather_types/ash_storm.dm b/code/datums/weather/weather_types/ash_storm.dm index a1dc9ece69..14133c6a11 100644 --- a/code/datums/weather/weather_types/ash_storm.dm +++ b/code/datums/weather/weather_types/ash_storm.dm @@ -5,18 +5,15 @@ telegraph_message = "An eerie moan rises on the wind. Sheets of burning ash blacken the horizon. Seek shelter." telegraph_duration = 300 - telegraph_sound = 'sound/lavaland/ash_storm_windup.ogg' telegraph_overlay = "light_ash" weather_message = "Smoldering clouds of scorching ash billow down around you! Get inside!" weather_duration_lower = 600 weather_duration_upper = 1200 - weather_sound = 'sound/lavaland/ash_storm_start.ogg' weather_overlay = "ash_storm" end_message = "The shrieking wind whips away the last of the ash and falls to its usual murmur. It should be safe to go outside now." end_duration = 300 - end_sound = 'sound/lavaland/ash_storm_end.ogg' end_overlay = "light_ash" area_type = /area/lavaland/surface/outdoors @@ -26,6 +23,53 @@ probability = 90 + var/datum/looping_sound/active_outside_ashstorm/sound_ao = new(list(), FALSE, TRUE) + var/datum/looping_sound/active_inside_ashstorm/sound_ai = new(list(), FALSE, TRUE) + var/datum/looping_sound/weak_outside_ashstorm/sound_wo = new(list(), FALSE, TRUE) + var/datum/looping_sound/weak_inside_ashstorm/sound_wi = new(list(), FALSE, TRUE) + +/datum/weather/ash_storm/telegraph() + . = ..() + var/list/inside_areas = list() + var/list/outside_areas = list() + var/list/eligible_areas = SSmapping.areas_in_z["[target_z]"] + for(var/i in 1 to eligible_areas.len) + var/area/place = eligible_areas[i] + if(place.outdoors) + outside_areas += place + else + inside_areas += place + CHECK_TICK + + sound_ao.output_atoms = outside_areas + sound_ai.output_atoms = inside_areas + sound_wo.output_atoms = outside_areas + sound_wi.output_atoms = inside_areas + + sound_wo.start() + sound_wi.start() + +/datum/weather/ash_storm/start() + . = ..() + sound_wo.stop() + sound_wi.stop() + + sound_ao.start() + sound_ai.start() + +/datum/weather/ash_storm/wind_down() + . = ..() + sound_ao.stop() + sound_ai.stop() + + sound_wo.start() + sound_wi.start() + +/datum/weather/ash_storm/end() + . = ..() + sound_wo.stop() + sound_wi.stop() + /datum/weather/ash_storm/proc/is_ash_immune(mob/living/L) if(ismecha(L.loc)) //Mechs are immune return TRUE @@ -50,7 +94,6 @@ desc = "A passing ash storm blankets the area in harmless embers." weather_message = "Gentle embers waft down around you like grotesque snow. The storm seems to have passed you by..." - weather_sound = 'sound/lavaland/ash_storm_windup.ogg' weather_overlay = "light_ash" end_message = "The emberfall slows, stops. Another layer of hardened soot to the basalt beneath your feet." diff --git a/code/datums/wires/wires.dm b/code/datums/wires/wires.dm index c508907bf4..19f7157faa 100644 --- a/code/datums/wires/wires.dm +++ b/code/datums/wires/wires.dm @@ -74,7 +74,7 @@ "white", "yellow" ) - + var/list/my_possible_colors = possible_colors.Copy() for(var/wire in shuffle(wires)) @@ -163,9 +163,9 @@ for(var/wire in possible_wires) if(prob(33)) pulse(wire) - remaining_pulses-- - if(remaining_pulses >= 0) - break + remaining_pulses-- + if(!remaining_pulses) + break // Overridable Procs /datum/wires/proc/interactable(mob/user) diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm index 66dafe2e8f..cb5878208e 100644 --- a/code/game/area/Space_Station_13_areas.dm +++ b/code/game/area/Space_Station_13_areas.dm @@ -41,7 +41,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station power_environ = FALSE valid_territory = FALSE outdoors = TRUE - ambientsounds = list('sound/ambience/ambispace.ogg','sound/ambience/title2.ogg') + ambientsounds = SPACE blob_allowed = FALSE //Eating up space doesn't count for victory as a blob. /area/space/nearstation @@ -65,6 +65,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station has_gravity = TRUE blob_allowed = FALSE //Nope, no winning on the asteroid as a blob. Gotta eat the station. valid_territory = FALSE + ambientsounds = MINING /area/asteroid/cave name = "Asteroid - Underground" @@ -75,6 +76,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/asteroid/artifactroom name = "Asteroid - Artifact" icon_state = "cave" + ambientsounds = RUINS /area/asteroid/artifactroom/Initialize() . = ..() @@ -96,14 +98,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station //Maintenance /area/maintenance - ambientsounds = list('sound/ambience/ambimaint1.ogg', - 'sound/ambience/ambimaint2.ogg', - 'sound/ambience/ambimaint3.ogg', - 'sound/ambience/ambimaint4.ogg', - 'sound/ambience/ambimaint5.ogg', - 'sound/voice/lowHiss2.ogg', //Xeno Breathing Hisses, Hahahaha I'm not even sorry. - 'sound/voice/lowHiss3.ogg', - 'sound/voice/lowHiss4.ogg') + ambientsounds = MAINTENANCE valid_territory = FALSE @@ -111,43 +106,43 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/maintenance/department/chapel name = "Chapel Maintenance" - icon_state = "fpmaint" + icon_state = "maint_chapel" /area/maintenance/department/chapel/monastery name = "Monastery Maintenance" - icon_state = "fpmaint" + icon_state = "maint_monastery" /area/maintenance/department/crew_quarters/bar name = "Bar Maintenance" - icon_state = "fsmaint" + icon_state = "maint_bar" /area/maintenance/department/crew_quarters/dorms name = "Dormitory Maintenance" - icon_state = "fsmaint" + icon_state = "maint_dorms" /area/maintenance/department/crew_quarters/locker name = "Locker Room Maintenance" - icon_state = "pmaint" + icon_state = "maint_locker" /area/maintenance/department/eva name = "EVA Maintenance" - icon_state = "fpmaint" + icon_state = "maint_eva" /area/maintenance/department/electrical name = "Electrical Maintenance" - icon_state = "yellow" + icon_state = "maint_electrical" /area/maintenance/department/engine/atmos name = "Atmospherics Maintenance" - icon_state = "fpmaint" + icon_state = "maint_atmos" /area/maintenance/department/security name = "Security Maintenance" - icon_state = "fpmaint" + icon_state = "maint_sec" /area/maintenance/department/security/brig name = "Brig Maintenance" - icon_state = "fpmaint" + icon_state = "maint_brig" /area/maintenance/department/medical name = "Medbay Maintenance" @@ -159,19 +154,19 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/maintenance/department/science name = "Science Maintenance" - icon_state = "asmaint" + icon_state = "maint_sci" /area/maintenance/department/cargo name = "Cargo Maintenance" - icon_state = "apmaint" + icon_state = "maint_cargo" /area/maintenance/department/bridge name = "Bridge Maintenance" - icon_state = "maintcentral" + icon_state = "maint_bridge" /area/maintenance/department/engine name = "Engineering Maintenance" - icon_state = "amaint" + icon_state = "maint_engi" /area/maintenance/department/science/xenobiology name = "Xenobiology Maintenance" @@ -621,7 +616,10 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/crew_quarters/abandoned_gambling_den name = "Abandoned Gambling Den" - icon_state = "bar" + icon_state = "abandoned_g_den" + +/area/crew_quarters/abandoned_gambling_den/secondary + icon_state = "abandoned_g_den_2" /area/crew_quarters/theatre name = "Theatre" @@ -647,7 +645,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/chapel icon_state = "chapel" - ambientsounds = list('sound/ambience/ambicha1.ogg','sound/ambience/ambicha2.ogg','sound/ambience/ambicha3.ogg','sound/ambience/ambicha4.ogg') + ambientsounds = HOLY flags_1 = NONE clockwork_warp_allowed = FALSE clockwork_warp_fail = "The consecration here prevents you from warping in." @@ -678,7 +676,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station //Engineering /area/engine - ambientsounds = list('sound/ambience/ambisin1.ogg','sound/ambience/ambisin2.ogg','sound/ambience/ambisin3.ogg','sound/ambience/ambisin4.ogg') + ambientsounds = ENGINEERING /area/engine/engine_smes name = "Engineering SMES" @@ -732,6 +730,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station valid_territory = FALSE blob_allowed = FALSE flags_1 = NONE + ambientsounds = ENGINEERING /area/solar/asteroid/aft name = "Aft Asteroid Solar" @@ -858,37 +857,36 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Teleporter Room" icon_state = "teleporter" music = "signal" + ambientsounds = ENGINEERING /area/teleporter/quantum/cargo name = "Cargo Quantum Pad" icon_state = "teleporter" - music = "signal" /area/teleporter/quantum/docking name = "Docking Quantum Pad" icon_state = "teleporter" - music = "signal" /area/teleporter/quantum/research name = "Research Quantum Pad" icon_state = "teleporter" - music = "signal" /area/teleporter/quantum/security name = "Security Quantum Pad" icon_state = "teleporter" - music = "signal" /area/gateway name = "Gateway" - icon_state = "teleporter" + icon_state = "gateway" music = "signal" + ambientsounds = ENGINEERING //MedBay /area/medical name = "Medical" icon_state = "medbay3" + ambientsounds = MEDICAL /area/medical/abandoned name = "Abandoned Medbay" @@ -952,7 +950,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/medical/morgue name = "Morgue" icon_state = "morgue" - ambientsounds = list('sound/ambience/ambimo1.ogg','sound/ambience/ambimo2.ogg') + ambientsounds = SPOOKY /area/medical/chemistry name = "Chemistry" @@ -988,6 +986,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/security name = "Security" icon_state = "security" + ambientsounds = HIGHSEC /area/security/main name = "Security Office" @@ -1029,7 +1028,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/security/detectives_office/private_investigators_office name = "Private Investigator's Office" icon_state = "detective" - ambientsounds = list('sound/ambience/ambidet1.ogg','sound/ambience/ambidet2.ogg') /area/security/range name = "Firing Range" @@ -1056,33 +1054,41 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Security Checkpoint" icon_state = "checkpoint1" -/area/security/checkpoint/checkpoint2 - name = "Security Checkpoint" - icon_state = "security" +/area/security/checkpoint/auxiliary + icon_state = "checkpoint_aux" + +/area/security/checkpoint/tertiary + icon_state = "checkpoint_tert" + +/area/security/checkpoint/escape + icon_state = "checkpoint_esc" /area/security/checkpoint/supply name = "Security Post - Cargo Bay" - icon_state = "checkpoint1" + icon_state = "checkpoint_supp" /area/security/checkpoint/engineering name = "Security Post - Engineering" - icon_state = "checkpoint1" + icon_state = "checkpoint_engi" /area/security/checkpoint/medical name = "Security Post - Medbay" - icon_state = "checkpoint1" + icon_state = "checkpoint_med" /area/security/checkpoint/science name = "Security Post - Science" - icon_state = "checkpoint1" + icon_state = "checkpoint_sci" /area/security/checkpoint/science/research name = "Security Post - Research Division" - icon_state = "checkpoint1" + icon_state = "checkpoint_res" /area/security/checkpoint/customs name = "Customs" - icon_state = "bridge" + icon_state = "customs_point" + +/area/security/checkpoint/customs/auxiliary + icon_state = "customs_point_aux" /area/security/vacantoffice name = "Vacant Office" @@ -1310,6 +1316,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/construction name = "Construction Area" icon_state = "yellow" + ambientsounds = ENGINEERING /area/construction/minisat_exterior name = "Minisat Exterior" @@ -1361,27 +1368,32 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/ai_monitored/security/armory name = "Armory" icon_state = "armory" + ambientsounds = HIGHSEC /area/ai_monitored/storage/eva name = "EVA Storage" icon_state = "eva" + ambientsounds = HIGHSEC /area/ai_monitored/storage/secure name = "AI Satellite Storage" icon_state = "storage" + ambientsounds = HIGHSEC /area/ai_monitored/storage/emergency name = "Emergency Storage" icon_state = "storage" + ambientsounds = HIGHSEC /area/ai_monitored/storage/satellite name = "AI Satellite Maint" icon_state = "storage" + ambientsounds = HIGHSEC //Turret_protected /area/ai_monitored/turret_protected - ambientsounds = list('sound/ambience/ambimalf.ogg') + ambientsounds = list('sound/ambience/ambimalf.ogg', 'sound/ambience/ambitech.ogg', 'sound/ambience/ambitech2.ogg', 'sound/ambience/ambiatmos.ogg', 'sound/ambience/ambiatmos2.ogg') /area/ai_monitored/turret_protected/ai_upload name = "AI Upload Chamber" @@ -1450,7 +1462,8 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/tcommsat clockwork_warp_allowed = FALSE clockwork_warp_fail = "For safety reasons, warping here is disallowed; the radio and bluespace noise could cause catastrophic results." - ambientsounds = list('sound/ambience/ambisin2.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/ambigen10.ogg') + ambientsounds = list('sound/ambience/ambisin2.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/ambigen10.ogg', 'sound/ambience/ambitech.ogg',\ + 'sound/ambience/ambitech2.ogg', 'sound/ambience/ambitech3.ogg', 'sound/ambience/ambimystery.ogg') /area/tcommsat/entrance name = "Telecomms Teleporter" @@ -1463,22 +1476,18 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/ai_monitored/turret_protected/tcomsat name = "Telecomms Satellite" icon_state = "tcomsatlob" - ambientsounds = list('sound/ambience/ambisin2.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/ambigen10.ogg') /area/ai_monitored/turret_protected/tcomfoyer name = "Telecomms Foyer" icon_state = "tcomsatentrance" - ambientsounds = list('sound/ambience/ambisin2.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/ambigen10.ogg') /area/ai_monitored/turret_protected/tcomwest name = "Telecommunications Satellite West Wing" icon_state = "tcomsatwest" - ambientsounds = list('sound/ambience/ambisin2.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/ambigen10.ogg') /area/ai_monitored/turret_protected/tcomeast name = "Telecommunications Satellite East Wing" icon_state = "tcomsateast" - ambientsounds = list('sound/ambience/ambisin2.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/ambigen10.ogg') /area/tcommsat/computer name = "Telecomms Control Room" @@ -1526,4 +1535,4 @@ GLOBAL_LIST_INIT(the_station_areas, list ( /area/ai_monitored/turret_protected/ai_upload, //do not try to simplify to "/area/ai_monitored/turret_protected" --rastaf0 /area/ai_monitored/turret_protected/ai_upload_foyer, /area/ai_monitored/turret_protected/ai, -)) +)) \ No newline at end of file diff --git a/code/game/area/ai_monitored.dm b/code/game/area/ai_monitored.dm index e21d4e273b..a5216fb44c 100644 --- a/code/game/area/ai_monitored.dm +++ b/code/game/area/ai_monitored.dm @@ -2,7 +2,7 @@ name = "AI Monitored Area" clockwork_warp_allowed = FALSE var/list/obj/machinery/camera/motioncameras = list() - var/list/motionTargets = list() + var/list/datum/weakref/motionTargets = list() /area/ai_monitored/Initialize(mapload) . = ..() @@ -27,5 +27,5 @@ if (ismob(O) && motioncameras.len) for(var/X in motioncameras) var/obj/machinery/camera/cam = X - cam.lostTarget(O) + cam.lostTargetRef(WEAKREF(O)) return diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 2d372d4c33..17f75fc336 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -54,15 +54,12 @@ var/global/global_uid = 0 var/uid - var/list/ambientsounds = list('sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg',\ - 'sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg',\ - 'sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg',\ - 'sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg',\ - 'sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg',\ - 'sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg') + var/list/ambientsounds = GENERIC flags_1 = CAN_BE_DIRTY_1 var/list/firedoors + var/list/cameras + var/list/firealarms var/firedoors_last_closed_on = 0 /*Adding a wizard area teleport list because motherfucking lag -- Urist*/ @@ -125,13 +122,32 @@ GLOBAL_LIST_EMPTY(teleportlocs) . = ..() - power_change() // all machines set to current power level, also updates icon - blend_mode = BLEND_MULTIPLY // Putting this in the constructor so that it stops the icons being screwed up in the map editor. if(!IS_DYNAMIC_LIGHTING(src)) add_overlay(/obj/effect/fullbright) + if(contents.len) + var/list/areas_in_z = SSmapping.areas_in_z + var/z + for(var/i in 1 to contents.len) + var/atom/thing = contents[i] + if(!thing) + continue + z = thing.z + break + if(!z) + WARNING("No z found for [src]") + return + if(!areas_in_z["[z]"]) + areas_in_z["[z]"] = list() + areas_in_z["[z]"] += src + + return INITIALIZE_HINT_LATELOAD + +/area/LateInitialize() + power_change() // all machines set to current power level, also updates icon + /area/Destroy() STOP_PROCESSING(SSobj, src) return ..() @@ -140,27 +156,28 @@ GLOBAL_LIST_EMPTY(teleportlocs) if (state != poweralm) poweralm = state if(istype(source)) //Only report power alarms on the z-level where the source is located. - var/list/cameras = list() - for (var/obj/machinery/camera/C in src) - cameras += C - for (var/mob/living/silicon/aiPlayer in GLOB.player_list) + for (var/item in GLOB.silicon_mobs) + var/mob/living/silicon/aiPlayer = item if (state == 1) aiPlayer.cancelAlarm("Power", src, source) else aiPlayer.triggerAlarm("Power", src, cameras, source) - for(var/obj/machinery/computer/station_alert/a in GLOB.machines) + for (var/item in GLOB.alert_consoles) + var/obj/machinery/computer/station_alert/a = item if(state == 1) a.cancelAlarm("Power", src, source) else a.triggerAlarm("Power", src, cameras, source) - for(var/mob/living/simple_animal/drone/D in GLOB.mob_list) + for (var/item in GLOB.drones_list) + var/mob/living/simple_animal/drone/D = item if(state == 1) D.cancelAlarm("Power", src, source) else D.triggerAlarm("Power", src, cameras, source) - for(var/datum/computer_file/program/alarm_monitor/p in GLOB.alarmdisplay) + for(var/item in GLOB.alarmdisplay) + var/datum/computer_file/program/alarm_monitor/p = item if(state == 1) p.cancelAlarm("Power", src, source) else @@ -171,26 +188,35 @@ GLOBAL_LIST_EMPTY(teleportlocs) if (danger_level==2) var/list/cameras = list() for(var/area/RA in related) - for(var/obj/machinery/camera/C in RA) + for (var/item in RA.cameras) + var/obj/machinery/camera/C = item cameras += C - for(var/mob/living/silicon/aiPlayer in GLOB.player_list) + for (var/item in GLOB.silicon_mobs) + var/mob/living/silicon/aiPlayer = item aiPlayer.triggerAlarm("Atmosphere", src, cameras, source) - for(var/obj/machinery/computer/station_alert/a in GLOB.machines) + for (var/item in GLOB.alert_consoles) + var/obj/machinery/computer/station_alert/a = item a.triggerAlarm("Atmosphere", src, cameras, source) - for(var/mob/living/simple_animal/drone/D in GLOB.mob_list) + for (var/item in GLOB.drones_list) + var/mob/living/simple_animal/drone/D = item D.triggerAlarm("Atmosphere", src, cameras, source) - for(var/datum/computer_file/program/alarm_monitor/p in GLOB.alarmdisplay) + for(var/item in GLOB.alarmdisplay) + var/datum/computer_file/program/alarm_monitor/p = item p.triggerAlarm("Atmosphere", src, cameras, source) else if (src.atmosalm == 2) - for(var/mob/living/silicon/aiPlayer in GLOB.player_list) + for (var/item in GLOB.silicon_mobs) + var/mob/living/silicon/aiPlayer = item aiPlayer.cancelAlarm("Atmosphere", src, source) - for(var/obj/machinery/computer/station_alert/a in GLOB.machines) + for (var/item in GLOB.alert_consoles) + var/obj/machinery/computer/station_alert/a = item a.cancelAlarm("Atmosphere", src, source) - for(var/mob/living/simple_animal/drone/D in GLOB.mob_list) + for (var/item in GLOB.drones_list) + var/mob/living/simple_animal/drone/D = item D.cancelAlarm("Atmosphere", src, source) - for(var/datum/computer_file/program/alarm_monitor/p in GLOB.alarmdisplay) + for(var/item in GLOB.alarmdisplay) + var/datum/computer_file/program/alarm_monitor/p = item p.cancelAlarm("Atmosphere", src, source) src.atmosalm = danger_level @@ -225,18 +251,24 @@ GLOBAL_LIST_EMPTY(teleportlocs) if (!( RA.fire )) RA.set_fire_alarm_effect() RA.ModifyFiredoors(FALSE) - for(var/obj/machinery/firealarm/F in RA) + for(var/item in RA.firealarms) + var/obj/machinery/firealarm/F = item F.update_icon() - for (var/obj/machinery/camera/C in RA) + for (var/item in RA.cameras) + var/obj/machinery/camera/C = item cameras += C - for (var/obj/machinery/computer/station_alert/a in GLOB.machines) + for (var/item in GLOB.alert_consoles) + var/obj/machinery/computer/station_alert/a = item a.triggerAlarm("Fire", src, cameras, source) - for (var/mob/living/silicon/aiPlayer in GLOB.player_list) + for (var/item in GLOB.silicon_mobs) + var/mob/living/silicon/aiPlayer = item aiPlayer.triggerAlarm("Fire", src, cameras, source) - for (var/mob/living/simple_animal/drone/D in GLOB.mob_list) + for (var/item in GLOB.drones_list) + var/mob/living/simple_animal/drone/D = item D.triggerAlarm("Fire", src, cameras, source) - for(var/datum/computer_file/program/alarm_monitor/p in GLOB.alarmdisplay) + for(var/item in GLOB.alarmdisplay) + var/datum/computer_file/program/alarm_monitor/p = item p.triggerAlarm("Fire", src, cameras, source) START_PROCESSING(SSobj, src) @@ -248,16 +280,21 @@ GLOBAL_LIST_EMPTY(teleportlocs) RA.mouse_opacity = MOUSE_OPACITY_TRANSPARENT RA.updateicon() RA.ModifyFiredoors(TRUE) - for(var/obj/machinery/firealarm/F in RA) + for(var/item in RA.firealarms) + var/obj/machinery/firealarm/F = item F.update_icon() - for (var/mob/living/silicon/aiPlayer in GLOB.player_list) + for (var/item in GLOB.silicon_mobs) + var/mob/living/silicon/aiPlayer = item aiPlayer.cancelAlarm("Fire", src, source) - for (var/obj/machinery/computer/station_alert/a in GLOB.machines) + for (var/item in GLOB.alert_consoles) + var/obj/machinery/computer/station_alert/a = item a.cancelAlarm("Fire", src, source) - for (var/mob/living/simple_animal/drone/D in GLOB.mob_list) + for (var/item in GLOB.drones_list) + var/mob/living/simple_animal/drone/D = item D.cancelAlarm("Fire", src, source) - for(var/datum/computer_file/program/alarm_monitor/p in GLOB.alarmdisplay) + for(var/item in GLOB.alarmdisplay) + var/datum/computer_file/program/alarm_monitor/p = item p.cancelAlarm("Fire", src, source) STOP_PROCESSING(SSobj, src) @@ -285,10 +322,12 @@ GLOBAL_LIST_EMPTY(teleportlocs) //Lockdown airlocks for(var/obj/machinery/door/DOOR in RA) close_and_lock_door(DOOR) - for (var/obj/machinery/camera/C in RA) + for (var/item in RA.cameras) + var/obj/machinery/camera/C = item cameras += C - for (var/mob/living/silicon/SILICON in GLOB.player_list) + for (var/i in GLOB.silicon_mobs) + var/mob/living/silicon/SILICON = i if(SILICON.triggerAlarm("Burglar", src, cameras, trigger)) //Cancel silicon alert after 1 minute addtimer(CALLBACK(SILICON, /mob/living/silicon.proc/cancelAlarm,"Burglar",src,trigger), 600) diff --git a/code/game/area/areas/away_content.dm b/code/game/area/areas/away_content.dm index f98a085b13..93640bdde6 100644 --- a/code/game/area/areas/away_content.dm +++ b/code/game/area/areas/away_content.dm @@ -8,6 +8,7 @@ Unused icons for new areas are "awaycontent1" ~ "awaycontent30" name = "Strange Location" icon_state = "away" has_gravity = TRUE + ambientsounds = AWAY_MISSION /area/awaymission/beach name = "Beach" @@ -15,7 +16,7 @@ Unused icons for new areas are "awaycontent1" ~ "awaycontent30" dynamic_lighting = DYNAMIC_LIGHTING_DISABLED requires_power = FALSE has_gravity = TRUE - ambientsounds = list('sound/ambience/shore.ogg', 'sound/ambience/seag1.ogg','sound/ambience/seag2.ogg','sound/ambience/seag2.ogg') + ambientsounds = list('sound/ambience/shore.ogg', 'sound/ambience/seag1.ogg','sound/ambience/seag2.ogg','sound/ambience/seag2.ogg','sound/ambience/ambiodd.ogg','sound/ambience/ambinice.ogg') /area/awaymission/errorroom name = "Super Secret Room" diff --git a/code/game/area/areas/centcom.dm b/code/game/area/areas/centcom.dm index b2587e48c3..93e3da53b8 100644 --- a/code/game/area/areas/centcom.dm +++ b/code/game/area/areas/centcom.dm @@ -96,6 +96,7 @@ noteleport = TRUE blob_allowed = FALSE //Not... entirely sure this will ever come up... but if the bus makes blobs AND ops, it shouldn't aim for the ops to win. flags_1 = NONE + ambientsounds = HIGHSEC /area/syndicate_mothership/control name = "Syndicate Control Room" @@ -153,6 +154,7 @@ has_gravity = TRUE noteleport = TRUE hidden = TRUE + ambientsounds = REEBE /area/reebe/city_of_cogs name = "City of Cogs" diff --git a/code/game/area/areas/mining.dm b/code/game/area/areas/mining.dm index 0c212acedf..bf5642b7af 100644 --- a/code/game/area/areas/mining.dm +++ b/code/game/area/areas/mining.dm @@ -15,8 +15,8 @@ power_equip = FALSE power_light = FALSE outdoors = TRUE - ambientsounds = list('sound/ambience/ambimine.ogg') flags_1 = NONE + ambientsounds = MINING /area/mine/unexplored name = "Mine" @@ -29,8 +29,8 @@ power_equip = FALSE power_light = FALSE outdoors = TRUE - ambientsounds = list('sound/ambience/ambimine.ogg') flags_1 = NONE + ambientsounds = MINING /area/mine/lobby name = "Mining Station" @@ -77,6 +77,7 @@ /area/mine/laborcamp/security name = "Labor Camp Security" icon_state = "security" + ambientsounds = HIGHSEC @@ -98,7 +99,7 @@ power_equip = FALSE power_light = FALSE requires_power = TRUE - ambientsounds = list('sound/ambience/ambilava.ogg') + ambientsounds = MINING /area/lavaland/underground name = "Lavaland Caves" @@ -110,7 +111,7 @@ power_environ = FALSE power_equip = FALSE power_light = FALSE - ambientsounds = list('sound/ambience/ambilava.ogg') + ambientsounds = MINING /area/lavaland/surface/outdoors diff --git a/code/game/area/areas/misc.dm b/code/game/area/areas/misc.dm index 01c45c2b59..7faeb6b51a 100644 --- a/code/game/area/areas/misc.dm +++ b/code/game/area/areas/misc.dm @@ -5,6 +5,7 @@ //icon = "ICON FILENAME" //icon_state = "NAME OF ICON" requires_power = FALSE + ambientsounds = SPOOKY /area/hell/trial1 name = "Hell Trial1" @@ -32,6 +33,7 @@ /area/prison name = "Prison Station" icon_state = "brig" + ambientsounds = HIGHSEC /area/prison/arrival_airlock name = "Prison Station Airlock" @@ -73,7 +75,7 @@ /area/prison/morgue name = "Prison Morgue" icon_state = "morgue" - ambientsounds = list('sound/ambience/ambimo1.ogg','sound/ambience/ambimo2.ogg') + ambientsounds = SPOOKY /area/prison/medical_research name = "Prison Genetic Research" @@ -99,7 +101,7 @@ /area/prison/solitary name = "Solitary Confinement" icon_state = "brig" - + /area/prison/execution_room name = "Prisoner Education Chamber" icon_state = "execution_room" diff --git a/code/game/area/areas/ruins/_ruins.dm b/code/game/area/areas/ruins/_ruins.dm index da78351979..087842c5d1 100644 --- a/code/game/area/areas/ruins/_ruins.dm +++ b/code/game/area/areas/ruins/_ruins.dm @@ -6,6 +6,7 @@ has_gravity = TRUE hidden = TRUE dynamic_lighting = DYNAMIC_LIGHTING_FORCED + ambientsounds = RUINS /area/ruin/unpowered @@ -16,4 +17,3 @@ /area/ruin/powered requires_power = FALSE - diff --git a/code/game/area/areas/ruins/space.dm b/code/game/area/areas/ruins/space.dm index 3abbf902b1..75c2e15793 100644 --- a/code/game/area/areas/ruins/space.dm +++ b/code/game/area/areas/ruins/space.dm @@ -22,7 +22,7 @@ power_environ = FALSE valid_territory = FALSE outdoors = TRUE - ambientsounds = list('sound/ambience/ambispace.ogg','sound/ambience/title2.ogg') + ambientsounds = SPACE blob_allowed = FALSE ///////////// @@ -434,4 +434,4 @@ /area/ruin/space/has_grav/whiteship/box name = "Abandoned Ship" - icon_state = "red" \ No newline at end of file + icon_state = "red" diff --git a/code/game/area/areas/shuttles.dm b/code/game/area/areas/shuttles.dm index 21f74972c9..8a29d1b2ac 100644 --- a/code/game/area/areas/shuttles.dm +++ b/code/game/area/areas/shuttles.dm @@ -18,6 +18,7 @@ /area/shuttle/syndicate name = "Syndicate Infiltrator" blob_allowed = FALSE + ambientsounds = HIGHSEC /area/shuttle/syndicate/bridge name = "Syndicate Infiltrator Control" @@ -42,6 +43,9 @@ name = "Hyperspace" desc = "Weeeeee" +/area/shuttle/custom + name = "Custom player shuttle" + /area/shuttle/arrival name = "Arrival Shuttle" @@ -106,4 +110,13 @@ /area/shuttle/syndicate_scout name = "Syndicate Scout" - blob_allowed = FALSE \ No newline at end of file + blob_allowed = FALSE + +/area/shuttle/pirate + name = "Pirate Shuttle" + blob_allowed = FALSE + requires_power = TRUE + +/area/shuttle/pirate/vault + name = "Pirate Shuttle Vault" + requires_power = FALSE \ No newline at end of file diff --git a/code/game/area/areas/space_content.dm b/code/game/area/areas/space_content.dm index 605cbfa764..e605faa6e5 100644 --- a/code/game/area/areas/space_content.dm +++ b/code/game/area/areas/space_content.dm @@ -2,6 +2,7 @@ /area/spacecontent name = "space" + ambientsounds = AWAY_MISSION /area/spacecontent/a1 icon_state = "spacecontent1" diff --git a/code/game/atoms.dm b/code/game/atoms.dm index f20b13e1a3..e450c54c1b 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -99,7 +99,6 @@ LAZYCLEARLIST(overlays) LAZYCLEARLIST(priority_overlays) - //SSoverlays.processing -= src //we COULD do this, but it's better to just let it fall out of the processing queue QDEL_NULL(light) @@ -244,32 +243,6 @@ else if(src in container) return 1 -/* - * atom/proc/search_contents_for(path,list/filter_path=null) - * Recursevly searches all atom contens (including contents contents and so on). - * - * ARGS: path - search atom contents for atoms of this type - * list/filter_path - if set, contents of atoms not of types in this list are excluded from search. - * - * RETURNS: list of found atoms - */ - -/atom/proc/search_contents_for(path,list/filter_path=null) - var/list/found = list() - for(var/atom/A in src) - if(istype(A, path)) - found += A - if(filter_path) - var/pass = 0 - for(var/type in filter_path) - pass |= istype(A, type) - if(!pass) - continue - if(A.contents.len) - found += A.search_contents_for(path,filter_path) - return found - - /atom/proc/examine(mob/user) //This reformat names to get a/an properly working on item descriptions when they are bloody var/f_name = "\a [src]." @@ -335,7 +308,7 @@ GLOBAL_LIST_EMPTY(blood_splatter_icons) /atom/proc/blood_splatter_index() - return "\ref[initial(icon)]-[initial(icon_state)]" + return "[REF(initial(icon))]-[initial(icon_state)]" //returns the mob's dna info as a list, to be inserted in an object's blood_DNA list /mob/living/proc/get_blood_dna_list() @@ -631,9 +604,9 @@ GLOBAL_LIST_EMPTY(blood_splatter_icons) var/turf/curturf = get_turf(src) if (curturf) .["Jump to"] = "?_src_=holder;[HrefToken()];adminplayerobservecoodjump=1;X=[curturf.x];Y=[curturf.y];Z=[curturf.z]" - .["Add reagent"] = "?_src_=vars;[HrefToken()];addreagent=\ref[src]" - .["Trigger EM pulse"] = "?_src_=vars;[HrefToken()];emp=\ref[src]" - .["Trigger explosion"] = "?_src_=vars;[HrefToken()];explode=\ref[src]" + .["Add reagent"] = "?_src_=vars;[HrefToken()];addreagent=[REF(src)]" + .["Trigger EM pulse"] = "?_src_=vars;[HrefToken()];emp=[REF(src)]" + .["Trigger explosion"] = "?_src_=vars;[HrefToken()];explode=[REF(src)]" /atom/proc/drop_location() var/atom/L = loc @@ -646,3 +619,20 @@ GLOBAL_LIST_EMPTY(blood_splatter_icons) /atom/proc/return_temperature() return + +// Default tool behaviors proc + +/atom/proc/crowbar_act(mob/user, obj/item/tool) + return + +/atom/proc/multitool_act(mob/user, obj/item/tool) + return + +/atom/proc/screwdriver_act(mob/user, obj/item/tool) + return + +/atom/proc/wrench_act(mob/user, obj/item/tool) + return + +/atom/proc/wirecutter_act(mob/user, obj/item/tool) + return \ No newline at end of file diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index b05a1d78f1..9d3b208acc 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -62,7 +62,7 @@ /atom/movable/Move(atom/newloc, direct = 0) if(!loc || !newloc) - return 0 + return FALSE var/atom/oldloc = loc if(loc != newloc) @@ -113,7 +113,7 @@ last_move = direct setDir(direct) if(. && has_buckled_mobs() && !handle_buckled_mob_movement(loc,direct)) //movement failed due to buckled mob(s) - . = 0 + return FALSE //Called after a successful Move(). By this point, we've already moved /atom/movable/proc/Moved(atom/OldLoc, Dir, Forced = FALSE) @@ -325,9 +325,6 @@ SSspacedrift.processing[src] = src return 1 -/atom/movable/proc/checkpass(passflag) - return pass_flags&passflag - /atom/movable/proc/throw_impact(atom/hit_atom, throwingdatum) set waitfor = 0 SendSignal(COMSIG_MOVABLE_IMPACT, hit_atom, throwingdatum) @@ -523,7 +520,7 @@ /atom/movable/vv_get_dropdown() . = ..() . -= "Jump to" - .["Follow"] = "?_src_=holder;[HrefToken()];adminplayerobservefollow=\ref[src]" + .["Follow"] = "?_src_=holder;[HrefToken()];adminplayerobservefollow=[REF(src)]" /atom/movable/proc/ex_check(ex_id) if(!ex_id) diff --git a/code/game/communications.dm b/code/game/communications.dm index 19c3f87460..d60a5d8301 100644 --- a/code/game/communications.dm +++ b/code/game/communications.dm @@ -1,309 +1,309 @@ -/* - HOW IT WORKS - - The SSradio is a global object maintaining all radio transmissions, think about it as about "ether". - Note that walkie-talkie, intercoms and headsets handle transmission using nonstandard way. - procs: - - add_object(obj/device as obj, var/new_frequency as num, var/filter as text|null = null) - Adds listening object. - parameters: - device - device receiving signals, must have proc receive_signal (see description below). - one device may listen several frequencies, but not same frequency twice. - new_frequency - see possibly frequencies below; - filter - thing for optimization. Optional, but recommended. - All filters should be consolidated in this file, see defines later. - Device without listening filter will receive all signals (on specified frequency). - Device with filter will receive any signals sent without filter. - Device with filter will not receive any signals sent with different filter. - returns: - Reference to frequency object. - - remove_object (obj/device, old_frequency) - Obliviously, after calling this proc, device will not receive any signals on old_frequency. - Other frequencies will left unaffected. - - return_frequency(var/frequency as num) - returns: - Reference to frequency object. Use it if you need to send and do not need to listen. - - radio_frequency is a global object maintaining list of devices that listening specific frequency. - procs: - - post_signal(obj/source as obj|null, datum/signal/signal, var/filter as text|null = null, var/range as num|null = null) - Sends signal to all devices that wants such signal. - parameters: - source - object, emitted signal. Usually, devices will not receive their own signals. - signal - see description below. - filter - described above. - range - radius of regular byond's square circle on that z-level. null means everywhere, on all z-levels. - - obj/proc/receive_signal(datum/signal/signal, var/receive_method as num, var/receive_param) - Handler from received signals. By default does nothing. Define your own for your object. - Avoid of sending signals directly from this proc, use spawn(0). Do not use sleep() here please. - parameters: - signal - see description below. Extract all needed data from the signal before doing sleep(), spawn() or return! - receive_method - may be TRANSMISSION_WIRE or TRANSMISSION_RADIO. - TRANSMISSION_WIRE is currently unused. - receive_param - for TRANSMISSION_RADIO here comes frequency. - - datum/signal - vars: - source - an object that emitted signal. Used for debug and bearing. - data - list with transmitting data. Usual use pattern: - data["msg"] = "hello world" - encryption - Some number symbolizing "encryption key". - Note that game actually do not use any cryptography here. - If receiving object don't know right key, it must ignore encrypted signal in its receive_signal. - -*/ -/* the radio controller is a confusing piece of shit and didnt work - so i made radios not use the radio controller. -*/ -GLOBAL_LIST_EMPTY(all_radios) -/proc/add_radio(obj/item/radio, freq) - if(!freq || !radio) - return - if(!GLOB.all_radios["[freq]"]) - GLOB.all_radios["[freq]"] = list(radio) - return freq - - GLOB.all_radios["[freq]"] |= radio - return freq - -/proc/remove_radio(obj/item/radio, freq) - if(!freq || !radio) - return - if(!GLOB.all_radios["[freq]"]) - return - - GLOB.all_radios["[freq]"] -= radio - -/proc/remove_radio_all(obj/item/radio) - for(var/freq in GLOB.all_radios) - GLOB.all_radios["[freq]"] -= radio - -/* -Frequency range: 1200 to 1600 -Radiochat range: 1441 to 1489 (most devices refuse to be tune to other frequency, even during mapmaking) - -Radio: -1459 - standard radio chat -1351 - Science -1353 - Command -1355 - Medical -1357 - Engineering -1359 - Security -1337 - death squad -1443 - Confession Intercom -1349 - Miners -1347 - Cargo techs -1447 - AI Private - -Devices: -1451 - tracking implant -1457 - RSD default - -On the map: -1311 for prison shuttle console (in fact, it is not used) -1435 for status displays -1437 for atmospherics/fire alerts -1439 for engine components -1439 for air pumps, air scrubbers, atmo control -1441 for atmospherics - supply tanks -1443 for atmospherics - distribution loop/mixed air tank -1445 for bot nav beacons -1447 for mulebot, secbot and ed209 control -1449 for airlock controls, electropack, magnets -1451 for toxin lab access -1453 for engineering access -1455 for AI access -*/ - -GLOBAL_LIST_INIT(radiochannels, list( - "Common" = 1459, - "Science" = 1351, - "Command" = 1353, - "Medical" = 1355, - "Engineering" = 1357, - "Security" = 1359, +/* + HOW IT WORKS + + The SSradio is a global object maintaining all radio transmissions, think about it as about "ether". + Note that walkie-talkie, intercoms and headsets handle transmission using nonstandard way. + procs: + + add_object(obj/device as obj, var/new_frequency as num, var/filter as text|null = null) + Adds listening object. + parameters: + device - device receiving signals, must have proc receive_signal (see description below). + one device may listen several frequencies, but not same frequency twice. + new_frequency - see possibly frequencies below; + filter - thing for optimization. Optional, but recommended. + All filters should be consolidated in this file, see defines later. + Device without listening filter will receive all signals (on specified frequency). + Device with filter will receive any signals sent without filter. + Device with filter will not receive any signals sent with different filter. + returns: + Reference to frequency object. + + remove_object (obj/device, old_frequency) + Obliviously, after calling this proc, device will not receive any signals on old_frequency. + Other frequencies will left unaffected. + + return_frequency(var/frequency as num) + returns: + Reference to frequency object. Use it if you need to send and do not need to listen. + + radio_frequency is a global object maintaining list of devices that listening specific frequency. + procs: + + post_signal(obj/source as obj|null, datum/signal/signal, var/filter as text|null = null, var/range as num|null = null) + Sends signal to all devices that wants such signal. + parameters: + source - object, emitted signal. Usually, devices will not receive their own signals. + signal - see description below. + filter - described above. + range - radius of regular byond's square circle on that z-level. null means everywhere, on all z-levels. + + obj/proc/receive_signal(datum/signal/signal, var/receive_method as num, var/receive_param) + Handler from received signals. By default does nothing. Define your own for your object. + Avoid of sending signals directly from this proc, use spawn(0). Do not use sleep() here please. + parameters: + signal - see description below. Extract all needed data from the signal before doing sleep(), spawn() or return! + receive_method - may be TRANSMISSION_WIRE or TRANSMISSION_RADIO. + TRANSMISSION_WIRE is currently unused. + receive_param - for TRANSMISSION_RADIO here comes frequency. + + datum/signal + vars: + source + an object that emitted signal. Used for debug and bearing. + data + list with transmitting data. Usual use pattern: + data["msg"] = "hello world" + encryption + Some number symbolizing "encryption key". + Note that game actually do not use any cryptography here. + If receiving object don't know right key, it must ignore encrypted signal in its receive_signal. + +*/ +/* the radio controller is a confusing piece of shit and didnt work + so i made radios not use the radio controller. +*/ +GLOBAL_LIST_EMPTY(all_radios) +/proc/add_radio(obj/item/radio, freq) + if(!freq || !radio) + return + if(!GLOB.all_radios["[freq]"]) + GLOB.all_radios["[freq]"] = list(radio) + return freq + + GLOB.all_radios["[freq]"] |= radio + return freq + +/proc/remove_radio(obj/item/radio, freq) + if(!freq || !radio) + return + if(!GLOB.all_radios["[freq]"]) + return + + GLOB.all_radios["[freq]"] -= radio + +/proc/remove_radio_all(obj/item/radio) + for(var/freq in GLOB.all_radios) + GLOB.all_radios["[freq]"] -= radio + +/* +Frequency range: 1200 to 1600 +Radiochat range: 1441 to 1489 (most devices refuse to be tune to other frequency, even during mapmaking) + +Radio: +1459 - standard radio chat +1351 - Science +1353 - Command +1355 - Medical +1357 - Engineering +1359 - Security +1337 - death squad +1443 - Confession Intercom +1349 - Miners +1347 - Cargo techs +1447 - AI Private + +Devices: +1451 - tracking implant +1457 - RSD default + +On the map: +1311 for prison shuttle console (in fact, it is not used) +1435 for status displays +1437 for atmospherics/fire alerts +1439 for engine components +1439 for air pumps, air scrubbers, atmo control +1441 for atmospherics - supply tanks +1443 for atmospherics - distribution loop/mixed air tank +1445 for bot nav beacons +1447 for mulebot, secbot and ed209 control +1449 for airlock controls, electropack, magnets +1451 for toxin lab access +1453 for engineering access +1455 for AI access +*/ + +GLOBAL_LIST_INIT(radiochannels, list( + "Common" = 1459, + "Science" = 1351, + "Command" = 1353, + "Medical" = 1355, + "Engineering" = 1357, + "Security" = 1359, "CentCom" = 1337, - "Syndicate" = 1213, - "Supply" = 1347, - "Service" = 1349, - "AI Private" = 1447, - "Red Team" = 1215, - "Blue Team" = 1217 -)) - -GLOBAL_LIST_INIT(reverseradiochannels, list( - "1459" = "Common", - "1351" = "Science", - "1353" = "Command", - "1355" = "Medical", - "1357" = "Engineering", - "1359" = "Security", + "Syndicate" = 1213, + "Supply" = 1347, + "Service" = 1349, + "AI Private" = 1447, + "Red Team" = 1215, + "Blue Team" = 1217 +)) + +GLOBAL_LIST_INIT(reverseradiochannels, list( + "1459" = "Common", + "1351" = "Science", + "1353" = "Command", + "1355" = "Medical", + "1357" = "Engineering", + "1359" = "Security", "1337" = "CentCom", - "1213" = "Syndicate", - "1347" = "Supply", - "1349" = "Service", - "1447" = "AI Private", - "1215" = "Red Team", - "1217" = "Blue Team" -)) - -//depenging helpers -GLOBAL_VAR_CONST(SYND_FREQ, 1213) //nuke op frequency, coloured dark brown in chat window -GLOBAL_VAR_CONST(SUPP_FREQ, 1347) //supply, coloured light brown in chat window -GLOBAL_VAR_CONST(SERV_FREQ, 1349) //service, coloured green in chat window -GLOBAL_VAR_CONST(SCI_FREQ, 1351) //science, coloured plum in chat window -GLOBAL_VAR_CONST(COMM_FREQ, 1353) //command, colored gold in chat window -GLOBAL_VAR_CONST(MED_FREQ, 1355) //medical, coloured blue in chat window -GLOBAL_VAR_CONST(ENG_FREQ, 1357) //engineering, coloured orange in chat window -GLOBAL_VAR_CONST(SEC_FREQ, 1359) //security, coloured red in chat window -GLOBAL_VAR_CONST(CENTCOM_FREQ, 1337) //centcom frequency, coloured grey in chat window -GLOBAL_VAR_CONST(AIPRIV_FREQ, 1447) //AI private, colored magenta in chat window -GLOBAL_VAR_CONST(REDTEAM_FREQ, 1215) // red team (CTF) frequency, coloured red -GLOBAL_VAR_CONST(BLUETEAM_FREQ, 1217) // blue team (CTF) frequency, coloured blue - -#define TRANSMISSION_WIRE 0 -#define TRANSMISSION_RADIO 1 - -/* filters */ -GLOBAL_VAR_INIT(RADIO_TO_AIRALARM, "1") -GLOBAL_VAR_INIT(RADIO_FROM_AIRALARM, "2") -GLOBAL_VAR_INIT(RADIO_CHAT, "3") //deprecated -GLOBAL_VAR_INIT(RADIO_ATMOSIA, "4") -GLOBAL_VAR_INIT(RADIO_NAVBEACONS, "5") -GLOBAL_VAR_INIT(RADIO_AIRLOCK, "6") -GLOBAL_VAR_INIT(RADIO_MAGNETS, "9") - -/datum/radio_frequency - - var/frequency as num - var/list/list/obj/devices = list() - -//If range > 0, only post to devices on the same z_level and within range -//Use range = -1, to restrain to the same z_level without limiting range -/datum/radio_frequency/proc/post_signal(obj/source as obj|null, datum/signal/signal, filter = null as text|null, range = null as num|null) - - //Apply filter to the signal. If none supply, broadcast to every devices - //_default channel is always checked - var/list/filter_list - - if(filter) - filter_list = list(filter,"_default") - else - filter_list = devices - - //If checking range, find the source turf - var/turf/start_point - if(range) - start_point = get_turf(source) - if(!start_point) - return 0 - - //Send the data - for(var/current_filter in filter_list) - for(var/obj/device in devices[current_filter]) - if(device == source) - continue - if(range) - var/turf/end_point = get_turf(device) - if(!end_point) - continue - if(start_point.z != end_point.z || (range > 0 && get_dist(start_point, end_point) > range)) - continue - device.receive_signal(signal, TRANSMISSION_RADIO, frequency) - -/datum/radio_frequency/proc/add_listener(obj/device, filter as text|null) - if (!filter) - filter = "_default" - - var/list/devices_line = devices[filter] - if(!devices_line) - devices_line = list() - devices[filter] = devices_line - devices_line += device - - -/datum/radio_frequency/proc/remove_listener(obj/device) - for(var/devices_filter in devices) - var/list/devices_line = devices[devices_filter] - if(!devices_line) - devices -= devices_filter - devices_line -= device - if(!devices_line.len) - devices -= devices_filter - - - - - -/client/proc/print_pointers() - set name = "Debug Signals" - set category = "Debug" - - if(!holder) - return - - var/datum/signal/S - to_chat(src, "There are [S.pointers.len] pointers:") - for(var/p in S.pointers) - to_chat(src, p) - S = locate(p) - if(istype(S)) - to_chat(src, S.debug_print()) - -/obj/proc/receive_signal(datum/signal/signal, receive_method, receive_param) - return - -/datum/signal - var/obj/source - - var/transmission_method = 0 - //0 = wire - //1 = radio transmission - //2 = subspace transmission - - var/data = list() - var/encryption - - var/frequency = 0 - var/static/list/pointers = list() - -/datum/signal/New() - ..() - pointers += "\ref[src]" - -/datum/signal/Destroy() - pointers -= "\ref[src]" - return ..() - -/datum/signal/proc/copy_from(datum/signal/model) - source = model.source - transmission_method = model.transmission_method - data = model.data - encryption = model.encryption - frequency = model.frequency - -/datum/signal/proc/debug_print() - if (source) + "1213" = "Syndicate", + "1347" = "Supply", + "1349" = "Service", + "1447" = "AI Private", + "1215" = "Red Team", + "1217" = "Blue Team" +)) + +//depenging helpers +GLOBAL_VAR_CONST(SYND_FREQ, 1213) //nuke op frequency, coloured dark brown in chat window +GLOBAL_VAR_CONST(SUPP_FREQ, 1347) //supply, coloured light brown in chat window +GLOBAL_VAR_CONST(SERV_FREQ, 1349) //service, coloured green in chat window +GLOBAL_VAR_CONST(SCI_FREQ, 1351) //science, coloured plum in chat window +GLOBAL_VAR_CONST(COMM_FREQ, 1353) //command, colored gold in chat window +GLOBAL_VAR_CONST(MED_FREQ, 1355) //medical, coloured blue in chat window +GLOBAL_VAR_CONST(ENG_FREQ, 1357) //engineering, coloured orange in chat window +GLOBAL_VAR_CONST(SEC_FREQ, 1359) //security, coloured red in chat window +GLOBAL_VAR_CONST(CENTCOM_FREQ, 1337) //centcom frequency, coloured grey in chat window +GLOBAL_VAR_CONST(AIPRIV_FREQ, 1447) //AI private, colored magenta in chat window +GLOBAL_VAR_CONST(REDTEAM_FREQ, 1215) // red team (CTF) frequency, coloured red +GLOBAL_VAR_CONST(BLUETEAM_FREQ, 1217) // blue team (CTF) frequency, coloured blue + +#define TRANSMISSION_WIRE 0 +#define TRANSMISSION_RADIO 1 + +/* filters */ +GLOBAL_VAR_INIT(RADIO_TO_AIRALARM, "1") +GLOBAL_VAR_INIT(RADIO_FROM_AIRALARM, "2") +GLOBAL_VAR_INIT(RADIO_CHAT, "3") //deprecated +GLOBAL_VAR_INIT(RADIO_ATMOSIA, "4") +GLOBAL_VAR_INIT(RADIO_NAVBEACONS, "5") +GLOBAL_VAR_INIT(RADIO_AIRLOCK, "6") +GLOBAL_VAR_INIT(RADIO_MAGNETS, "9") + +/datum/radio_frequency + + var/frequency as num + var/list/list/obj/devices = list() + +//If range > 0, only post to devices on the same z_level and within range +//Use range = -1, to restrain to the same z_level without limiting range +/datum/radio_frequency/proc/post_signal(obj/source as obj|null, datum/signal/signal, filter = null as text|null, range = null as num|null) + + //Apply filter to the signal. If none supply, broadcast to every devices + //_default channel is always checked + var/list/filter_list + + if(filter) + filter_list = list(filter,"_default") + else + filter_list = devices + + //If checking range, find the source turf + var/turf/start_point + if(range) + start_point = get_turf(source) + if(!start_point) + return 0 + + //Send the data + for(var/current_filter in filter_list) + for(var/obj/device in devices[current_filter]) + if(device == source) + continue + if(range) + var/turf/end_point = get_turf(device) + if(!end_point) + continue + if(start_point.z != end_point.z || (range > 0 && get_dist(start_point, end_point) > range)) + continue + device.receive_signal(signal, TRANSMISSION_RADIO, frequency) + +/datum/radio_frequency/proc/add_listener(obj/device, filter as text|null) + if (!filter) + filter = "_default" + + var/list/devices_line = devices[filter] + if(!devices_line) + devices_line = list() + devices[filter] = devices_line + devices_line += device + + +/datum/radio_frequency/proc/remove_listener(obj/device) + for(var/devices_filter in devices) + var/list/devices_line = devices[devices_filter] + if(!devices_line) + devices -= devices_filter + devices_line -= device + if(!devices_line.len) + devices -= devices_filter + + + + + +/client/proc/print_pointers() + set name = "Debug Signals" + set category = "Debug" + + if(!holder) + return + + var/datum/signal/S + to_chat(src, "There are [S.pointers.len] pointers:") + for(var/p in S.pointers) + to_chat(src, p) + S = locate(p) + if(istype(S)) + to_chat(src, S.debug_print()) + +/obj/proc/receive_signal(datum/signal/signal, receive_method, receive_param) + return + +/datum/signal + var/obj/source + + var/transmission_method = 0 + //0 = wire + //1 = radio transmission + //2 = subspace transmission + + var/data = list() + var/encryption + + var/frequency = 0 + var/static/list/pointers = list() + +/datum/signal/New() + ..() + pointers += "[REF(src)]" + +/datum/signal/Destroy() + pointers -= "[REF(src)]" + return ..() + +/datum/signal/proc/copy_from(datum/signal/model) + source = model.source + transmission_method = model.transmission_method + data = model.data + encryption = model.encryption + frequency = model.frequency + +/datum/signal/proc/debug_print() + if (source) . = "signal = {source = '[source]' [COORD(source)]\n" - else - . = "signal = {source = '[source]' ()\n" - for (var/i in data) - . += "data\[\"[i]\"\] = \"[data[i]]\"\n" - if(islist(data[i])) - var/list/L = data[i] - for(var/t in L) - . += "data\[\"[i]\"\] list has: [t]" - -/datum/signal/proc/sanitize_data() - for(var/d in data) - var/val = data[d] - if(istext(val)) - data[d] = html_encode(val) + else + . = "signal = {source = '[source]' ()\n" + for (var/i in data) + . += "data\[\"[i]\"\] = \"[data[i]]\"\n" + if(islist(data[i])) + var/list/L = data[i] + for(var/t in L) + . += "data\[\"[i]\"\] list has: [t]" + +/datum/signal/proc/sanitize_data() + for(var/d in data) + var/val = data[d] + if(istext(val)) + data[d] = html_encode(val) diff --git a/code/game/gamemodes/antag_spawner.dm b/code/game/gamemodes/antag_spawner.dm index 8a0a622a63..2a1a196b0e 100644 --- a/code/game/gamemodes/antag_spawner.dm +++ b/code/game/gamemodes/antag_spawner.dm @@ -29,13 +29,13 @@ dat += "Using this contract, you may summon an apprentice to aid you on your mission.
    " dat += "If you are unable to establish contact with your apprentice, you can feed the contract back to the spellbook to refund your points.
    " dat += "Which school of magic is your apprentice studying?:
    " - dat += "Destruction
    " + dat += "Destruction
    " dat += "Your apprentice is skilled in offensive magic. They know Magic Missile and Fireball.
    " - dat += "Bluespace Manipulation
    " + dat += "Bluespace Manipulation
    " dat += "Your apprentice is able to defy physics, melting through solid objects and travelling great distances in the blink of an eye. They know Teleport and Ethereal Jaunt.
    " - dat += "Healing
    " + dat += "Healing
    " dat += "Your apprentice is training to cast spells that will aid your survival. They know Forcewall and Charge and come with a Staff of Healing.
    " - dat += "Robeless
    " + dat += "Robeless
    " dat += "Your apprentice is training to cast spells without their robes. They know Knock and Mindswap.
    " user << browse(dat, "window=radio") onclose(user, "radio") diff --git a/code/game/gamemodes/blob/blob_report.dm b/code/game/gamemodes/blob/blob_report.dm index 2a3c5e6faa..6585da0ba4 100644 --- a/code/game/gamemodes/blob/blob_report.dm +++ b/code/game/gamemodes/blob/blob_report.dm @@ -6,56 +6,47 @@ var/door = 0 var/grille = 0 var/mach = 0 - var/num_territories = 1//Number of total valid territories for gang mode + +/datum/station_state/proc/count() + for(var/Z in GLOB.station_z_levels) + for(var/turf/T in block(locate(1,1,Z), locate(world.maxx,world.maxy,Z))) + // don't count shuttles since they may have just left + if(istype(T.loc, /area/shuttle)) + continue + + if(isfloorturf(T)) + var/turf/open/floor/TF = T + if(!(TF.burnt)) + floor += 12 + else + floor += 1 + + if(iswallturf(T)) + var/turf/closed/wall/TW = T + if(TW.intact) + wall += 2 + else + wall += 1 + + if(istype(T, /turf/closed/wall/r_wall)) + var/turf/closed/wall/r_wall/TRW = T + if(TRW.intact) + r_wall += 2 + else + r_wall += 1 -/datum/station_state/proc/count(count_territories) - for(var/turf/T in block(locate(1,1,1), locate(world.maxx,world.maxy,1))) - - if(isfloorturf(T)) - var/turf/open/floor/TF = T - if(!(TF.burnt)) - src.floor += 12 - else - src.floor += 1 - - if(iswallturf(T)) - var/turf/closed/wall/TW = T - if(TW.intact) - src.wall += 2 - else - src.wall += 1 - - if(istype(T, /turf/closed/wall/r_wall)) - var/turf/closed/wall/r_wall/TRW = T - if(TRW.intact) - src.r_wall += 2 - else - src.r_wall += 1 - - - for(var/obj/O in T.contents) - if(istype(O, /obj/structure/window)) - src.window += 1 - else if(istype(O, /obj/structure/grille)) - var/obj/structure/grille/GR = O - if(!GR.broken) - src.grille += 1 - else if(istype(O, /obj/machinery/door)) - src.door += 1 - else if(ismachinery(O)) - src.mach += 1 - - if(count_territories) - var/list/valid_territories = list() - for(var/area/A in world) //First, collect all area types on the station zlevel - if(A.z in GLOB.station_z_levels) - if(!(A.type in valid_territories) && A.valid_territory) - valid_territories |= A.type - if(valid_territories.len) - num_territories = valid_territories.len //Add them all up to make the total number of area types - else - to_chat(world, "ERROR: NO VALID TERRITORIES") + for(var/obj/O in T.contents) + if(istype(O, /obj/structure/window)) + window += 1 + else if(istype(O, /obj/structure/grille)) + var/obj/structure/grille/GR = O + if(!GR.broken) + grille += 1 + else if(istype(O, /obj/machinery/door)) + door += 1 + else if(ismachinery(O)) + mach += 1 /datum/station_state/proc/score(datum/station_state/result) if(!result) diff --git a/code/game/gamemodes/blob/blobs/blob_mobs.dm b/code/game/gamemodes/blob/blobs/blob_mobs.dm index 61dee30c8e..d27c3aa820 100644 --- a/code/game/gamemodes/blob/blobs/blob_mobs.dm +++ b/code/game/gamemodes/blob/blobs/blob_mobs.dm @@ -226,6 +226,8 @@ . = ..() if(!independent) //no pulling people deep into the blob verbs -= /mob/living/verb/pulled + else + pass_flags &= ~PASSBLOB /mob/living/simple_animal/hostile/blob/blobbernaut/Life() if(..()) diff --git a/code/game/gamemodes/blob/overmind.dm b/code/game/gamemodes/blob/overmind.dm index e6cae65c03..4f26563da1 100644 --- a/code/game/gamemodes/blob/overmind.dm +++ b/code/game/gamemodes/blob/overmind.dm @@ -79,12 +79,13 @@ GLOBAL_LIST_EMPTY(blob_nodes) /mob/camera/blob/proc/victory() sound_to_playing_players('sound/machines/alarm.ogg') sleep(100) - for(var/mob/living/L in GLOB.mob_list) + for(var/i in GLOB.mob_living_list) + var/mob/living/L = i var/turf/T = get_turf(L) if(!T || !(T.z in GLOB.station_z_levels)) continue - if(L in GLOB.overminds || L.checkpass(PASSBLOB)) + if(L in GLOB.overminds || (L.pass_flags & PASSBLOB)) continue var/area/Ablob = get_area(T) @@ -92,9 +93,12 @@ GLOBAL_LIST_EMPTY(blob_nodes) if(!Ablob.blob_allowed) continue - playsound(L, 'sound/effects/splat.ogg', 50, 1) - L.death() - new/mob/living/simple_animal/hostile/blob/blobspore(T) + if(!("blob" in L.faction)) + playsound(L, 'sound/effects/splat.ogg', 50, 1) + L.death() + new/mob/living/simple_animal/hostile/blob/blobspore(T) + else + L.fully_heal() for(var/V in GLOB.sortedAreas) var/area/A = V diff --git a/code/game/gamemodes/blob/powers.dm b/code/game/gamemodes/blob/powers.dm index 0dd592665f..e3a4f50082 100644 --- a/code/game/gamemodes/blob/powers.dm +++ b/code/game/gamemodes/blob/powers.dm @@ -154,33 +154,34 @@ return if(!can_buy(40)) return - B.max_integrity = initial(B.max_integrity) * 0.25 //factories that produced a blobbernaut have much lower health - B.obj_integrity = min(B.obj_integrity, B.max_integrity) - B.update_icon() - B.visible_message("The blobbernaut [pick("rips", "tears", "shreds")] its way out of the factory blob!") - playsound(B.loc, 'sound/effects/splat.ogg', 50, 1) - var/mob/living/simple_animal/hostile/blob/blobbernaut/blobber = new /mob/living/simple_animal/hostile/blob/blobbernaut(get_turf(B)) - flick("blobbernaut_produce", blobber) - B.naut = blobber - blobber.factory = B - blobber.overmind = src - blobber.update_icons() - blobber.notransform = 1 //stop the naut from moving around - blobber.adjustHealth(blobber.maxHealth * 0.5) - blob_mobs += blobber - var/list/mob/dead/observer/candidates = pollCandidatesForMob("Do you want to play as a [blob_reagent_datum.name] blobbernaut?", ROLE_BLOB, null, ROLE_BLOB, 50, blobber) //players must answer rapidly + + var/list/mob/dead/observer/candidates = pollCandidatesForMob("Do you want to play as a [blob_reagent_datum.name] blobbernaut?", ROLE_BLOB, null, ROLE_BLOB, 50) //players must answer rapidly if(candidates.len) //if we got at least one candidate, they're a blobbernaut now. + B.max_integrity = initial(B.max_integrity) * 0.25 //factories that produced a blobbernaut have much lower health + B.obj_integrity = min(B.obj_integrity, B.max_integrity) + B.update_icon() + B.visible_message("The blobbernaut [pick("rips", "tears", "shreds")] its way out of the factory blob!") + playsound(B.loc, 'sound/effects/splat.ogg', 50, 1) + var/mob/living/simple_animal/hostile/blob/blobbernaut/blobber = new /mob/living/simple_animal/hostile/blob/blobbernaut(get_turf(B)) + flick("blobbernaut_produce", blobber) + B.naut = blobber + blobber.factory = B + blobber.overmind = src + blobber.update_icons() + blobber.adjustHealth(blobber.maxHealth * 0.5) + blob_mobs += blobber var/client/C = pick(candidates) blobber.key = C.key SEND_SOUND(blobber, sound('sound/effects/blobattack.ogg')) SEND_SOUND(blobber, sound('sound/effects/attackblob.ogg')) to_chat(blobber, "You are a blobbernaut!") - to_chat(blobber, "You are powerful, hard to kill, and slowly regenerate near nodes and cores, but will slowly die if not near the blob or if the factory that made you is killed.") + to_chat(blobber, "You are powerful, hard to kill, and slowly regenerate near nodes and cores, but will slowly die if not near the blob or if the factory that made you is killed.") to_chat(blobber, "You can communicate with other blobbernauts and overminds via :b") to_chat(blobber, "Your overmind's blob reagent is: [blob_reagent_datum.name]!") to_chat(blobber, "The [blob_reagent_datum.name] reagent [blob_reagent_datum.shortdesc ? "[blob_reagent_datum.shortdesc]" : "[blob_reagent_datum.description]"]") - if(blobber) - blobber.notransform = 0 + else + to_chat(src, "You could not conjure a sentience for your blobbernaut. Your points have been refunded. Try again later.") + add_points(40) /mob/camera/blob/verb/relocate_core() set category = "Blob" diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm index 8570cf294c..0c642692f0 100644 --- a/code/game/gamemodes/blob/theblob.dm +++ b/code/game/gamemodes/blob/theblob.dm @@ -67,7 +67,7 @@ return atmosblock /obj/structure/blob/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSBLOB)) + if(istype(mover) && (mover.pass_flags & PASSBLOB)) return 1 return 0 @@ -78,7 +78,7 @@ . = 0 if(ismovableatom(caller)) var/atom/movable/mover = caller - . = . || mover.checkpass(PASSBLOB) + . = . || (mover.pass_flags & PASSBLOB) /obj/structure/blob/update_icon() //Updates color based on overmind color if we have an overmind. if(overmind) diff --git a/code/game/gamemodes/changeling/cellular_emporium.dm b/code/game/gamemodes/changeling/cellular_emporium.dm index aaba09c87c..df92212181 100644 --- a/code/game/gamemodes/changeling/cellular_emporium.dm +++ b/code/game/gamemodes/changeling/cellular_emporium.dm @@ -3,7 +3,7 @@ /datum/cellular_emporium var/name = "cellular emporium" - var/datum/changeling/changeling + var/datum/antagonist/changeling/changeling /datum/cellular_emporium/New(my_changeling) . = ..() @@ -32,7 +32,7 @@ var/list/abilities = list() - for(var/path in subtypesof(/obj/effect/proc_holder/changeling)) + for(var/path in changeling.all_powers) var/obj/effect/proc_holder/changeling/ability = path var/dna_cost = initial(ability.dna_cost) @@ -61,10 +61,10 @@ switch(action) if("readapt") if(changeling.canrespec) - changeling.lingRespec(usr) + changeling.readapt() if("evolve") var/sting_name = params["name"] - changeling.purchasePower(usr, sting_name) + changeling.purchase_power(sting_name) /datum/action/innate/cellular_emporium name = "Cellular Emporium" diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index 06ccac915c..8389f04fd3 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -1,15 +1,8 @@ -#define LING_FAKEDEATH_TIME 400 //40 seconds -#define LING_DEAD_GENETICDAMAGE_HEAL_CAP 50 //The lowest value of geneticdamage handle_changeling() can take it to while dead. -#define LING_ABSORB_RECENT_SPEECH 8 //The amount of recent spoken lines to gain on absorbing a mob - GLOBAL_LIST_INIT(possible_changeling_IDs, list("Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega")) GLOBAL_LIST_INIT(slots, list("head", "wear_mask", "back", "wear_suit", "w_uniform", "shoes", "belt", "gloves", "glasses", "ears", "wear_id", "s_store")) GLOBAL_LIST_INIT(slot2slot, list("head" = slot_head, "wear_mask" = slot_wear_mask, "neck" = slot_neck, "back" = slot_back, "wear_suit" = slot_wear_suit, "w_uniform" = slot_w_uniform, "shoes" = slot_shoes, "belt" = slot_belt, "gloves" = slot_gloves, "glasses" = slot_glasses, "ears" = slot_ears, "wear_id" = slot_wear_id, "s_store" = slot_s_store)) GLOBAL_LIST_INIT(slot2type, list("head" = /obj/item/clothing/head/changeling, "wear_mask" = /obj/item/clothing/mask/changeling, "back" = /obj/item/changeling, "wear_suit" = /obj/item/clothing/suit/changeling, "w_uniform" = /obj/item/clothing/under/changeling, "shoes" = /obj/item/clothing/shoes/changeling, "belt" = /obj/item/changeling, "gloves" = /obj/item/clothing/gloves/changeling, "glasses" = /obj/item/clothing/glasses/changeling, "ears" = /obj/item/changeling, "wear_id" = /obj/item/changeling, "s_store" = /obj/item/changeling)) - - -/datum/game_mode - var/list/datum/mind/changelings = list() +GLOBAL_VAR(changeling_team_objective_type) //If this is not null, we hand our this objective to all lings /datum/game_mode/changeling @@ -29,26 +22,8 @@ GLOBAL_LIST_INIT(slot2type, list("head" = /obj/item/clothing/head/changeling, "w Changelings: Accomplish the objectives assigned to you.\n\ Crew: Root out and eliminate the changeling menace." - var/const/prob_int_murder_target = 50 // intercept names the assassination target half the time - var/const/prob_right_murder_target_l = 25 // lower bound on probability of naming right assassination target - var/const/prob_right_murder_target_h = 50 // upper bound on probability of naimg the right assassination target - - var/const/prob_int_item = 50 // intercept names the theft target half the time - var/const/prob_right_item_l = 25 // lower bound on probability of naming right theft target - var/const/prob_right_item_h = 50 // upper bound on probability of naming the right theft target - - var/const/prob_int_sab_target = 50 // intercept names the sabotage target half the time - var/const/prob_right_sab_target_l = 25 // lower bound on probability of naming right sabotage target - var/const/prob_right_sab_target_h = 50 // upper bound on probability of naming right sabotage target - - var/const/prob_right_killer_l = 25 //lower bound on probability of naming the right operative - var/const/prob_right_killer_h = 50 //upper bound on probability of naming the right operative - var/const/prob_right_objective_l = 25 //lower bound on probability of determining the objective correctly - var/const/prob_right_objective_h = 50 //upper bound on probability of determining the objective correctly - var/const/changeling_amount = 4 //hard limit on changelings if scaling is turned off - - var/changeling_team_objective_type = null //If this is not null, we hand our this objective to all lings + var/list/changelings = list() /datum/game_mode/changeling/pre_setup() @@ -80,7 +55,6 @@ GLOBAL_LIST_INIT(slot2type, list("head" = /obj/item/clothing/head/changeling, "w return 0 /datum/game_mode/changeling/post_setup() - //Decide if it's ok for the lings to have a team objective //And then set it up to be handed out in forge_changeling_objectives var/list/team_objectives = subtypesof(/datum/objective/changeling_team_objective) @@ -92,116 +66,27 @@ GLOBAL_LIST_INIT(slot2type, list("head" = /obj/item/clothing/head/changeling, "w possible_team_objectives += T if(possible_team_objectives.len && prob(20*changelings.len)) - changeling_team_objective_type = pick(possible_team_objectives) + GLOB.changeling_team_objective_type = pick(possible_team_objectives) for(var/datum/mind/changeling in changelings) log_game("[changeling.key] (ckey) has been selected as a changeling") - changeling.current.make_changeling() - forge_changeling_objectives(changeling) - greet_changeling(changeling) - SSticker.mode.update_changeling_icons_added(changeling) + var/datum/antagonist/changeling/new_antag = new(changeling) + new_antag.team_mode = TRUE + changeling.add_antag_datum(new_antag) ..() /datum/game_mode/changeling/make_antag_chance(mob/living/carbon/human/character) //Assigns changeling to latejoiners var/csc = CONFIG_GET(number/changeling_scaling_coeff) var/changelingcap = min(round(GLOB.joined_player_list.len / (csc * 2)) + 2, round(GLOB.joined_player_list.len / csc)) - if(SSticker.mode.changelings.len >= changelingcap) //Caps number of latejoin antagonists + if(changelings.len >= changelingcap) //Caps number of latejoin antagonists return - if(SSticker.mode.changelings.len <= (changelingcap - 2) || prob(100 - (csc * 2))) + if(changelings.len <= (changelingcap - 2) || prob(100 - (csc * 2))) if(ROLE_CHANGELING in character.client.prefs.be_special) if(!jobban_isbanned(character, ROLE_CHANGELING) && !jobban_isbanned(character, "Syndicate")) if(age_check(character.client)) if(!(character.job in restricted_jobs)) character.mind.make_Changling() - -/datum/game_mode/proc/forge_changeling_objectives(datum/mind/changeling, var/team_mode = 0) - //OBJECTIVES - random traitor objectives. Unique objectives "steal brain" and "identity theft". - //No escape alone because changelings aren't suited for it and it'd probably just lead to rampant robusting - //If it seems like they'd be able to do it in play, add a 10% chance to have to escape alone - - var/escape_objective_possible = TRUE - - //if there's a team objective, check if it's compatible with escape objectives - for(var/datum/objective/changeling_team_objective/CTO in changeling.objectives) - if(!CTO.escape_objective_compatible) - escape_objective_possible = FALSE - break - - var/datum/objective/absorb/absorb_objective = new - absorb_objective.owner = changeling - absorb_objective.gen_amount_goal(6, 8) - changeling.objectives += absorb_objective - - if(prob(60)) - if(prob(85)) - var/datum/objective/steal/steal_objective = new - steal_objective.owner = changeling - steal_objective.find_target() - changeling.objectives += steal_objective - else - var/datum/objective/download/download_objective = new - download_objective.owner = changeling - download_objective.gen_amount_goal() - changeling.objectives += download_objective - - var/list/active_ais = active_ais() - if(active_ais.len && prob(100/GLOB.joined_player_list.len)) - var/datum/objective/destroy/destroy_objective = new - destroy_objective.owner = changeling - destroy_objective.find_target() - changeling.objectives += destroy_objective - else - if(prob(70)) - var/datum/objective/assassinate/kill_objective = new - kill_objective.owner = changeling - if(team_mode) //No backstabbing while in a team - kill_objective.find_target_by_role(role = "Changeling", role_type = 1, invert = 1) - else - kill_objective.find_target() - changeling.objectives += kill_objective - else - var/datum/objective/maroon/maroon_objective = new - maroon_objective.owner = changeling - if(team_mode) - maroon_objective.find_target_by_role(role = "Changeling", role_type = 1, invert = 1) - else - maroon_objective.find_target() - changeling.objectives += maroon_objective - - if (!(locate(/datum/objective/escape) in changeling.objectives) && escape_objective_possible) - var/datum/objective/escape/escape_with_identity/identity_theft = new - identity_theft.owner = changeling - identity_theft.target = maroon_objective.target - identity_theft.update_explanation_text() - changeling.objectives += identity_theft - escape_objective_possible = FALSE - - if (!(locate(/datum/objective/escape) in changeling.objectives) && escape_objective_possible) - if(prob(50)) - var/datum/objective/escape/escape_objective = new - escape_objective.owner = changeling - changeling.objectives += escape_objective - else - var/datum/objective/escape/escape_with_identity/identity_theft = new - identity_theft.owner = changeling - if(team_mode) - identity_theft.find_target_by_role(role = "Changeling", role_type = 1, invert = 1) - else - identity_theft.find_target() - changeling.objectives += identity_theft - escape_objective_possible = FALSE - - - -/datum/game_mode/changeling/forge_changeling_objectives(datum/mind/changeling) - if(changeling_team_objective_type) - var/datum/objective/changeling_team_objective/team_objective = new changeling_team_objective_type - team_objective.owner = changeling - changeling.objectives += team_objective - - ..(changeling,1) - else - ..(changeling,0) + changelings += character.mind /datum/game_mode/changeling/generate_report() return "The Gorlex Marauders have announced the successful raid and destruction of Central Command containment ship #S-[rand(1111, 9999)]. This ship housed only a single prisoner - \ @@ -209,29 +94,12 @@ GLOBAL_LIST_INIT(slot2type, list("head" = /obj/item/clothing/head/changeling, "w of the Thing being sent to a station in this sector is highly likely. It may be in the guise of any crew member. Trust nobody - suspect everybody. Do not announce this to the crew, \ as paranoia may spread and inhibit workplace efficiency." -/datum/game_mode/proc/greet_changeling(datum/mind/changeling, you_are=1) - if (you_are) - to_chat(changeling.current, "You are [changeling.changeling.changelingID], a changeling! You have absorbed and taken the form of a human.") - to_chat(changeling.current, "Use say \":g message\" to communicate with your fellow changelings.") - to_chat(changeling.current, "You must complete the following tasks:") - changeling.current.playsound_local(get_turf(changeling.current), 'sound/ambience/antag/ling_aler.ogg', 100, FALSE, pressure_affected = FALSE) - - if (changeling.current.mind) - var/mob/living/carbon/human/H = changeling.current - if(H.mind.assigned_role == "Clown") - to_chat(H, "You have evolved beyond your clownish nature, allowing you to wield weapons without harming yourself.") - H.dna.remove_mutation(CLOWNMUT) - - var/obj_count = 1 - for(var/datum/objective/objective in changeling.objectives) - to_chat(changeling.current, "Objective #[obj_count]: [objective.explanation_text]") - obj_count++ - return - /datum/game_mode/proc/auto_declare_completion_changeling() + var/list/changelings = get_antagonists(/datum/antagonist/changeling,TRUE) //Only real lings get a mention if(changelings.len) var/text = "
    The changelings were:" for(var/datum/mind/changeling in changelings) + var/datum/antagonist/changeling/ling = changeling.has_antag_datum(/datum/antagonist/changeling) var/changelingwin = 1 if(!changeling.current) changelingwin = 0 @@ -239,8 +107,8 @@ GLOBAL_LIST_INIT(slot2type, list("head" = /obj/item/clothing/head/changeling, "w text += printplayer(changeling) //Removed sanity if(changeling) because we -want- a runtime to inform us that the changelings list is incorrect and needs to be fixed. - text += "
    Changeling ID: [changeling.changeling.changelingID]." - text += "
    Genomes Extracted: [changeling.changeling.absorbedcount]" + text += "
    Changeling ID: [ling.changelingID]." + text += "
    Genomes Extracted: [ling.absorbedcount]" if(changeling.objectives.len) var/count = 1 @@ -265,176 +133,8 @@ GLOBAL_LIST_INIT(slot2type, list("head" = /obj/item/clothing/head/changeling, "w to_chat(world, text) - return 1 -/datum/changeling //stores changeling powers, changeling recharge thingie, changeling absorbed DNA and changeling ID (for changeling hivemind) - var/list/stored_profiles = list() //list of datum/changelingprofile - var/datum/changelingprofile/first_prof = null - //var/list/absorbed_dna = list() - //var/list/protected_dna = list() //dna that is not lost when capacity is otherwise full - var/dna_max = 6 //How many extra DNA strands the changeling can store for transformation. - var/absorbedcount = 0 - var/chem_charges = 20 - var/chem_storage = 75 - var/chem_recharge_rate = 1 - var/chem_recharge_slowdown = 0 - var/sting_range = 2 - var/changelingID = "Changeling" - var/geneticdamage = 0 - var/isabsorbing = 0 - var/islinking = 0 - var/geneticpoints = 10 - var/purchasedpowers = list() - var/mimicing = "" - var/canrespec = 0 - var/changeling_speak = 0 - var/datum/dna/chosen_dna - var/obj/effect/proc_holder/changeling/sting/chosen_sting - var/datum/cellular_emporium/cellular_emporium - var/datum/action/innate/cellular_emporium/emporium_action - -/datum/changeling/New(var/gender=FEMALE) - ..() - var/honorific - if(gender == FEMALE) - honorific = "Ms." - else - honorific = "Mr." - if(GLOB.possible_changeling_IDs.len) - changelingID = pick(GLOB.possible_changeling_IDs) - GLOB.possible_changeling_IDs -= changelingID - changelingID = "[honorific] [changelingID]" - else - changelingID = "[honorific] [rand(1,999)]" - - cellular_emporium = new(src) - emporium_action = new(cellular_emporium) - -/datum/changeling/Destroy() - qdel(cellular_emporium) - cellular_emporium = null - qdel(emporium_action) - emporium_action = null - . = ..() - -/datum/changeling/proc/regenerate(var/mob/living/carbon/the_ling) - if(istype(the_ling)) - emporium_action.Grant(the_ling) - if(the_ling.stat == DEAD) - chem_charges = min(max(0, chem_charges + chem_recharge_rate - chem_recharge_slowdown), (chem_storage*0.5)) - geneticdamage = max(LING_DEAD_GENETICDAMAGE_HEAL_CAP,geneticdamage-1) - else //not dead? no chem/geneticdamage caps. - chem_charges = min(max(0, chem_charges + chem_recharge_rate - chem_recharge_slowdown), chem_storage) - geneticdamage = max(0, geneticdamage-1) - - -/datum/changeling/proc/get_dna(dna_owner) - for(var/datum/changelingprofile/prof in stored_profiles) - if(dna_owner == prof.name) - return prof - -/datum/changeling/proc/has_dna(datum/dna/tDNA) - for(var/datum/changelingprofile/prof in stored_profiles) - if(tDNA.is_same_as(prof.dna)) - return 1 - return 0 - -/datum/changeling/proc/can_absorb_dna(mob/living/carbon/user, mob/living/carbon/human/target, var/verbose=1) - if(stored_profiles.len) - var/datum/changelingprofile/prof = stored_profiles[1] - if(prof.dna == user.dna && stored_profiles.len >= dna_max)//If our current DNA is the stalest, we gotta ditch it. - if(verbose) - to_chat(user, "We have reached our capacity to store genetic information! We must transform before absorbing more.") - return - if(!target) - return - if(NO_DNA_COPY in target.dna.species.species_traits) - if(verbose) - to_chat(user, "[target] is not compatible with our biology.") - return - if((target.disabilities & NOCLONE) || (target.disabilities & HUSK)) - if(verbose) - to_chat(user, "DNA of [target] is ruined beyond usability!") - return - if(!ishuman(target))//Absorbing monkeys is entirely possible, but it can cause issues with transforming. That's what lesser form is for anyway! - if(verbose) - to_chat(user, "We could gain no benefit from absorbing a lesser creature.") - return - if(has_dna(target.dna)) - if(verbose) - to_chat(user, "We already have this DNA in storage!") - return - if(!target.has_dna()) - if(verbose) - to_chat(user, "[target] is not compatible with our biology.") - return - return 1 - -/datum/changeling/proc/create_profile(mob/living/carbon/human/H, mob/living/carbon/human/user, protect = 0) - var/datum/changelingprofile/prof = new - - H.dna.real_name = H.real_name //Set this again, just to be sure that it's properly set. - var/datum/dna/new_dna = new H.dna.type - H.dna.copy_dna(new_dna) - prof.dna = new_dna - prof.name = H.real_name - prof.protected = protect - - prof.underwear = H.underwear - prof.undershirt = H.undershirt - prof.socks = H.socks - - var/list/slots = list("head", "wear_mask", "back", "wear_suit", "w_uniform", "shoes", "belt", "gloves", "glasses", "ears", "wear_id", "s_store") - for(var/slot in slots) - if(slot in H.vars) - var/obj/item/I = H.vars[slot] - if(!I) - continue - prof.name_list[slot] = I.name - prof.appearance_list[slot] = I.appearance - prof.flags_cover_list[slot] = I.flags_cover - prof.item_color_list[slot] = I.item_color - prof.item_state_list[slot] = I.item_state - prof.exists_list[slot] = 1 - else - continue - - return prof - -/datum/changeling/proc/add_profile(datum/changelingprofile/prof) - if(stored_profiles.len > dna_max) - if(!push_out_profile()) - return - - stored_profiles += prof - absorbedcount++ - -/datum/changeling/proc/add_new_profile(mob/living/carbon/human/H, mob/living/carbon/human/user, protect = 0) - var/datum/changelingprofile/prof = create_profile(H, protect) - add_profile(prof) - return prof - -/datum/changeling/proc/remove_profile(mob/living/carbon/human/H, force = 0) - for(var/datum/changelingprofile/prof in stored_profiles) - if(H.real_name == prof.name) - if(prof.protected && !force) - continue - stored_profiles -= prof - qdel(prof) - -/datum/changeling/proc/get_profile_to_remove() - for(var/datum/changelingprofile/prof in stored_profiles) - if(!prof.protected) - return prof - -/datum/changeling/proc/push_out_profile() - var/datum/changelingprofile/removeprofile = get_profile_to_remove() - if(removeprofile) - stored_profiles -= removeprofile - return 1 - return 0 - /proc/changeling_transform(mob/living/carbon/human/user, datum/changelingprofile/chosen_prof) var/datum/dna/chosen_dna = chosen_prof.dna user.real_name = chosen_prof.name @@ -474,50 +174,4 @@ GLOBAL_LIST_INIT(slot2type, list("head" = /obj/item/clothing/head/changeling, "w if(equip) user.equip_to_slot_or_del(C, GLOB.slot2slot[slot]) - user.regenerate_icons() - -/datum/changelingprofile - var/name = "a bug" - - var/protected = 0 - - var/datum/dna/dna = null - var/list/name_list = list() //associative list of slotname = itemname - var/list/appearance_list = list() - var/list/flags_cover_list = list() - var/list/exists_list = list() - var/list/item_color_list = list() - var/list/item_state_list = list() - - var/underwear - var/undershirt - var/socks - -/datum/changelingprofile/Destroy() - qdel(dna) - . = ..() - -/datum/changelingprofile/proc/copy_profile(datum/changelingprofile/newprofile) - newprofile.name = name - newprofile.protected = protected - newprofile.dna = new dna.type - dna.copy_dna(newprofile.dna) - newprofile.name_list = name_list.Copy() - newprofile.appearance_list = appearance_list.Copy() - newprofile.flags_cover_list = flags_cover_list.Copy() - newprofile.exists_list = exists_list.Copy() - newprofile.item_color_list = item_color_list.Copy() - newprofile.item_state_list = item_state_list.Copy() - newprofile.underwear = underwear - newprofile.undershirt = undershirt - newprofile.socks = socks - -/datum/game_mode/proc/update_changeling_icons_added(datum/mind/changling_mind) - var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_CHANGELING] - hud.join_hud(changling_mind.current) - set_antag_hud(changling_mind.current, "changling") - -/datum/game_mode/proc/update_changeling_icons_removed(datum/mind/changling_mind) - var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_CHANGELING] - hud.leave_hud(changling_mind.current) - set_antag_hud(changling_mind.current, null) + user.regenerate_icons() \ No newline at end of file diff --git a/code/game/gamemodes/changeling/changeling_power.dm b/code/game/gamemodes/changeling/changeling_power.dm index 1abd58854b..ee6a0bee8c 100644 --- a/code/game/gamemodes/changeling/changeling_power.dm +++ b/code/game/gamemodes/changeling/changeling_power.dm @@ -26,14 +26,14 @@ /obj/effect/proc_holder/changeling/Click() var/mob/user = usr - if(!user || !user.mind || !user.mind.changeling) + if(!user || !user.mind || !user.mind.has_antag_datum(/datum/antagonist/changeling)) return try_to_sting(user) /obj/effect/proc_holder/changeling/proc/try_to_sting(mob/user, mob/target) if(!can_sting(user, target)) return - var/datum/changeling/c = user.mind.changeling + var/datum/antagonist/changeling/c = user.mind.has_antag_datum(/datum/antagonist/changeling) if(sting_action(user, target)) SSblackbox.add_details("changeling_powers",name) sting_feedback(user, target) @@ -52,7 +52,7 @@ if(req_human && !ishuman(user)) to_chat(user, "We cannot do that in this form!") return 0 - var/datum/changeling/c = user.mind.changeling + var/datum/antagonist/changeling/c = user.mind.has_antag_datum(/datum/antagonist/changeling) if(c.chem_charges < chemical_cost) to_chat(user, "We require at least [chemical_cost] unit\s of chemicals to do that!") return 0 diff --git a/code/game/gamemodes/changeling/evolution_menu.dm b/code/game/gamemodes/changeling/evolution_menu.dm deleted file mode 100644 index 76a37f9bb1..0000000000 --- a/code/game/gamemodes/changeling/evolution_menu.dm +++ /dev/null @@ -1,112 +0,0 @@ -/datum/changeling/proc/purchasePower(mob/living/carbon/user, sting_name) - - var/obj/effect/proc_holder/changeling/thepower = null - - for(var/path in subtypesof(/obj/effect/proc_holder/changeling)) - var/obj/effect/proc_holder/changeling/S = path - if(initial(S.name) == sting_name) - thepower = new path() - break - - if(!thepower) - to_chat(user, "This is awkward. Changeling power purchase failed, please report this bug to a coder!") - return - - if(absorbedcount < thepower.req_dna) - to_chat(user, "We lack the energy to evolve this ability!") - return - - if(has_sting(thepower)) - to_chat(user, "We have already evolved this ability!") - return - - if(thepower.dna_cost < 0) - to_chat(user, "We cannot evolve this ability.") - return - - if(geneticpoints < thepower.dna_cost) - to_chat(user, "We have reached our capacity for abilities.") - return - - if(user.status_flags & FAKEDEATH)//To avoid potential exploits by buying new powers while in stasis, which clears your verblist. - to_chat(user, "We lack the energy to evolve new abilities right now.") - return - - geneticpoints -= thepower.dna_cost - purchasedpowers += thepower - thepower.on_purchase(user) - -//Reselect powers -/datum/changeling/proc/lingRespec(mob/user) - if(!ishuman(user)) - to_chat(user, "We can't remove our evolutions in this form!") - return - if(canrespec) - to_chat(user, "We have removed our evolutions from this form, and are now ready to readapt.") - user.remove_changeling_powers(1) - canrespec = 0 - user.make_changeling(TRUE) - return 1 - else - to_chat(user, "You lack the power to readapt your evolutions!") - return 0 - -/mob/proc/make_changeling(is_respec) - if(!mind) - return - if(!ishuman(src) && !ismonkey(src)) - return - if(!mind.changeling) - mind.changeling = new /datum/changeling(gender) - if(mind.changeling.purchasedpowers) - remove_changeling_powers(1) - // purchase free powers. - for(var/path in subtypesof(/obj/effect/proc_holder/changeling)) - var/obj/effect/proc_holder/changeling/S = new path() - if(!S.dna_cost) - if(!mind.changeling.has_sting(S)) - mind.changeling.purchasedpowers+=S - S.on_purchase(src, is_respec) - if(is_respec) - SSblackbox.add_details("changeling_power_purchase","Readapt") - - var/mob/living/carbon/C = src //only carbons have dna now, so we have to typecaste - if(ishuman(C)) - var/datum/changelingprofile/prof = mind.changeling.add_new_profile(C, src) - mind.changeling.first_prof = prof - - var/obj/item/organ/brain/B = C.getorganslot(ORGAN_SLOT_BRAIN) - if(B) - B.vital = FALSE - B.decoy_override = TRUE - return 1 - -/datum/changeling/proc/reset() - chosen_sting = null - geneticpoints = initial(geneticpoints) - sting_range = initial(sting_range) - chem_storage = initial(chem_storage) - chem_recharge_rate = initial(chem_recharge_rate) - chem_charges = min(chem_charges, chem_storage) - chem_recharge_slowdown = initial(chem_recharge_slowdown) - mimicing = "" - -/mob/proc/remove_changeling_powers(keep_free_powers=0) - if(ishuman(src) || ismonkey(src)) - if(mind && mind.changeling) - mind.changeling.changeling_speak = 0 - mind.changeling.reset() - for(var/obj/effect/proc_holder/changeling/p in mind.changeling.purchasedpowers) - if((p.dna_cost == 0 && keep_free_powers) || p.always_keep) - continue - mind.changeling.purchasedpowers -= p - p.on_refund(src) - if(hud_used) - hud_used.lingstingdisplay.icon_state = null - hud_used.lingstingdisplay.invisibility = INVISIBILITY_ABSTRACT - -/datum/changeling/proc/has_sting(obj/effect/proc_holder/changeling/power) - for(var/obj/effect/proc_holder/changeling/P in purchasedpowers) - if(initial(power.name) == P.name) - return 1 - return 0 diff --git a/code/game/gamemodes/changeling/powers/absorb.dm b/code/game/gamemodes/changeling/powers/absorb.dm index c7b02a3224..d7ef971406 100644 --- a/code/game/gamemodes/changeling/powers/absorb.dm +++ b/code/game/gamemodes/changeling/powers/absorb.dm @@ -9,7 +9,7 @@ if(!..()) return - var/datum/changeling/changeling = user.mind.changeling + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) if(changeling.isabsorbing) to_chat(user, "We are already absorbing!") return @@ -22,12 +22,12 @@ return var/mob/living/carbon/target = user.pulling - return changeling.can_absorb_dna(user,target) + return changeling.can_absorb_dna(target) /obj/effect/proc_holder/changeling/absorbDNA/sting_action(mob/user) - var/datum/changeling/changeling = user.mind.changeling + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) var/mob/living/carbon/human/target = user.pulling changeling.isabsorbing = 1 for(var/i in 1 to 3) @@ -52,7 +52,7 @@ to_chat(target, "You are absorbed by the changeling!") if(!changeling.has_dna(target.dna)) - changeling.add_new_profile(target, user) + changeling.add_new_profile(target) if(user.nutrition < NUTRITION_LEVEL_WELL_FED) user.nutrition = min((user.nutrition + target.nutrition), NUTRITION_LEVEL_WELL_FED) @@ -84,12 +84,14 @@ user.mind.store_memory("We have no more knowledge of [target]'s speech patterns.") to_chat(user, "We have no more knowledge of [target]'s speech patterns.") - if(target.mind.changeling)//If the target was a changeling, suck out their extra juice and objective points! - changeling.chem_charges += min(target.mind.changeling.chem_charges, changeling.chem_storage) - changeling.absorbedcount += (target.mind.changeling.absorbedcount) - target.mind.changeling.stored_profiles.len = 1 - target.mind.changeling.absorbedcount = 0 + var/datum/antagonist/changeling/target_ling = target.mind.has_antag_datum(/datum/antagonist/changeling) + if(target_ling)//If the target was a changeling, suck out their extra juice and objective points! + changeling.chem_charges += min(target_ling.chem_charges, changeling.chem_storage) + changeling.absorbedcount += (target_ling.absorbedcount) + + target_ling.stored_profiles.len = 1 + target_ling.absorbedcount = 0 changeling.chem_charges=min(changeling.chem_charges+10, changeling.chem_storage) diff --git a/code/game/gamemodes/changeling/powers/fakedeath.dm b/code/game/gamemodes/changeling/powers/fakedeath.dm index e35f04d9e7..330488f6da 100644 --- a/code/game/gamemodes/changeling/powers/fakedeath.dm +++ b/code/game/gamemodes/changeling/powers/fakedeath.dm @@ -1,35 +1,37 @@ -/obj/effect/proc_holder/changeling/fakedeath - name = "Reviving Stasis" - desc = "We fall into a stasis, allowing us to regenerate and trick our enemies." - chemical_cost = 15 - dna_cost = 0 - req_dna = 1 - req_stat = DEAD - -//Fake our own death and fully heal. You will appear to be dead but regenerate fully after a short delay. -/obj/effect/proc_holder/changeling/fakedeath/sting_action(mob/living/user) - to_chat(user, "We begin our stasis, preparing energy to arise once more.") - if(user.stat != DEAD) - user.emote("deathgasp") - user.tod = worldtime2text() - user.status_flags |= FAKEDEATH //play dead - user.update_stat() - user.update_canmove() - - addtimer(CALLBACK(src, .proc/ready_to_regenerate, user), LING_FAKEDEATH_TIME, TIMER_UNIQUE) - return TRUE - -/obj/effect/proc_holder/changeling/fakedeath/proc/ready_to_regenerate(mob/user) - if(user && user.mind && user.mind.changeling && user.mind.changeling.purchasedpowers) - to_chat(user, "We are ready to revive.") - user.mind.changeling.purchasedpowers += new /obj/effect/proc_holder/changeling/revive(null) - -/obj/effect/proc_holder/changeling/fakedeath/can_sting(mob/user) - if(user.status_flags & FAKEDEATH) - to_chat(user, "We are already reviving.") - return - if(!user.stat) //Confirmation for living changelings if they want to fake their death - switch(alert("Are we sure we wish to fake our own death?",,"Yes", "No")) - if("No") - return - return ..() +/obj/effect/proc_holder/changeling/fakedeath + name = "Reviving Stasis" + desc = "We fall into a stasis, allowing us to regenerate and trick our enemies." + chemical_cost = 15 + dna_cost = 0 + req_dna = 1 + req_stat = DEAD + +//Fake our own death and fully heal. You will appear to be dead but regenerate fully after a short delay. +/obj/effect/proc_holder/changeling/fakedeath/sting_action(mob/living/user) + to_chat(user, "We begin our stasis, preparing energy to arise once more.") + if(user.stat != DEAD) + user.emote("deathgasp") + user.tod = worldtime2text() + user.status_flags |= FAKEDEATH //play dead + user.update_stat() + user.update_canmove() + + addtimer(CALLBACK(src, .proc/ready_to_regenerate, user), LING_FAKEDEATH_TIME, TIMER_UNIQUE) + return TRUE + +/obj/effect/proc_holder/changeling/fakedeath/proc/ready_to_regenerate(mob/user) + if(user && user.mind) + var/datum/antagonist/changeling/C = user.mind.has_antag_datum(/datum/antagonist/changeling) + if(C && C.purchasedpowers) + to_chat(user, "We are ready to revive.") + C.purchasedpowers += new /obj/effect/proc_holder/changeling/revive(null) + +/obj/effect/proc_holder/changeling/fakedeath/can_sting(mob/user) + if(user.status_flags & FAKEDEATH) + to_chat(user, "We are already reviving.") + return + if(!user.stat) //Confirmation for living changelings if they want to fake their death + switch(alert("Are we sure we wish to fake our own death?",,"Yes", "No")) + if("No") + return + return ..() diff --git a/code/game/gamemodes/changeling/powers/hivemind.dm b/code/game/gamemodes/changeling/powers/hivemind.dm index 0a78adaf33..5d79a757ec 100644 --- a/code/game/gamemodes/changeling/powers/hivemind.dm +++ b/code/game/gamemodes/changeling/powers/hivemind.dm @@ -1,93 +1,93 @@ -//HIVEMIND COMMUNICATION (:g) -/obj/effect/proc_holder/changeling/hivemind_comms - name = "Hivemind Communication" - desc = "We tune our senses to the airwaves to allow us to discreetly communicate and exchange DNA with other changelings." - helptext = "We will be able to talk with other changelings with :g. Exchanged DNA do not count towards absorb objectives." - dna_cost = 0 - chemical_cost = -1 - -/obj/effect/proc_holder/changeling/hivemind_comms/on_purchase(mob/user, is_respec) - ..() - var/datum/changeling/changeling=user.mind.changeling - changeling.changeling_speak = 1 - to_chat(user, "Use say \":g message\" to communicate with the other changelings.") - var/obj/effect/proc_holder/changeling/hivemind_upload/S1 = new - if(!changeling.has_sting(S1)) - changeling.purchasedpowers+=S1 - var/obj/effect/proc_holder/changeling/hivemind_download/S2 = new - if(!changeling.has_sting(S2)) - changeling.purchasedpowers+=S2 - -// HIVE MIND UPLOAD/DOWNLOAD DNA -GLOBAL_LIST_EMPTY(hivemind_bank) - -/obj/effect/proc_holder/changeling/hivemind_upload - name = "Hive Channel DNA" - desc = "Allows us to channel DNA in the airwaves to allow other changelings to absorb it." - chemical_cost = 10 - dna_cost = -1 - -/obj/effect/proc_holder/changeling/hivemind_upload/sting_action(var/mob/user) - var/datum/changeling/changeling = user.mind.changeling - var/list/names = list() - for(var/datum/changelingprofile/prof in changeling.stored_profiles) - if(!(prof in GLOB.hivemind_bank)) - names += prof.name - - if(names.len <= 0) - to_chat(user, "The airwaves already have all of our DNA.") - return - - var/chosen_name = input("Select a DNA to channel: ", "Channel DNA", null) as null|anything in names - if(!chosen_name) - return - - var/datum/changelingprofile/chosen_dna = changeling.get_dna(chosen_name) - if(!chosen_dna) - return - - var/datum/changelingprofile/uploaded_dna = new chosen_dna.type - chosen_dna.copy_profile(uploaded_dna) - GLOB.hivemind_bank += uploaded_dna - to_chat(user, "We channel the DNA of [chosen_name] to the air.") - return TRUE - -/obj/effect/proc_holder/changeling/hivemind_download - name = "Hive Absorb DNA" - desc = "Allows us to absorb DNA that has been channeled to the airwaves. Does not count towards absorb objectives." - chemical_cost = 10 - dna_cost = -1 - -/obj/effect/proc_holder/changeling/hivemind_download/can_sting(mob/living/carbon/user) - if(!..()) - return - var/datum/changeling/changeling = user.mind.changeling - var/datum/changelingprofile/first_prof = changeling.stored_profiles[1] - if(first_prof.name == user.real_name)//If our current DNA is the stalest, we gotta ditch it. - to_chat(user, "We have reached our capacity to store genetic information! We must transform before absorbing more.") - return - return 1 - -/obj/effect/proc_holder/changeling/hivemind_download/sting_action(mob/user) - var/datum/changeling/changeling = user.mind.changeling - var/list/names = list() - for(var/datum/changelingprofile/prof in GLOB.hivemind_bank) - if(!(prof in changeling.stored_profiles)) - names[prof.name] = prof - - if(names.len <= 0) - to_chat(user, "There's no new DNA to absorb from the air.") - return - - var/S = input("Select a DNA absorb from the air: ", "Absorb DNA", null) as null|anything in names - if(!S) - return - var/datum/changelingprofile/chosen_prof = names[S] - if(!chosen_prof) - return - - var/datum/changelingprofile/downloaded_prof = new chosen_prof.type - chosen_prof.copy_profile(downloaded_prof) - changeling.add_profile(downloaded_prof) - to_chat(user, "We absorb the DNA of [S] from the air.") - return TRUE +//HIVEMIND COMMUNICATION (:g) +/obj/effect/proc_holder/changeling/hivemind_comms + name = "Hivemind Communication" + desc = "We tune our senses to the airwaves to allow us to discreetly communicate and exchange DNA with other changelings." + helptext = "We will be able to talk with other changelings with :g. Exchanged DNA do not count towards absorb objectives." + dna_cost = 0 + chemical_cost = -1 + +/obj/effect/proc_holder/changeling/hivemind_comms/on_purchase(mob/user, is_respec) + ..() + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) + changeling.changeling_speak = 1 + to_chat(user, "Use say \":g message\" to communicate with the other changelings.") + var/obj/effect/proc_holder/changeling/hivemind_upload/S1 = new + if(!changeling.has_sting(S1)) + changeling.purchasedpowers+=S1 + var/obj/effect/proc_holder/changeling/hivemind_download/S2 = new + if(!changeling.has_sting(S2)) + changeling.purchasedpowers+=S2 + +// HIVE MIND UPLOAD/DOWNLOAD DNA +GLOBAL_LIST_EMPTY(hivemind_bank) + +/obj/effect/proc_holder/changeling/hivemind_upload + name = "Hive Channel DNA" + desc = "Allows us to channel DNA in the airwaves to allow other changelings to absorb it." + chemical_cost = 10 + dna_cost = -1 + +/obj/effect/proc_holder/changeling/hivemind_upload/sting_action(var/mob/user) + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) + var/list/names = list() + for(var/datum/changelingprofile/prof in changeling.stored_profiles) + if(!(prof in GLOB.hivemind_bank)) + names += prof.name + + if(names.len <= 0) + to_chat(user, "The airwaves already have all of our DNA.") + return + + var/chosen_name = input("Select a DNA to channel: ", "Channel DNA", null) as null|anything in names + if(!chosen_name) + return + + var/datum/changelingprofile/chosen_dna = changeling.get_dna(chosen_name) + if(!chosen_dna) + return + + var/datum/changelingprofile/uploaded_dna = new chosen_dna.type + chosen_dna.copy_profile(uploaded_dna) + GLOB.hivemind_bank += uploaded_dna + to_chat(user, "We channel the DNA of [chosen_name] to the air.") + return TRUE + +/obj/effect/proc_holder/changeling/hivemind_download + name = "Hive Absorb DNA" + desc = "Allows us to absorb DNA that has been channeled to the airwaves. Does not count towards absorb objectives." + chemical_cost = 10 + dna_cost = -1 + +/obj/effect/proc_holder/changeling/hivemind_download/can_sting(mob/living/carbon/user) + if(!..()) + return + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) + var/datum/changelingprofile/first_prof = changeling.stored_profiles[1] + if(first_prof.name == user.real_name)//If our current DNA is the stalest, we gotta ditch it. + to_chat(user, "We have reached our capacity to store genetic information! We must transform before absorbing more.") + return + return 1 + +/obj/effect/proc_holder/changeling/hivemind_download/sting_action(mob/user) + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) + var/list/names = list() + for(var/datum/changelingprofile/prof in GLOB.hivemind_bank) + if(!(prof in changeling.stored_profiles)) + names[prof.name] = prof + + if(names.len <= 0) + to_chat(user, "There's no new DNA to absorb from the air.") + return + + var/S = input("Select a DNA absorb from the air: ", "Absorb DNA", null) as null|anything in names + if(!S) + return + var/datum/changelingprofile/chosen_prof = names[S] + if(!chosen_prof) + return + + var/datum/changelingprofile/downloaded_prof = new chosen_prof.type + chosen_prof.copy_profile(downloaded_prof) + changeling.add_profile(downloaded_prof) + to_chat(user, "We absorb the DNA of [S] from the air.") + return TRUE diff --git a/code/game/gamemodes/changeling/powers/humanform.dm b/code/game/gamemodes/changeling/powers/humanform.dm index d92e622c2d..90ddfb0115 100644 --- a/code/game/gamemodes/changeling/powers/humanform.dm +++ b/code/game/gamemodes/changeling/powers/humanform.dm @@ -1,30 +1,30 @@ -/obj/effect/proc_holder/changeling/humanform - name = "Human Form" - desc = "We change into a human." - chemical_cost = 5 - req_dna = 1 - -//Transform into a human. -/obj/effect/proc_holder/changeling/humanform/sting_action(mob/living/carbon/user) - var/datum/changeling/changeling = user.mind.changeling - var/list/names = list() - for(var/datum/changelingprofile/prof in changeling.stored_profiles) - names += "[prof.name]" - - var/chosen_name = input("Select the target DNA: ", "Target DNA", null) as null|anything in names - if(!chosen_name) - return - - var/datum/changelingprofile/chosen_prof = changeling.get_dna(chosen_name) - if(!chosen_prof) - return - if(!user || user.notransform) - return 0 - to_chat(user, "We transform our appearance.") - - changeling.purchasedpowers -= src - - var/newmob = user.humanize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPORGANS | TR_KEEPDAMAGE | TR_KEEPVIRUS) - - changeling_transform(newmob, chosen_prof) - return TRUE +/obj/effect/proc_holder/changeling/humanform + name = "Human Form" + desc = "We change into a human." + chemical_cost = 5 + req_dna = 1 + +//Transform into a human. +/obj/effect/proc_holder/changeling/humanform/sting_action(mob/living/carbon/user) + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) + var/list/names = list() + for(var/datum/changelingprofile/prof in changeling.stored_profiles) + names += "[prof.name]" + + var/chosen_name = input("Select the target DNA: ", "Target DNA", null) as null|anything in names + if(!chosen_name) + return + + var/datum/changelingprofile/chosen_prof = changeling.get_dna(chosen_name) + if(!chosen_prof) + return + if(!user || user.notransform) + return 0 + to_chat(user, "We transform our appearance.") + + changeling.purchasedpowers -= src + + var/newmob = user.humanize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPORGANS | TR_KEEPDAMAGE | TR_KEEPVIRUS) + + changeling_transform(newmob, chosen_prof) + return TRUE diff --git a/code/game/gamemodes/changeling/powers/linglink.dm b/code/game/gamemodes/changeling/powers/linglink.dm index e3b9e6c02c..c129f035a2 100644 --- a/code/game/gamemodes/changeling/powers/linglink.dm +++ b/code/game/gamemodes/changeling/powers/linglink.dm @@ -8,7 +8,7 @@ /obj/effect/proc_holder/changeling/linglink/can_sting(mob/living/carbon/user) if(!..()) return - var/datum/changeling/changeling = user.mind.changeling + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) if(changeling.islinking) to_chat(user, "We have already formed a link with the victim!") return @@ -19,22 +19,23 @@ to_chat(user, "We cannot link with this creature!") return var/mob/living/carbon/target = user.pulling + if(!target.mind) to_chat(user, "The victim has no mind to link to!") return if(target.stat == DEAD) to_chat(user, "The victim is dead, you cannot link to a dead mind!") return - if(target.mind.changeling) + if(target.mind.has_antag_datum(/datum/antagonist/changeling)) to_chat(user, "The victim is already a part of the hivemind!") return if(user.grab_state <= GRAB_AGGRESSIVE) to_chat(user, "We must have a tighter grip to link with this creature!") return - return changeling.can_absorb_dna(user,target) + return changeling.can_absorb_dna(target) /obj/effect/proc_holder/changeling/linglink/sting_action(mob/user) - var/datum/changeling/changeling = user.mind.changeling + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) var/mob/living/carbon/human/target = user.pulling changeling.islinking = 1 for(var/i in 1 to 3) @@ -47,7 +48,8 @@ if(3) to_chat(user, "We mold the [target]'s mind like clay, granting [target.p_them()] the ability to speak in the hivemind!") to_chat(target, "A migraine throbs behind your eyes, you hear yourself screaming - but your mouth has not opened!") - for(var/mob/M in GLOB.mob_list) + for(var/mi in GLOB.mob_list) + var/mob/M = mi if(M.lingcheck() == 2) to_chat(M, "We can sense a foreign presence in the hivemind...") target.mind.linglink = 1 diff --git a/code/game/gamemodes/changeling/powers/mimic_voice.dm b/code/game/gamemodes/changeling/powers/mimic_voice.dm index f422be20a9..9c0d79e233 100644 --- a/code/game/gamemodes/changeling/powers/mimic_voice.dm +++ b/code/game/gamemodes/changeling/powers/mimic_voice.dm @@ -1,27 +1,27 @@ -/obj/effect/proc_holder/changeling/mimicvoice - name = "Mimic Voice" - desc = "We shape our vocal glands to sound like a desired voice." - helptext = "Will turn your voice into the name that you enter. We must constantly expend chemicals to maintain our form like this." - chemical_cost = 0 //constant chemical drain hardcoded - dna_cost = 1 - req_human = 1 - - -// Fake Voice -/obj/effect/proc_holder/changeling/mimicvoice/sting_action(mob/user) - var/datum/changeling/changeling=user.mind.changeling - if(changeling.mimicing) - changeling.mimicing = "" - changeling.chem_recharge_slowdown -= 0.5 - to_chat(user, "We return our vocal glands to their original position.") - return - - var/mimic_voice = stripped_input(user, "Enter a name to mimic.", "Mimic Voice", null, MAX_NAME_LEN) - if(!mimic_voice) - return - - changeling.mimicing = mimic_voice - changeling.chem_recharge_slowdown += 0.5 - to_chat(user, "We shape our glands to take the voice of [mimic_voice], this will slow down regenerating chemicals while active.") - to_chat(user, "Use this power again to return to our original voice and return chemical production to normal levels.") - return TRUE +/obj/effect/proc_holder/changeling/mimicvoice + name = "Mimic Voice" + desc = "We shape our vocal glands to sound like a desired voice." + helptext = "Will turn your voice into the name that you enter. We must constantly expend chemicals to maintain our form like this." + chemical_cost = 0 //constant chemical drain hardcoded + dna_cost = 1 + req_human = 1 + + +// Fake Voice +/obj/effect/proc_holder/changeling/mimicvoice/sting_action(mob/user) + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) + if(changeling.mimicing) + changeling.mimicing = "" + changeling.chem_recharge_slowdown -= 0.5 + to_chat(user, "We return our vocal glands to their original position.") + return + + var/mimic_voice = stripped_input(user, "Enter a name to mimic.", "Mimic Voice", null, MAX_NAME_LEN) + if(!mimic_voice) + return + + changeling.mimicing = mimic_voice + changeling.chem_recharge_slowdown += 0.5 + to_chat(user, "We shape our glands to take the voice of [mimic_voice], this will slow down regenerating chemicals while active.") + to_chat(user, "Use this power again to return to our original voice and return chemical production to normal levels.") + return TRUE diff --git a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm index f8b25afa5e..ec0f4ea025 100644 --- a/code/game/gamemodes/changeling/powers/mutations.dm +++ b/code/game/gamemodes/changeling/powers/mutations.dm @@ -83,7 +83,7 @@ //checks if we already have an organic suit and casts it off. /obj/effect/proc_holder/changeling/suit/proc/check_suit(mob/user) - var/datum/changeling/changeling = user.mind.changeling + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) if(!ishuman(user) || !changeling) return 1 var/mob/living/carbon/human/H = user @@ -122,7 +122,7 @@ user.equip_to_slot_if_possible(new suit_type(user), slot_wear_suit, 1, 1, 1) user.equip_to_slot_if_possible(new helmet_type(user), slot_head, 1, 1, 1) - var/datum/changeling/changeling = user.mind.changeling + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) changeling.chem_recharge_slowdown += recharge_slowdown return TRUE @@ -385,7 +385,7 @@ weapon_name_simple = "shield" /obj/effect/proc_holder/changeling/weapon/shield/sting_action(mob/user) - var/datum/changeling/changeling = user.mind.changeling //So we can read the absorbedcount. + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) //So we can read the absorbedcount. if(!changeling) return diff --git a/code/game/gamemodes/changeling/powers/revive.dm b/code/game/gamemodes/changeling/powers/revive.dm index 71c052c39f..716b41a837 100644 --- a/code/game/gamemodes/changeling/powers/revive.dm +++ b/code/game/gamemodes/changeling/powers/revive.dm @@ -1,35 +1,37 @@ -/obj/effect/proc_holder/changeling/revive - name = "Revive" - desc = "We regenerate, healing all damage from our form." - helptext = "Does not regrow lost organs or a missing head." - req_stat = DEAD - always_keep = TRUE - ignores_fakedeath = TRUE - -//Revive from revival stasis -/obj/effect/proc_holder/changeling/revive/sting_action(mob/living/carbon/user) - user.status_flags &= ~(FAKEDEATH) - user.tod = null - user.revive(full_heal = 1) - var/list/missing = user.get_missing_limbs() - missing -= "head" // headless changelings are funny - if(missing.len) - playsound(user, 'sound/magic/demon_consume.ogg', 50, 1) - user.visible_message("[user]'s missing limbs \ - reform, making a loud, grotesque sound!", - "Your limbs regrow, making a \ - loud, crunchy sound and giving you great pain!", - "You hear organic matter ripping \ - and tearing!") - user.emote("scream") - user.regenerate_limbs(0, list("head")) +/obj/effect/proc_holder/changeling/revive + name = "Revive" + desc = "We regenerate, healing all damage from our form." + helptext = "Does not regrow lost organs or a missing head." + req_stat = DEAD + always_keep = TRUE + ignores_fakedeath = TRUE + +//Revive from revival stasis +/obj/effect/proc_holder/changeling/revive/sting_action(mob/living/carbon/user) + user.status_flags &= ~(FAKEDEATH) + user.tod = null + user.revive(full_heal = 1) + var/list/missing = user.get_missing_limbs() + missing -= "head" // headless changelings are funny + if(missing.len) + playsound(user, 'sound/magic/demon_consume.ogg', 50, 1) + user.visible_message("[user]'s missing limbs \ + reform, making a loud, grotesque sound!", + "Your limbs regrow, making a \ + loud, crunchy sound and giving you great pain!", + "You hear organic matter ripping \ + and tearing!") + user.emote("scream") + user.regenerate_limbs(0, list("head")) user.regenerate_organs() - to_chat(user, "We have revived ourselves.") - user.mind.changeling.purchasedpowers -= src - return TRUE - -/obj/effect/proc_holder/changeling/revive/can_be_used_by(mob/user) - if((user.stat != DEAD) && !(user.status_flags & FAKEDEATH)) - user.mind.changeling.purchasedpowers -= src - return 0 - . = ..() + to_chat(user, "We have revived ourselves.") + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) + changeling.purchasedpowers -= src + return TRUE + +/obj/effect/proc_holder/changeling/revive/can_be_used_by(mob/user) + if((user.stat != DEAD) && !(user.status_flags & FAKEDEATH)) + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) + changeling.purchasedpowers -= src + return 0 + . = ..() diff --git a/code/game/gamemodes/changeling/powers/shriek.dm b/code/game/gamemodes/changeling/powers/shriek.dm index dd066bf71b..667dc06daf 100644 --- a/code/game/gamemodes/changeling/powers/shriek.dm +++ b/code/game/gamemodes/changeling/powers/shriek.dm @@ -11,7 +11,7 @@ for(var/mob/living/M in get_hearers_in_view(4, user)) if(iscarbon(M)) var/mob/living/carbon/C = M - if(!C.mind || !C.mind.changeling) + if(!C.mind || !C.mind.has_antag_datum(/datum/antagonist/changeling)) C.adjustEarDamage(0, 30) C.confused += 25 C.Jitter(50) diff --git a/code/game/gamemodes/changeling/powers/tiny_prick.dm b/code/game/gamemodes/changeling/powers/tiny_prick.dm index c23074c506..4fdd84040e 100644 --- a/code/game/gamemodes/changeling/powers/tiny_prick.dm +++ b/code/game/gamemodes/changeling/powers/tiny_prick.dm @@ -5,9 +5,12 @@ /obj/effect/proc_holder/changeling/sting/Click() var/mob/user = usr - if(!user || !user.mind || !user.mind.changeling) + if(!user || !user.mind) return - if(!(user.mind.changeling.chosen_sting)) + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) + if(!changeling) + return + if(!changeling.chosen_sting) set_sting(user) else unset_sting(user) @@ -15,41 +18,48 @@ /obj/effect/proc_holder/changeling/sting/proc/set_sting(mob/user) to_chat(user, "We prepare our sting, use alt+click or middle mouse button on target to sting them.") - user.mind.changeling.chosen_sting = src + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) + changeling.chosen_sting = src + user.hud_used.lingstingdisplay.icon_state = sting_icon user.hud_used.lingstingdisplay.invisibility = 0 /obj/effect/proc_holder/changeling/sting/proc/unset_sting(mob/user) to_chat(user, "We retract our sting, we can't sting anyone for now.") - user.mind.changeling.chosen_sting = null + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) + changeling.chosen_sting = null + user.hud_used.lingstingdisplay.icon_state = null user.hud_used.lingstingdisplay.invisibility = INVISIBILITY_ABSTRACT /mob/living/carbon/proc/unset_sting() - if(mind && mind.changeling && mind.changeling.chosen_sting) - src.mind.changeling.chosen_sting.unset_sting(src) + if(mind) + var/datum/antagonist/changeling/changeling = mind.has_antag_datum(/datum/antagonist/changeling) + if(changeling && changeling.chosen_sting) + changeling.chosen_sting.unset_sting(src) /obj/effect/proc_holder/changeling/sting/can_sting(mob/user, mob/target) if(!..()) return - if(!user.mind.changeling.chosen_sting) + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) + if(!changeling.chosen_sting) to_chat(user, "We haven't prepared our sting yet!") if(!iscarbon(target)) return if(!isturf(user.loc)) return - if(!AStar(user, target.loc, /turf/proc/Distance, user.mind.changeling.sting_range, simulated_only = 0)) + if(!AStar(user, target.loc, /turf/proc/Distance, changeling.sting_range, simulated_only = 0)) return - if(target.mind && target.mind.changeling) + if(target.mind && target.mind.has_antag_datum(/datum/antagonist/changeling)) sting_feedback(user, target) - user.mind.changeling.chem_charges -= chemical_cost + changeling.chem_charges -= chemical_cost //?? return 1 /obj/effect/proc_holder/changeling/sting/sting_feedback(mob/user, mob/target) if(!target) return to_chat(user, "We stealthily sting [target.name].") - if(target.mind && target.mind.changeling) + if(target.mind && target.mind.has_antag_datum(/datum/antagonist/changeling)) to_chat(target, "You feel a tiny prick.") return 1 @@ -65,7 +75,7 @@ /obj/effect/proc_holder/changeling/sting/transformation/Click() var/mob/user = usr - var/datum/changeling/changeling = user.mind.changeling + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) if(changeling.chosen_sting) unset_sting(user) return @@ -163,12 +173,14 @@ /obj/effect/proc_holder/changeling/sting/extract_dna/can_sting(mob/user, mob/target) if(..()) - return user.mind.changeling.can_absorb_dna(user, target) + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) + return changeling.can_absorb_dna(target) /obj/effect/proc_holder/changeling/sting/extract_dna/sting_action(mob/user, mob/living/carbon/human/target) add_logs(user, target, "stung", "extraction sting") - if(!(user.mind.changeling.has_dna(target.dna))) - user.mind.changeling.add_new_profile(target, user) + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) + if(!(changeling.has_dna(target.dna))) + changeling.add_new_profile(target) return TRUE /obj/effect/proc_holder/changeling/sting/mute diff --git a/code/game/gamemodes/changeling/powers/transform.dm b/code/game/gamemodes/changeling/powers/transform.dm index 6b627870a4..a977bab3e0 100644 --- a/code/game/gamemodes/changeling/powers/transform.dm +++ b/code/game/gamemodes/changeling/powers/transform.dm @@ -1,126 +1,129 @@ -/obj/effect/proc_holder/changeling/transform - name = "Transform" - desc = "We take on the appearance and voice of one we have absorbed." - chemical_cost = 5 - dna_cost = 0 - req_dna = 1 - req_human = 1 - -/obj/item/clothing/glasses/changeling - name = "flesh" +/obj/effect/proc_holder/changeling/transform + name = "Transform" + desc = "We take on the appearance and voice of one we have absorbed." + chemical_cost = 5 + dna_cost = 0 + req_dna = 1 + req_human = 1 + +/obj/item/clothing/glasses/changeling + name = "flesh" flags_1 = NODROP_1 - -/obj/item/clothing/glasses/changeling/attack_hand(mob/user) - if(loc == user && user.mind && user.mind.changeling) - to_chat(user, "You reabsorb [src] into your body.") - qdel(src) - return - ..() - -/obj/item/clothing/under/changeling - name = "flesh" + +/obj/item/clothing/glasses/changeling/attack_hand(mob/user) + if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling)) + to_chat(user, "You reabsorb [src] into your body.") + qdel(src) + return + ..() + +/obj/item/clothing/under/changeling + name = "flesh" flags_1 = NODROP_1 - -/obj/item/clothing/under/changeling/attack_hand(mob/user) - if(loc == user && user.mind && user.mind.changeling) - to_chat(user, "You reabsorb [src] into your body.") - qdel(src) - return - ..() - -/obj/item/clothing/suit/changeling - name = "flesh" + +/obj/item/clothing/under/changeling/attack_hand(mob/user) + if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling)) + to_chat(user, "You reabsorb [src] into your body.") + qdel(src) + return + ..() + +/obj/item/clothing/suit/changeling + name = "flesh" flags_1 = NODROP_1 - allowed = list(/obj/item/changeling) - -/obj/item/clothing/suit/changeling/attack_hand(mob/user) - if(loc == user && user.mind && user.mind.changeling) - to_chat(user, "You reabsorb [src] into your body.") - qdel(src) - return - ..() - -/obj/item/clothing/head/changeling - name = "flesh" + allowed = list(/obj/item/changeling) + +/obj/item/clothing/suit/changeling/attack_hand(mob/user) + if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling)) + to_chat(user, "You reabsorb [src] into your body.") + qdel(src) + return + ..() + +/obj/item/clothing/head/changeling + name = "flesh" flags_1 = NODROP_1 - -/obj/item/clothing/head/changeling/attack_hand(mob/user) - if(loc == user && user.mind && user.mind.changeling) - to_chat(user, "You reabsorb [src] into your body.") - qdel(src) - return - ..() - -/obj/item/clothing/shoes/changeling - name = "flesh" + +/obj/item/clothing/head/changeling/attack_hand(mob/user) + if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling)) + to_chat(user, "You reabsorb [src] into your body.") + qdel(src) + return + ..() + +/obj/item/clothing/shoes/changeling + name = "flesh" flags_1 = NODROP_1 - -/obj/item/clothing/shoes/changeling/attack_hand(mob/user) - if(loc == user && user.mind && user.mind.changeling) - to_chat(user, "You reabsorb [src] into your body.") - qdel(src) - return - ..() - -/obj/item/clothing/gloves/changeling - name = "flesh" + +/obj/item/clothing/shoes/changeling/attack_hand(mob/user) + if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling)) + to_chat(user, "You reabsorb [src] into your body.") + qdel(src) + return + ..() + +/obj/item/clothing/gloves/changeling + name = "flesh" flags_1 = NODROP_1 - -/obj/item/clothing/gloves/changeling/attack_hand(mob/user) - if(loc == user && user.mind && user.mind.changeling) - to_chat(user, "You reabsorb [src] into your body.") - qdel(src) - return - ..() - -/obj/item/clothing/mask/changeling - name = "flesh" + +/obj/item/clothing/gloves/changeling/attack_hand(mob/user) + if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling)) + to_chat(user, "You reabsorb [src] into your body.") + qdel(src) + return + ..() + +/obj/item/clothing/mask/changeling + name = "flesh" flags_1 = NODROP_1 - -/obj/item/clothing/mask/changeling/attack_hand(mob/user) - if(loc == user && user.mind && user.mind.changeling) - to_chat(user, "You reabsorb [src] into your body.") - qdel(src) - return - ..() - -/obj/item/changeling - name = "flesh" + +/obj/item/clothing/mask/changeling/attack_hand(mob/user) + if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling)) + to_chat(user, "You reabsorb [src] into your body.") + qdel(src) + return + ..() + +/obj/item/changeling + name = "flesh" flags_1 = NODROP_1 - slot_flags = ALL - allowed = list(/obj/item/changeling) - -/obj/item/changeling/attack_hand(mob/user) - if(loc == user && user.mind && user.mind.changeling) - to_chat(user, "You reabsorb [src] into your body.") - qdel(src) - return - ..() - -//Change our DNA to that of somebody we've absorbed. -/obj/effect/proc_holder/changeling/transform/sting_action(mob/living/carbon/human/user) - var/datum/changeling/changeling = user.mind.changeling - var/datum/changelingprofile/chosen_prof = changeling.select_dna("Select the target DNA: ", "Target DNA", user) - - if(!chosen_prof) - return - - changeling_transform(user, chosen_prof) - return TRUE - -/datum/changeling/proc/select_dna(var/prompt, var/title, var/mob/living/carbon/user) - var/list/names = list("Drop Flesh Disguise") - for(var/datum/changelingprofile/prof in stored_profiles) - names += "[prof.name]" - - var/chosen_name = input(prompt, title, null) as null|anything in names - if(!chosen_name) - return - - if(chosen_name == "Drop Flesh Disguise") - for(var/slot in GLOB.slots) - if(istype(user.vars[slot], GLOB.slot2type[slot])) - qdel(user.vars[slot]) - - var/datum/changelingprofile/prof = get_dna(chosen_name) - return prof + slot_flags = ALL + allowed = list(/obj/item/changeling) + +/obj/item/changeling/attack_hand(mob/user) + if(loc == user && user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling)) + to_chat(user, "You reabsorb [src] into your body.") + qdel(src) + return + ..() + +//Change our DNA to that of somebody we've absorbed. +/obj/effect/proc_holder/changeling/transform/sting_action(mob/living/carbon/human/user) + var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) + var/datum/changelingprofile/chosen_prof = changeling.select_dna("Select the target DNA: ", "Target DNA") + + if(!chosen_prof) + return + + changeling_transform(user, chosen_prof) + return TRUE + +/datum/antagonist/changeling/proc/select_dna(var/prompt, var/title) + var/mob/living/carbon/user = owner.current + if(!istype(user)) + return + var/list/names = list("Drop Flesh Disguise") + for(var/datum/changelingprofile/prof in stored_profiles) + names += "[prof.name]" + + var/chosen_name = input(prompt, title, null) as null|anything in names + if(!chosen_name) + return + + if(chosen_name == "Drop Flesh Disguise") + for(var/slot in GLOB.slots) + if(istype(user.vars[slot], GLOB.slot2type[slot])) + qdel(user.vars[slot]) + + var/datum/changelingprofile/prof = get_dna(chosen_name) + return prof diff --git a/code/game/gamemodes/changeling/traitor_chan.dm b/code/game/gamemodes/changeling/traitor_chan.dm index 8da88e18d7..6287e707f2 100644 --- a/code/game/gamemodes/changeling/traitor_chan.dm +++ b/code/game/gamemodes/changeling/traitor_chan.dm @@ -10,6 +10,7 @@ reroll_friendly = 1 var/list/possible_changelings = list() + var/list/changelings = list() var/const/changeling_amount = 1 //hard limit on changelings if scaling is turned off /datum/game_mode/traitor/changeling/announce() @@ -57,25 +58,22 @@ /datum/game_mode/traitor/changeling/post_setup() for(var/datum/mind/changeling in changelings) - changeling.current.make_changeling() - forge_changeling_objectives(changeling) - greet_changeling(changeling) - SSticker.mode.update_changeling_icons_added(changeling) - ..() - return + changeling.add_antag_datum(/datum/antagonist/changeling) + return ..() /datum/game_mode/traitor/changeling/make_antag_chance(mob/living/carbon/human/character) //Assigns changeling to latejoiners var/csc = CONFIG_GET(number/changeling_scaling_coeff) var/changelingcap = min( round(GLOB.joined_player_list.len / (csc * 4)) + 2, round(GLOB.joined_player_list.len / (csc * 2))) - if(SSticker.mode.changelings.len >= changelingcap) //Caps number of latejoin antagonists + if(changelings.len >= changelingcap) //Caps number of latejoin antagonists ..() return - if(SSticker.mode.changelings.len <= (changelingcap - 2) || prob(100 / (csc * 4))) + if(changelings.len <= (changelingcap - 2) || prob(100 / (csc * 4))) if(ROLE_CHANGELING in character.client.prefs.be_special) if(!jobban_isbanned(character, ROLE_CHANGELING) && !jobban_isbanned(character, "Syndicate")) if(age_check(character.client)) if(!(character.job in restricted_jobs)) character.mind.make_Changling() + changelings += character.mind ..() /datum/game_mode/traitor/changeling/generate_report() diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm index d9d47bd771..63900d0f89 100644 --- a/code/game/gamemodes/clock_cult/clock_cult.dm +++ b/code/game/gamemodes/clock_cult/clock_cult.dm @@ -273,6 +273,7 @@ Credit where due: if(plasmaman && !visualsOnly) //If we need to breathe from the plasma tank, we should probably start doing that H.internal = H.get_item_for_held_index(2) H.update_internals_hud_icon(1) + H.sec_hud_set_ID() /obj/item/paper/servant_primer name = "The Ark And You: A Primer On Servitude" diff --git a/code/game/gamemodes/clock_cult/clock_effects/city_of_cogs_rift.dm b/code/game/gamemodes/clock_cult/clock_effects/city_of_cogs_rift.dm index 8c6e1d1a35..e41acb421a 100644 --- a/code/game/gamemodes/clock_cult/clock_effects/city_of_cogs_rift.dm +++ b/code/game/gamemodes/clock_cult/clock_effects/city_of_cogs_rift.dm @@ -38,8 +38,11 @@ beckon(AM) /obj/effect/clockwork/city_of_cogs_rift/proc/beckon(atom/movable/AM) + var/turf/T = get_turf(pick(GLOB.city_of_cogs_spawns)) + if(is_servant_of_ratvar(AM)) + T = GLOB.ark_of_the_clockwork_justiciar ? get_step(GLOB.ark_of_the_clockwork_justiciar, SOUTH) : get_turf(pick(GLOB.servant_spawns)) AM.visible_message("[AM] passes through [src]!", ignored_mob = AM) - AM.forceMove(pick(!is_servant_of_ratvar(AM) ? GLOB.city_of_cogs_spawns : GLOB.servant_spawns)) + AM.forceMove(T) AM.visible_message("[AM] materializes from the air!", \ "You pass through [src] and appear [is_servant_of_ratvar(AM) ? "back at the City of Cogs" : "somewhere unfamiliar. Looks like it was a one-way trip.."].") do_sparks(5, TRUE, src) diff --git a/code/game/gamemodes/clock_cult/clock_effects/spatial_gateway.dm b/code/game/gamemodes/clock_cult/clock_effects/spatial_gateway.dm index 731a8e1d7a..cbfe5d043c 100644 --- a/code/game/gamemodes/clock_cult/clock_effects/spatial_gateway.dm +++ b/code/game/gamemodes/clock_cult/clock_effects/spatial_gateway.dm @@ -162,7 +162,7 @@ var/locname = initial(A.name) possible_targets[avoid_assoc_duplicate_keys("[locname] [O.name]", teleportnames)] = O - for(var/mob/living/L in GLOB.living_mob_list) + for(var/mob/living/L in GLOB.alive_mob_list) if(!L.stat && is_servant_of_ratvar(L) && !L.Adjacent(invoker) && (L.z <= ZLEVEL_SPACEMAX)) //People right next to the invoker can't be portaled to, for obvious reasons possible_targets[avoid_assoc_duplicate_keys("[L.name] ([L.real_name])", teleportnames)] = L diff --git a/code/game/gamemodes/clock_cult/clock_helpers/ratvarian_language.dm b/code/game/gamemodes/clock_cult/clock_helpers/ratvarian_language.dm index a9727017d3..2d49787348 100644 --- a/code/game/gamemodes/clock_cult/clock_helpers/ratvarian_language.dm +++ b/code/game/gamemodes/clock_cult/clock_helpers/ratvarian_language.dm @@ -104,7 +104,7 @@ List of nuances: if(isliving(AM)) var/mob/living/L = AM if(!whisper) - L.say(message, "clock", spans, language=/datum/language/common) + L.say(message, "clock", spans, language=/datum/language/common, ignore_spam = TRUE) else L.whisper(message, "clock", spans, language=/datum/language/common) else diff --git a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm index 2dd65ac9db..70aeaa6520 100644 --- a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm +++ b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm @@ -1,8 +1,7 @@ /obj/item/clockwork/slab //Clockwork slab: The most important tool in Ratvar's arsenal. Allows scripture recital, tutorials, and generates components. name = "clockwork slab" desc = "A strange metal tablet. A clock in the center turns around and around." - clockwork_desc = "A link between you and the Celestial Derelict. It contains information, recites scripture, and is your most vital tool as a Servant.\n\ - Hitting a slab, a Servant with a slab, or a cache will transfer this slab's components into the target, the target's slab, or the global cache, respectively." + clockwork_desc = "A link between you and the Celestial Derelict. It contains information, recites scripture, and is your most vital tool as a Servant." icon_state = "dread_ipad" lefthand_file = 'icons/mob/inhands/antag/clockwork_lefthand.dmi' righthand_file = 'icons/mob/inhands/antag/clockwork_righthand.dmi' @@ -231,7 +230,7 @@ this will cause you to whisper your message aloud, so doing so in a public place is very suspicious and you should try to restrict it to private use.

    " dat += "If you aren't willing or don't have the time to read through every section, you can still help your teammates! Ask if they've set up a base. If they have, head there \ and ask however you can help; chances are there's always something. If not, it's your job as a Servant to get one up and running! Try to find a secluded, low-traffic area, \ - like the auxilary base or somewhere deep in maintenance. You'll want to go into the Drivers section of the slab and look for Tinkerer's Cache. Find a nice spot and \ + like the auxiliary base or somewhere deep in maintenance. You'll want to go into the Drivers section of the slab and look for Tinkerer's Cache. Find a nice spot and \ create one. This serves as a storage for components, the cult's primary resource. (Your slab's probably produced a few by now.) By attacking that cache with this \ slab, you'll offload all your components into it, and all Servants will be able to use those components from any distance - all Tinkerer's Caches are linked!

    " dat += "Once you have a base up and running, contact your fellows and let them know. You should come back here often to drop off the slab's components, and your fellows \ @@ -250,7 +249,7 @@ teamwork is an instrumental component of your success.

    " //get it? component? ha! dat += "As a Servant of Ratvar, the tools you are given focus around building and maintaining bases and outposts. A great deal of your power comes from stationary \ structures, and without constructing a base somewhere, it's essentially impossible to succeed. Finding a good spot to build a base can be difficult, and it's recommended \ - that you choose an area in low-traffic part of the station (such as the auxilary base). Make sure to disconnect any cameras in the area beforehand.

    " + that you choose an area in low-traffic part of the station (such as the auxiliary base). Make sure to disconnect any cameras in the area beforehand.

    " dat += "Because of how complex being a Servant is, it isn't possible to fit much information into this section. It's highly recommended that you read the Components \ and Scripture sections next. Not knowing how these two systems work will cripple both you and your fellows, and lead to a frustrating experience for everyone.

    " dat += "-=-=-=-=-=-" diff --git a/code/game/gamemodes/clock_cult/clock_mobs/clockwork_marauder.dm b/code/game/gamemodes/clock_cult/clock_mobs/clockwork_marauder.dm index 1fabeeba3f..a1c3d211fb 100644 --- a/code/game/gamemodes/clock_cult/clock_mobs/clockwork_marauder.dm +++ b/code/game/gamemodes/clock_cult/clock_mobs/clockwork_marauder.dm @@ -17,6 +17,7 @@ attack_sound = 'sound/weapons/bladeslice.ogg' weather_immunities = list("lava") movement_type = FLYING + a_intent = INTENT_HARM loot = list(/obj/item/clockwork/component/geis_capacitor/fallen_armor) light_range = 2 light_power = 1.1 @@ -24,7 +25,6 @@ unique abilities, you're a fearsome fighter in one-on-one combat, and your shield protects from projectiles!

    Obey the Servants and do as they \ tell you. Your primary goal is to defend the Ark from destruction; they are your allies in this, and should be protected from harm." empower_string = "The Anima Bulwark's power flows through you! Your weapon will strike harder, your armor is sturdier, and your shield is more durable." - var/deflect_chance = 40 //Chance to deflect any given projectile (non-damaging energy projectiles are always deflected) var/max_shield_health = 3 var/shield_health = 3 //Amount of projectiles that can be deflected within var/shield_health_regen = 0 //When world.time equals this, shield health will regenerate @@ -55,8 +55,6 @@ obj_damage = 100 max_shield_health = INFINITY else if(GLOB.ratvar_approaches) //Hefty health bonus and slight attack damage increase - health = 200 - maxHealth = 200 melee_damage_upper = 15 melee_damage_lower = 15 attacktext = "carves" diff --git a/code/game/gamemodes/clock_cult/clock_scripture.dm b/code/game/gamemodes/clock_cult/clock_scripture.dm index 049a49f5f4..8a019ed74b 100644 --- a/code/game/gamemodes/clock_cult/clock_scripture.dm +++ b/code/game/gamemodes/clock_cult/clock_scripture.dm @@ -53,6 +53,7 @@ Applications: 8 servants, 3 caches, and 100 CV if(slab.busy) to_chat(invoker, "[slab] refuses to work, displaying the message: \"[slab.busy]!\"") return FALSE + pre_recital() slab.busy = "Invocation ([name]) in progress" if(GLOB.ratvar_awakens) channel_time *= 0.5 //if ratvar has awoken, half channel time and no cost @@ -176,6 +177,9 @@ Applications: 8 servants, 3 caches, and 100 CV /datum/clockwork_scripture/proc/scripture_fail() //Called if the scripture fails to invoke. +/datum/clockwork_scripture/proc/pre_recital() //Called before the scripture is recited + + /datum/clockwork_scripture/proc/post_recital() //Called after the scripture is recited //Channeled scripture begins instantly but runs constantly diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_applications.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_applications.dm index d7aa2777ca..bcb9d1d1df 100644 --- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_applications.dm +++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_applications.dm @@ -7,12 +7,12 @@ /datum/clockwork_scripture/create_object/construct/clockwork_marauder descname = "Well-Rounded Combat Construct" name = "Clockwork Marauder" - desc = "Creates a shell for a clockwork marauder, a balanced frontline construct." + desc = "Creates a shell for a clockwork marauder, a balanced frontline construct that can deflect projectiles with its shield." invocations = list("Arise, avatar of Arbiter!", "Defend the Ark with vengeful zeal.") channel_time = 50 power_cost = 1000 creator_message = "Your slab disgorges several chunks of replicant alloy that form into a suit of thrumming armor." - usage_tip = "The marauder's shield can effectively deflect energy-based projectiles." + usage_tip = "Reciting this scripture multiple times in a short period will cause it to take longer!" tier = SCRIPTURE_APPLICATION one_per_tile = TRUE primary_component = BELLIGERENT_EYE @@ -22,6 +22,9 @@ object_path = /obj/item/clockwork/construct_chassis/clockwork_marauder construct_type = /mob/living/simple_animal/hostile/clockwork/marauder combat_construct = TRUE + var/static/recent_marauders = 0 + var/static/time_since_last_marauder = 0 + var/static/scaled_recital_time = 0 /datum/clockwork_scripture/create_object/construct/clockwork_marauder/update_construct_limit() var/human_servants = 0 @@ -32,15 +35,30 @@ construct_limit = human_servants / 4 //1 per 4 human servants, and a maximum of 3 marauders construct_limit = Clamp(construct_limit, 1, 3) -/datum/clockwork_scripture/create_object/prolonging_prism/check_special_requirements() - if(SSshuttle.emergency.mode == SHUTTLE_DOCKED || SSshuttle.emergency.mode == SHUTTLE_IGNITING || SSshuttle.emergency.mode == SHUTTLE_STRANDED || SSshuttle.emergency.mode == SHUTTLE_ESCAPE) - to_chat(invoker, "\"It is too late to construct one of these, champion.\"") - return FALSE - var/turf/T = get_turf(invoker) - if(!T || !(T.z in GLOB.station_z_levels)) - to_chat(invoker, "\"You must be on the station to construct one of these, champion.\"") - return FALSE - return ..() +/datum/clockwork_scripture/create_object/construct/clockwork_marauder/pre_recital() + channel_time = initial(channel_time) + calculate_scaling() + if(scaled_recital_time) + to_chat(invoker, "The Hierophant Network is under strain from repeated summoning, making this scripture [scaled_recital_time / 10] seconds slower!") + channel_time += scaled_recital_time + return TRUE + +/datum/clockwork_scripture/create_object/construct/clockwork_marauder/scripture_effects() + . = ..() + time_since_last_marauder = world.time + recent_marauders++ + calculate_scaling() + +/datum/clockwork_scripture/create_object/construct/clockwork_marauder/proc/calculate_scaling() + var/WT = world.time + var/MT = time_since_last_marauder //Cast it for quicker reference + var/marauders_to_exclude = 0 + if(world.time >= time_since_last_marauder + MARAUDER_SCRIPTURE_SCALING_THRESHOLD) + marauders_to_exclude = round(WT - MT) / MARAUDER_SCRIPTURE_SCALING_THRESHOLD //If at least 20 seconds have passed, lose one marauder for each 20 seconds + //i.e. world.time = 10000, last marauder = 9000, so we lose 5 marauders from the recent count since 10k - 9k = 1k, 1k / 200 = 5 + time_since_last_marauder = world.time //So that it can't be spammed to make the marauder exclusion plummet; this emulates "ticking" + recent_marauders = max(0, recent_marauders - marauders_to_exclude) + scaled_recital_time = min(recent_marauders * MARAUDER_SCRIPTURE_SCALING_TIME, MARAUDER_SCRIPTURE_SCALING_MAX) //Mania Motor: Creates a malevolent transmitter that will broadcast the whispers of Sevtug into the minds of nearby nonservants, causing a variety of mental effects at a power cost. diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_drivers.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_drivers.dm index a282ac3067..93d203aba0 100644 --- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_drivers.dm +++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_drivers.dm @@ -129,7 +129,11 @@ /datum/clockwork_scripture/abscond/scripture_effects() var/take_pulling = invoker.pulling && isliving(invoker.pulling) && get_clockwork_power(ABSCOND_ABDUCTION_COST) - var/turf/T = get_turf(pick(GLOB.servant_spawns)) + var/turf/T + if(GLOB.ark_of_the_clockwork_justiciar) + T = get_step(GLOB.ark_of_the_clockwork_justiciar, SOUTH) + else + T = get_turf(pick(GLOB.servant_spawns)) invoker.visible_message("[invoker] flickers and phases out of existence!", \ "You feel a dizzying sense of vertigo as you're yanked back to Reebe!") T.visible_message("[invoker] flickers and phases into existence!") diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm index 16a6f3ffd7..a172f4ca41 100644 --- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm +++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm @@ -322,7 +322,7 @@ to_chat(invoker, "You must not be inside an object to use this scripture!") return FALSE var/other_servants = 0 - for(var/mob/living/L in GLOB.living_mob_list) + for(var/mob/living/L in GLOB.alive_mob_list) if(is_servant_of_ratvar(L) && !L.stat && L != invoker) other_servants++ for(var/obj/structure/destructible/clockwork/powered/clockwork_obelisk/O in GLOB.all_clockwork_objects) diff --git a/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm b/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm index 201ce11cf6..0f13ac66ac 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm @@ -134,11 +134,21 @@ var/damage = max((obj_integrity * 0.7) / severity, 100) //requires multiple bombs to take down take_damage(damage, BRUTE, "bomb", 0) +/obj/structure/destructible/clockwork/massive/celestial_gateway/proc/get_arrival_time(var/deciseconds = TRUE) + if(seconds_until_activation) + . = seconds_until_activation + else if(grace_period) + . = grace_period + else if(GATEWAY_RATVAR_ARRIVAL - progress_in_seconds > 0) + . = round(max((GATEWAY_RATVAR_ARRIVAL - progress_in_seconds) / (GATEWAY_SUMMON_RATE), 0), 1) + if(deciseconds) + . *= 10 + /obj/structure/destructible/clockwork/massive/celestial_gateway/proc/get_arrival_text(s_on_time) if(seconds_until_activation) - return "[seconds_until_activation][s_on_time ? "S" : ""]" + return "[get_arrival_time()][s_on_time ? "S" : ""]" if(grace_period) - return "[grace_period][s_on_time ? "S" : ""]" + return "[get_arrival_time()][s_on_time ? "S" : ""]" . = "IMMINENT" if(!obj_integrity) . = "DETONATING" @@ -151,12 +161,12 @@ icon_state = initial(icon_state) if(is_servant_of_ratvar(user) || isobserver(user)) if(!active) - to_chat(user, "Seconds until the Ark's activation: [get_arrival_text(TRUE)]") + to_chat(user, "Time until the Ark's activation: [DisplayTimeText(get_arrival_time())]") else if(grace_period) - to_chat(user, "Crew grace period time remaining: [get_arrival_text(TRUE)]") + to_chat(user, "Crew grace period time remaining: [DisplayTimeText(get_arrival_time())]") else - to_chat(user, "Seconds until Ratvar's arrival: [get_arrival_text(TRUE)]") + to_chat(user, "Time until Ratvar's arrival: [DisplayTimeText(get_arrival_time())]") switch(progress_in_seconds) if(-INFINITY to GATEWAY_REEBE_FOUND) to_chat(user, "The Ark is feeding power into the bluespace field.") @@ -266,15 +276,16 @@ CHECK_TICK /obj/structure/destructible/clockwork/massive/celestial_gateway/attack_ghost(mob/user) - if(!user.client || !user.client.holder) - return + if(!IsAdminGhost(user)) + return ..() if(GLOB.servants_active) to_chat(user, "The Ark is already counting down.") - return + return ..() if(alert(user, "Activate the Ark's countdown?", name, "Yes", "No") == "Yes") if(alert(user, "REALLY activate the Ark's countdown?", name, "Yes", "No") == "Yes") if(alert(user, "You're REALLY SURE? This cannot be undone.", name, "Yes - Activate the Ark", "No") == "Yes - Activate the Ark") message_admins("Admin [key_name_admin(user)] started the Ark's countdown!") + log_admin("Admin [key_name(user)] started the Ark's countdown on a non-clockcult mode!") to_chat(user, "The gamemode is now being treated as clockwork cult, and the Ark is counting down from 30 \ minutes. You will need to create servant players yourself.") final_countdown(35) diff --git a/code/game/gamemodes/clock_cult/clock_structures/heralds_beacon.dm b/code/game/gamemodes/clock_cult/clock_structures/heralds_beacon.dm index a1c75ed3da..9f18ff1669 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/heralds_beacon.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/heralds_beacon.dm @@ -100,7 +100,7 @@ continue C.update_values() to_chat(C, C.empower_string) - for(var/mob/living/carbon/human/H in GLOB.living_mob_list) + for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) if(is_servant_of_ratvar(H)) to_chat(H, "The beacon's power warps your body into a clockwork form! You are now immune to many hazards, and your body is more robust against damage!") H.set_species(/datum/species/golem/clockwork/no_scrap) diff --git a/code/game/gamemodes/clock_cult/clock_structures/ratvar_the_clockwork_justicar.dm b/code/game/gamemodes/clock_cult/clock_structures/ratvar_the_clockwork_justicar.dm index 4850b904c8..b069e55454 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/ratvar_the_clockwork_justicar.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/ratvar_the_clockwork_justicar.dm @@ -67,7 +67,7 @@ T.ratvar_act(TRUE) var/dir_to_step_in = pick(GLOB.cardinals) var/list/meals = list() - for(var/mob/living/L in GLOB.living_mob_list) //we want to know who's alive so we don't lose and retarget a single person + for(var/mob/living/L in GLOB.alive_mob_list) //we want to know who's alive so we don't lose and retarget a single person if(L.z == z && !is_servant_of_ratvar(L) && L.mind) meals += L if(GLOB.cult_narsie && GLOB.cult_narsie.z == z) diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 917b5a81a4..1391f1dbb5 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -1,3 +1,5 @@ +#define CULT_SCALING_COEFFICIENT 9.3 //Roughly one new cultist at roundstart per this many players + /datum/game_mode var/list/datum/mind/cult = list() var/list/cult_objectives = list() @@ -64,7 +66,10 @@ restricted_jobs += "Assistant" //cult scaling goes here - recommended_enemies = 3 + round(num_players()/15) + recommended_enemies = 1 + round(num_players()/CULT_SCALING_COEFFICIENT) + var/remaining = (num_players() % CULT_SCALING_COEFFICIENT) * 10 //Basically the % of how close the population is toward adding another cultis + if(prob(remaining)) + recommended_enemies++ for(var/cultists_number = 1 to recommended_enemies) @@ -256,6 +261,10 @@ SSticker.news_report = CULT_FAILURE text += "
    Objective #[obj_count]: [explanation]" + if(cult.len) + text += "
    The cultists were:" + for(var/datum/mind/M in cult) + text += printplayer(M) to_chat(world, text) ..() return 1 @@ -303,3 +312,5 @@ SSticker.news_report = CULT_FAILURE text += "
    Objective #[obj_count]: [explanation]" to_chat(world, text) + +#undef CULT_SCALING_COEFFICIENT diff --git a/code/game/gamemodes/cult/cult_comms.dm b/code/game/gamemodes/cult/cult_comms.dm index b8cbed5051..530b6ebb20 100644 --- a/code/game/gamemodes/cult/cult_comms.dm +++ b/code/game/gamemodes/cult/cult_comms.dm @@ -40,7 +40,8 @@ else if(!ishuman(user)) title = "Construct" my_message = "[title] [findtextEx(user.name, user.real_name) ? user.name : "[user.real_name] (as [user.name])"]: [message]" - for(var/mob/M in GLOB.mob_list) + for(var/i in GLOB.player_list) + var/mob/M = i if(iscultist(M)) to_chat(M, my_message) else if(M in GLOB.dead_mob_list) diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index 1926aa8f58..da222fe521 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -324,7 +324,7 @@ icon_state = "cult_armor" item_state = "cult_armor" desc = "A heavily-armored exosuit worn by warriors of the Nar-Sien cult. It can withstand hard vacuum." - w_class = WEIGHT_CLASS_SMALL + w_class = WEIGHT_CLASS_BULKY allowed = list(/obj/item/tome, /obj/item/melee/cultblade, /obj/item/tank/internals/) armor = list(melee = 70, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30, fire = 40, acid = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/cult diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index a38a361cf3..be1c2ccaff 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -137,7 +137,7 @@ structure_check() searches for nearby cultist structures required for the invoca for(var/M in invokers) var/mob/living/L = M if(invocation) - L.say(invocation, language = /datum/language/common) + L.say(invocation, language = /datum/language/common, ignore_spam = TRUE) if(invoke_damage) L.apply_damage(invoke_damage, BRUTE) to_chat(L, "[src] saps your strength!") diff --git a/code/game/gamemodes/cult/supply.dm b/code/game/gamemodes/cult/supply.dm index 47807fa93a..3720e496ea 100644 --- a/code/game/gamemodes/cult/supply.dm +++ b/code/game/gamemodes/cult/supply.dm @@ -22,7 +22,7 @@ dat += "
    " for(var/s in possible_summons) var/datum/cult_supply/S = s - dat += "[initial(S.invocation)] - [initial(S.desc)]
    " + dat += "[initial(S.invocation)] - [initial(S.desc)]
    " var/datum/browser/popup = new(user, "talisman", "", 400, 400) popup.set_content(dat.Join("")) popup.open() diff --git a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm index 115f931975..71955e4881 100644 --- a/code/game/gamemodes/cult/talisman.dm +++ b/code/game/gamemodes/cult/talisman.dm @@ -225,8 +225,8 @@ /obj/item/paper/talisman/horror/afterattack(mob/living/target, mob/living/user) if(iscultist(user) && (get_dist(user, target) < 7)) - to_chat(user, "You disturb [target] with visions of madness!") if(iscarbon(target)) + to_chat(user, "You disturb [target] with visions of madness!") var/mob/living/carbon/H = target H.reagents.add_reagent("mindbreaker", 12) if(is_servant_of_ratvar(target)) @@ -234,8 +234,7 @@ target.emote("scream") target.confused = max(0, target.confused + 3) target.flash_act() - qdel(src) - + qdel(src) //Talisman of Fabrication: Creates a construct shell out of 25 metal sheets, or converts plasteel into runed metal up to 25 times /obj/item/paper/talisman/construction diff --git a/code/game/gamemodes/devil/true_devil/_true_devil.dm b/code/game/gamemodes/devil/true_devil/_true_devil.dm index 9b24d096c4..10f0b3393f 100644 --- a/code/game/gamemodes/devil/true_devil/_true_devil.dm +++ b/code/game/gamemodes/devil/true_devil/_true_devil.dm @@ -17,6 +17,7 @@ var/ascended = FALSE sight = (SEE_TURFS | SEE_OBJS) status_flags = CANPUSH + spacewalk = TRUE mob_size = MOB_SIZE_LARGE var/mob/living/oldform var/list/devil_overlays[DEVIL_TOTAL_LAYERS] @@ -135,9 +136,6 @@ "[attack_message]", null, COMBAT_MESSAGE_RANGE) return TRUE -/mob/living/carbon/true_devil/Process_Spacemove(movement_dir = 0) - return 1 - /mob/living/carbon/true_devil/singularity_act() if(ascended) return 0 diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 26c3810b42..0d49a25041 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -160,7 +160,7 @@ if(CONFIG_GET(flag/protect_assistant_from_antagonist)) replacementmode.restricted_jobs += "Assistant" - message_admins("The roundtype will be converted. If you have other plans for the station or feel the station is too messed up to inhabit stop the creation of antags or end the round now.") + message_admins("The roundtype will be converted. If you have other plans for the station or feel the station is too messed up to inhabit stop the creation of antags or end the round now.") . = 1 sleep(rand(600,1800)) @@ -217,7 +217,7 @@ if(living_antag_player && living_antag_player.mind && isliving(living_antag_player) && living_antag_player.stat != DEAD && !isnewplayer(living_antag_player) &&!isbrain(living_antag_player)) return 0 //A resource saver: once we find someone who has to die for all antags to be dead, we can just keep checking them, cycling over everyone only when we lose our mark. - for(var/mob/Player in GLOB.living_mob_list) + for(var/mob/Player in GLOB.alive_mob_list) if(Player.mind && Player.stat != DEAD && !isnewplayer(Player) &&!isbrain(Player) && Player.client) if(Player.mind.special_role || LAZYLEN(Player.mind.antag_datums)) //Someone's still antaging! living_antag_player = Player @@ -407,16 +407,11 @@ ////////////////////////// /proc/display_roundstart_logout_report() var/msg = "Roundstart logout report\n\n" - for(var/mob/living/L in GLOB.mob_list) + for(var/i in GLOB.mob_living_list) + var/mob/living/L = i - if(L.ckey) - var/found = 0 - for(var/client/C in GLOB.clients) - if(C.ckey == L.ckey) - found = 1 - break - if(!found) - msg += "[L.name] ([L.ckey]), the [L.job] (Disconnected)\n" + if(L.ckey && !GLOB.directory[L.ckey]) + msg += "[L.name] ([L.ckey]), the [L.job] (Disconnected)\n" if(L.ckey && L.client) @@ -452,10 +447,8 @@ continue //Ghosted while alive - - for(var/mob/M in GLOB.mob_list) - if(M.client && M.client.holder) - to_chat(M, msg) + for (var/C in GLOB.admins) + to_chat(C, msg) /datum/game_mode/proc/printplayer(datum/mind/ply, fleecheck) var/text = "
    [ply.key] was [ply.name] the [ply.assigned_role] and" @@ -464,8 +457,10 @@ text += " died" else text += " survived" - if(fleecheck && (!(ply.current.z in GLOB.station_z_levels))) - text += " while fleeing the station" + if(fleecheck) + var/turf/T = get_turf(ply.current) + if(!T || !(T.z in GLOB.station_z_levels)) + text += " while fleeing the station" if(ply.current.real_name != ply.name) text += " as [ply.current.real_name]" else @@ -533,4 +528,4 @@ //By default nuke just ends the round /datum/game_mode/proc/OnNukeExplosion(off_station) if(off_station < 2) - station_was_nuked = TRUE //Will end the round on next check. \ No newline at end of file + station_was_nuked = TRUE //Will end the round on next check. diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm index 92dca5d3c9..9be9e59cab 100644 --- a/code/game/gamemodes/malfunction/Malf_Modules.dm +++ b/code/game/gamemodes/malfunction/Malf_Modules.dm @@ -133,9 +133,9 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( dat += "Install Module:
    " dat += "The number afterwards is the amount of processing time it consumes.
    " for(var/datum/AI_Module/large/module in possible_modules) - dat += "[module.module_name]\[?\] ([module.cost])
    " + dat += "[module.module_name]\[?\] ([module.cost])
    " for(var/datum/AI_Module/small/module in possible_modules) - dat += "[module.module_name]\[?\] ([module.cost])
    " + dat += "[module.module_name]\[?\] ([module.cost])
    " dat += "
    " if(temp) dat += "[temp]" @@ -375,7 +375,8 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( /obj/machinery/doomsday_device/proc/detonate(z_level = ZLEVEL_STATION_PRIMARY) sound_to_playing_players('sound/machines/alarm.ogg') sleep(100) - for(var/mob/living/L in GLOB.mob_list) + for(var/i in GLOB.mob_living_list) + var/mob/living/L = i var/turf/T = get_turf(L) if(!T || !(T.z in GLOB.station_z_levels)) continue @@ -679,7 +680,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( C.images -= I /mob/living/silicon/ai/proc/can_place_transformer(datum/action/innate/ai/place_transformer/action) - if(!eyeobj || !isturf(loc) || !canUseTopic() || !action) + if(!eyeobj || !isturf(loc) || incapacitated() || !action) return var/turf/middle = get_turf(eyeobj) var/list/turfs = list(middle, locate(middle.x - 1, middle.y, middle.z), locate(middle.x + 1, middle.y, middle.z)) diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm index 8fead855b2..f136abdfcb 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm @@ -477,7 +477,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} if(ishuman(L)) var/mob/living/carbon/human/H = L species = "[H.dna.species.name]" - if(L.mind && L.mind.changeling) + if(L.mind && L.mind.has_antag_datum(/datum/antagonist/changeling)) species = "Changeling lifeform" var/obj/item/organ/heart/gland/temp = locate() in H.internal_organs if(temp) diff --git a/code/game/gamemodes/miniantags/abduction/machinery/console.dm b/code/game/gamemodes/miniantags/abduction/machinery/console.dm index d44ff57c96..f243f161c3 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/console.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/console.dm @@ -43,20 +43,20 @@ dat += "Collected Samples : [points]
    " dat += "Gear Credits: [credits]
    " dat += "Transfer data in exchange for supplies:
    " - dat += "Advanced Baton
    " - dat += "Agent Helmet
    " - dat += "Agent Vest
    " - dat += "Radio Silencer
    " - dat += "Science Tool
    " + dat += "Advanced Baton
    " + dat += "Agent Helmet
    " + dat += "Agent Vest
    " + dat += "Radio Silencer
    " + dat += "Science Tool
    " else dat += "NO EXPERIMENT MACHINE DETECTED
    " if(pad) dat += "Emergency Teleporter System." dat += "Consider using primary observation console first." - dat += "Activate Teleporter
    " + dat += "Activate Teleporter
    " if(gizmo && gizmo.marked) - dat += "Retrieve Mark
    " + dat += "Retrieve Mark
    " else dat += "Retrieve Mark
    " else @@ -66,15 +66,15 @@ dat += "

    Agent Vest Mode


    " var/mode = vest.mode if(mode == VEST_STEALTH) - dat += "Combat" + dat += "Combat" dat += "Stealth" else dat += "Combat" - dat += "Stealth" + dat += "Stealth" dat+="
    " - dat += "Select Agent Vest Disguise
    " - dat += "[vest.flags_1 & NODROP_1 ? "Unlock" : "Lock"] Vest
    " + dat += "Select Agent Vest Disguise
    " + dat += "[vest.flags_1 & NODROP_1 ? "Unlock" : "Lock"] Vest
    " else dat += "NO AGENT VEST DETECTED" var/datum/browser/popup = new(user, "computer", "Abductor Console", 400, 500) diff --git a/code/game/gamemodes/miniantags/abduction/machinery/dispenser.dm b/code/game/gamemodes/miniantags/abduction/machinery/dispenser.dm index 2b012e5f81..ae095c12e6 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/dispenser.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/dispenser.dm @@ -48,7 +48,7 @@ item_count++ var/g_color = gland_colors[i] var/amount = amounts[i] - dat += "[amount]" + dat += "[amount]" if(item_count == 4) // Four boxes per line dat +="

    " item_count = 0 diff --git a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm index 73a696fb3a..da445b94ce 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm @@ -104,9 +104,9 @@ dat += "
    " dat += "" //Avert your eyes dat += "" - dat += "Probe
    " - dat += "Dissect
    " - dat += "Analyze
    " + dat += "Probe
    " + dat += "Dissect
    " + dat += "Analyze
    " dat += "
    " else dat += "Experiment " @@ -127,8 +127,8 @@ dat += "
    " dat += "[flash]" dat += "
    " - dat += "Scan" - dat += "Close" : "open=1'>Open"]" + dat += "Scan" + dat += "Close" : "open=1'>Open"]" var/datum/browser/popup = new(user, "experiment", "Probing Console", 300, 300) popup.set_title_image(user.browse_rsc_icon(icon, icon_state)) popup.set_content(dat) diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm index c125f7648d..e4e4205db8 100644 --- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm +++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm @@ -654,7 +654,8 @@ /mob/living/simple_animal/hostile/swarmer/proc/swarmer_chat(msg) var/rendered = "Swarm communication - [src] [say_quote(msg, get_spans())]" - for(var/mob/M in GLOB.mob_list) + for(var/i in GLOB.mob_list) + var/mob/M = i if(isswarmer(M)) to_chat(M, rendered) if(isobserver(M)) diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer_event.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer_event.dm index f422dcfcc5..ff426ab625 100644 --- a/code/game/gamemodes/miniantags/bot_swarm/swarmer_event.dm +++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer_event.dm @@ -21,7 +21,8 @@ print_command_report(swarmer_report, announce=TRUE) /datum/round_event/spawn_swarmer/proc/find_swarmer() - for(var/mob/living/M in GLOB.mob_list) - if(istype(M, /mob/living/simple_animal/hostile/swarmer) && M.client) //If there is a swarmer with an active client, we've found our swarmer + for(var/i in GLOB.mob_living_list) + var/mob/living/L = i + if(istype(L, /mob/living/simple_animal/hostile/swarmer) && L.client) //If there is a swarmer with an active client, we've found our swarmer return 1 return 0 diff --git a/code/game/gamemodes/miniantags/monkey/monkey.dm b/code/game/gamemodes/miniantags/monkey/monkey.dm index e53313bbd3..379031dce9 100644 --- a/code/game/gamemodes/miniantags/monkey/monkey.dm +++ b/code/game/gamemodes/miniantags/monkey/monkey.dm @@ -76,7 +76,7 @@ return 0 var/datum/disease/D = new /datum/disease/transformation/jungle_fever() //ugly but unfortunately needed - for(var/mob/living/carbon/human/H in GLOB.living_mob_list) + for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) if(H.mind && H.stat != DEAD) if(H.HasDisease(D)) return 0 @@ -87,7 +87,7 @@ if(SSshuttle.emergency.mode != SHUTTLE_ENDGAME) return 0 var/datum/disease/D = new /datum/disease/transformation/jungle_fever() - for(var/mob/living/carbon/monkey/M in GLOB.living_mob_list) + for(var/mob/living/carbon/monkey/M in GLOB.alive_mob_list) if (M.HasDisease(D)) if(M.onCentCom() || M.onSyndieBase()) escaped_monkeys++ diff --git a/code/game/gamemodes/miniantags/revenant/revenant.dm b/code/game/gamemodes/miniantags/revenant/revenant.dm index e72babc5b0..04a5f4d2be 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant.dm @@ -21,6 +21,7 @@ maxHealth = INFINITY layer = GHOST_LAYER healable = FALSE + spacewalk = TRUE sight = SEE_SELF see_in_dark = 8 @@ -153,8 +154,6 @@ //Immunities -/mob/living/simple_animal/revenant/Process_Spacemove(movement_dir = 0) - return 1 /mob/living/simple_animal/revenant/ex_act(severity, target) return 1 //Immune to the effects of explosions. diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index ecfb6289ec..630a5929d7 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -91,9 +91,11 @@ var/obj/item/device/nuclear_challenge/challenge = new /obj/item/device/nuclear_challenge synd_mind.current.put_in_hands(challenge, TRUE) - var/list/foundIDs = synd_mind.current.search_contents_for(/obj/item/card/id) + var/static/id_cache = typecacheof(/obj/item/card/id) + var/list/foundIDs = typecache_filter_list(synd_mind.current.GetAllContents(), id_cache) if(foundIDs.len) - for(var/obj/item/card/id/ID in foundIDs) + for(var/i in 1 to foundIDs.len) + var/obj/item/card/id/ID = foundIDs[i] ID.name = "lead agent card" ID.access += ACCESS_SYNDICATE_LEADER else diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index 0251d17398..a36503e7c4 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -77,6 +77,7 @@ icon = 'icons/obj/machines/nuke_terminal.dmi' icon_state = "nuclearbomb_base" anchored = TRUE //stops it being moved + use_tag = TRUE /obj/machinery/nuclearbomb/syndicate //ui_style = "syndicate" // actually the nuke op bomb is a stole nt bomb @@ -121,15 +122,7 @@ to_chat(user, "You remove the screws from [src]'s front panel.") update_icon() return - if(NUKESTATE_UNSCREWED) - if(istype(I, /obj/item/crowbar)) - to_chat(user, "You start removing [src]'s front panel...") - playsound(loc, I.usesound, 100, 1) - if(do_after(user,30*I.toolspeed,target=src)) - to_chat(user, "You remove [src]'s front panel.") - deconstruction_state = NUKESTATE_PANEL_REMOVED - update_icon() - return + if(NUKESTATE_PANEL_REMOVED) if(istype(I, /obj/item/weldingtool)) var/obj/item/weldingtool/welder = I @@ -141,16 +134,6 @@ deconstruction_state = NUKESTATE_WELDED update_icon() return - if(NUKESTATE_WELDED) - if(istype(I, /obj/item/crowbar)) - to_chat(user, "You start prying off [src]'s inner plate...") - playsound(loc, I.usesound, 100, 1) - if(do_after(user,50*I.toolspeed,target=src)) - to_chat(user, "You pry off [src]'s inner plate. You can see the core's green glow!") - deconstruction_state = NUKESTATE_CORE_EXPOSED - update_icon() - START_PROCESSING(SSobj, core) - return if(NUKESTATE_CORE_EXPOSED) if(istype(I, /obj/item/nuke_core_container)) var/obj/item/nuke_core_container/core_box = I @@ -181,6 +164,27 @@ return . = ..() +/obj/machinery/nuclearbomb/crowbar_act(mob/user, obj/item/tool) + . = FALSE + switch(deconstruction_state) + if(NUKESTATE_UNSCREWED) + to_chat(user, "You start removing [src]'s front panel...") + playsound(loc, tool.usesound, 100, 1) + if(do_after(user, 30 * tool.toolspeed, target = src)) + to_chat(user, "You remove [src]'s front panel.") + deconstruction_state = NUKESTATE_PANEL_REMOVED + update_icon() + return TRUE + if(NUKESTATE_WELDED) + to_chat(user, "You start prying off [src]'s inner plate...") + playsound(loc, tool.usesound, 100, 1) + if(do_after(user, 50 * tool.toolspeed, target = src)) + to_chat(user, "You pry off [src]'s inner plate. You can see the core's green glow!") + deconstruction_state = NUKESTATE_CORE_EXPOSED + update_icon() + START_PROCESSING(SSobj, core) + return TRUE + /obj/machinery/nuclearbomb/proc/get_nuke_state() if(exploding) return NUKE_ON_EXPLODING diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index cd3b2ba2b2..d1c8d0193d 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -586,7 +586,7 @@ GLOBAL_LIST_EMPTY(possible_items_special) n_p ++ else if (SSticker.IsRoundInProgress()) for(var/mob/living/carbon/human/P in GLOB.player_list) - if(P.client && !(P.mind in SSticker.mode.changelings) && !(P.mind in owners)) + if(P.client && !(P.mind.has_antag_datum(/datum/antagonist/changeling)) && !(P.mind in owners)) n_p ++ target_amount = min(target_amount, n_p) @@ -597,9 +597,12 @@ GLOBAL_LIST_EMPTY(possible_items_special) var/list/datum/mind/owners = get_owners() var/absorbedcount = 0 for(var/datum/mind/M in owners) - if(!owner || !owner.changeling || !owner.changeling.stored_profiles) + if(!M) continue - absorbedcount += M.changeling.absorbedcount + var/datum/antagonist/changeling/changeling = M.has_antag_datum(/datum/antagonist/changeling) + if(!changeling || !changeling.stored_profiles) + continue + absorbedcount += changeling.absorbedcount return absorbedcount >= target_amount @@ -696,10 +699,11 @@ GLOBAL_LIST_EMPTY(possible_items_special) if("Chief Medical Officer") department_string = "medical" - var/ling_count = SSticker.mode.changelings + var/list/lings = get_antagonists(/datum/antagonist/changeling,TRUE) + var/ling_count = lings.len for(var/datum/mind/M in SSticker.minds) - if(M in SSticker.mode.changelings) + if(M in lings) continue if(department_head in get_department_heads(M.assigned_role)) if(ling_count) @@ -723,13 +727,13 @@ GLOBAL_LIST_EMPTY(possible_items_special) //Needed heads is between min_lings and the maximum possible amount of command roles //So at the time of writing, rand(3,6), it's also capped by the amount of lings there are //Because you can't fill 6 head roles with 3 lings - + var/list/lings = get_antagonists(/datum/antagonist/changeling,TRUE) var/needed_heads = rand(min_lings,GLOB.command_positions.len) - needed_heads = min(SSticker.mode.changelings.len,needed_heads) + needed_heads = min(lings.len,needed_heads) var/list/heads = SSjob.get_living_heads() for(var/datum/mind/head in heads) - if(head in SSticker.mode.changelings) //Looking at you HoP. + if(head in lings) //Looking at you HoP. continue if(needed_heads) department_minds += head @@ -789,7 +793,7 @@ GLOBAL_LIST_EMPTY(possible_items_special) //Check each department member's mind to see if any of them made it to centcom alive, if they did it's an automatic fail for(var/datum/mind/M in department_minds) - if(M in SSticker.mode.changelings) //Lings aren't picked for this, but let's be safe + if(M.has_antag_datum(/datum/antagonist/changeling)) //Lings aren't picked for this, but let's be safe continue if(M.current) @@ -800,7 +804,7 @@ GLOBAL_LIST_EMPTY(possible_items_special) //Check each staff member has been replaced, by cross referencing changeling minds, changeling current dna, the staff minds and their original DNA names var/success = 0 changelings: - for(var/datum/mind/changeling in SSticker.mode.changelings) + for(var/datum/mind/changeling in get_antagonists(/datum/antagonist/changeling,TRUE)) if(success >= department_minds.len) //We did it, stop here! return 1 if(ishuman(changeling.current)) diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index c2ce2a2d78..4fa9532b42 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -194,7 +194,7 @@ if(headrevs.len) var/num_revs = 0 var/num_survivors = 0 - for(var/mob/living/carbon/survivor in GLOB.living_mob_list) + for(var/mob/living/carbon/survivor in GLOB.alive_mob_list) if(survivor.ckey) num_survivors++ if(survivor.mind) diff --git a/code/game/gamemodes/sandbox/airlock_maker.dm b/code/game/gamemodes/sandbox/airlock_maker.dm index aafbffa82e..863d92899b 100644 --- a/code/game/gamemodes/sandbox/airlock_maker.dm +++ b/code/game/gamemodes/sandbox/airlock_maker.dm @@ -1,139 +1,139 @@ -/* - This is for the sandbox for now, - maybe useful later for an actual thing? - -Sayu -*/ - -/obj/structure/door_assembly - var/datum/airlock_maker/maker = null - -/obj/structure/door_assembly/attack_hand() - ..() - if(maker) - maker.interact() - -/datum/airlock_maker - var/obj/structure/door_assembly/linked = null - - var/list/access_used = null - var/require_all = 1 - - var/paintjob = "none" - var/glassdoor = 0 - - var/doorname = "airlock" - -/datum/airlock_maker/New(var/atom/target_loc) - linked = new(target_loc) - linked.maker = src - linked.anchored = FALSE - access_used = list() - - interact() - -/datum/airlock_maker/proc/linkpretty(href,desc,active) - if(!desc) - var/static/list/defaults = list("No","Yes") - desc = defaults[active+1] - if(active) - return "[desc]" - return "[desc]" - -/datum/airlock_maker/proc/interact() - var/list/leftcolumn = list() - var/list/rightcolumn = list() - leftcolumn += "Required Access" - for(var/access in get_all_accesses()) - leftcolumn += linkpretty("access=[access]",get_access_desc(access),access in access_used) - leftcolumn += "Require all listed accesses: [linkpretty("reqall",null,require_all)]" - - rightcolumn += "Paintjob" - for(var/option in list("none","engineering","atmos","security","command","medical","research","mining","maintenance","external","highsecurity")) - rightcolumn += linkpretty("paint=[option]",option,option == paintjob) - rightcolumn += "Glass door: " + linkpretty("glass",null,glassdoor) + "

    " - var/length = max(leftcolumn.len,rightcolumn.len) - - var/dat = "You may move the model airlock around. A new airlock will be built in its space when you click done, below.

    " - dat += "Door name: \"[doorname]\"" - dat += "" - for(var/i=1; i<=length; i++) - dat += "" - - dat += "
    " - if(i<=leftcolumn.len) - dat += leftcolumn[i] - dat += "" - if(i<=rightcolumn.len) - dat += rightcolumn[i] - dat += "

    Finalize Airlock Construction | Cancel and Destroy Airlock" - usr << browse(dat,"window=airlockmaker") - -/datum/airlock_maker/Topic(var/href,var/list/href_list) - if(!usr) - return - if(!src || !linked || !linked.loc) - usr << browse(null,"window=airlockmaker") - return - - if("rename" in href_list) - var/newname = stripped_input(usr,"New airlock name:","Name the airlock",doorname) - if(newname) - doorname = newname - if("access" in href_list) - var/value = text2num(href_list["access"]) - access_used ^= value - if("reqall" in href_list) - require_all = !require_all - if("paint" in href_list) - paintjob = href_list["paint"] - if("glass" in href_list) - glassdoor = !glassdoor - - if("cancel" in href_list) - usr << browse(null,"window=airlockmaker") - qdel(linked) - qdel(src) - return - - if("done" in href_list) - usr << browse(null,"window=airlockmaker") - var/turf/t_loc = linked.loc - qdel(linked) - if(!istype(t_loc)) - return - - var/target_type = "/obj/machinery/door/airlock" - if(glassdoor) - if(paintjob != "none") - if(paintjob in list("external","highsecurity","maintenance")) // no glass version - target_type += "/[paintjob]" - else - target_type += "/glass_[paintjob]" - else - target_type += "/glass" - else if(paintjob != "none") - target_type += "/[paintjob]" - var/final = target_type - target_type = text2path(final) - if(!target_type) - to_chat(usr, "Didn't work, contact Sayu with this: [final]") - usr << browse(null,"window=airlockmaker") - return - - var/obj/machinery/door/D = new target_type(t_loc) - - D.name = doorname - - if(access_used.len == 0) - D.req_access = null - D.req_one_access = null - else if(require_all) - D.req_access = access_used.Copy() - D.req_one_access = null - else - D.req_access = null - D.req_one_access = access_used.Copy() - - return - - interact() +/* + This is for the sandbox for now, + maybe useful later for an actual thing? + -Sayu +*/ + +/obj/structure/door_assembly + var/datum/airlock_maker/maker = null + +/obj/structure/door_assembly/attack_hand() + ..() + if(maker) + maker.interact() + +/datum/airlock_maker + var/obj/structure/door_assembly/linked = null + + var/list/access_used = null + var/require_all = 1 + + var/paintjob = "none" + var/glassdoor = 0 + + var/doorname = "airlock" + +/datum/airlock_maker/New(var/atom/target_loc) + linked = new(target_loc) + linked.maker = src + linked.anchored = FALSE + access_used = list() + + interact() + +/datum/airlock_maker/proc/linkpretty(href,desc,active) + if(!desc) + var/static/list/defaults = list("No","Yes") + desc = defaults[active+1] + if(active) + return "[desc]" + return "[desc]" + +/datum/airlock_maker/proc/interact() + var/list/leftcolumn = list() + var/list/rightcolumn = list() + leftcolumn += "Required Access" + for(var/access in get_all_accesses()) + leftcolumn += linkpretty("access=[access]",get_access_desc(access),access in access_used) + leftcolumn += "Require all listed accesses: [linkpretty("reqall",null,require_all)]" + + rightcolumn += "Paintjob" + for(var/option in list("none","engineering","atmos","security","command","medical","research","mining","maintenance","external","highsecurity")) + rightcolumn += linkpretty("paint=[option]",option,option == paintjob) + rightcolumn += "Glass door: " + linkpretty("glass",null,glassdoor) + "

    " + var/length = max(leftcolumn.len,rightcolumn.len) + + var/dat = "You may move the model airlock around. A new airlock will be built in its space when you click done, below.

    " + dat += "Door name: \"[doorname]\"" + dat += "" + for(var/i=1; i<=length; i++) + dat += "" + + dat += "
    " + if(i<=leftcolumn.len) + dat += leftcolumn[i] + dat += "" + if(i<=rightcolumn.len) + dat += rightcolumn[i] + dat += "

    Finalize Airlock Construction | Cancel and Destroy Airlock" + usr << browse(dat,"window=airlockmaker") + +/datum/airlock_maker/Topic(var/href,var/list/href_list) + if(!usr) + return + if(!src || !linked || !linked.loc) + usr << browse(null,"window=airlockmaker") + return + + if("rename" in href_list) + var/newname = stripped_input(usr,"New airlock name:","Name the airlock",doorname) + if(newname) + doorname = newname + if("access" in href_list) + var/value = text2num(href_list["access"]) + access_used ^= value + if("reqall" in href_list) + require_all = !require_all + if("paint" in href_list) + paintjob = href_list["paint"] + if("glass" in href_list) + glassdoor = !glassdoor + + if("cancel" in href_list) + usr << browse(null,"window=airlockmaker") + qdel(linked) + qdel(src) + return + + if("done" in href_list) + usr << browse(null,"window=airlockmaker") + var/turf/t_loc = linked.loc + qdel(linked) + if(!istype(t_loc)) + return + + var/target_type = "/obj/machinery/door/airlock" + if(glassdoor) + if(paintjob != "none") + if(paintjob in list("external","highsecurity","maintenance")) // no glass version + target_type += "/[paintjob]" + else + target_type += "/glass_[paintjob]" + else + target_type += "/glass" + else if(paintjob != "none") + target_type += "/[paintjob]" + var/final = target_type + target_type = text2path(final) + if(!target_type) + to_chat(usr, "Didn't work, contact Sayu with this: [final]") + usr << browse(null,"window=airlockmaker") + return + + var/obj/machinery/door/D = new target_type(t_loc) + + D.name = doorname + + if(access_used.len == 0) + D.req_access = null + D.req_one_access = null + else if(require_all) + D.req_access = access_used.Copy() + D.req_one_access = null + else + D.req_access = null + D.req_one_access = access_used.Copy() + + return + + interact() diff --git a/code/game/gamemodes/sandbox/h_sandbox.dm b/code/game/gamemodes/sandbox/h_sandbox.dm index 15cd346b2d..cf2b867941 100644 --- a/code/game/gamemodes/sandbox/h_sandbox.dm +++ b/code/game/gamemodes/sandbox/h_sandbox.dm @@ -77,26 +77,26 @@ GLOBAL_VAR_INIT(hsboxspawn, TRUE) hsbinfo = "
    Sandbox Panel

    " if(admin) hsbinfo += "Administration
    " - hsbinfo += "- Toggle Object Spawning
    " - hsbinfo += "- Toggle Item Spawn Panel Auto-close
    " + hsbinfo += "- Toggle Object Spawning
    " + hsbinfo += "- Toggle Item Spawn Panel Auto-close
    " hsbinfo += "Canister Spawning
    " - hsbinfo += "- Spawn Plasma Canister
    " - hsbinfo += "- Spawn CO2 Canister
    " - hsbinfo += "- Spawn Nitrogen Canister
    " - hsbinfo += "- Spawn N2O Canister
    " + hsbinfo += "- Spawn Plasma Canister
    " + hsbinfo += "- Spawn CO2 Canister
    " + hsbinfo += "- Spawn Nitrogen Canister
    " + hsbinfo += "- Spawn N2O Canister
    " else hsbinfo += "Some item spawning may be disabled by the administrators.
    " hsbinfo += "Only administrators may spawn dangerous canisters.
    " for(var/T in hrefs) var/href = hrefs[T] if(href) - hsbinfo += "- [T]
    " + hsbinfo += "- [T]
    " else hsbinfo += "
    [T]
    " hsbinfo += "
    " - hsbinfo += "- Spawn Clothing...
    " - hsbinfo += "- Spawn Reagent Container...
    " - hsbinfo += "- Spawn Other Item...

    " + hsbinfo += "- Spawn Clothing...
    " + hsbinfo += "- Spawn Reagent Container...
    " + hsbinfo += "- Spawn Other Item...

    " usr << browse(hsbinfo, "window=hsbpanel") @@ -235,12 +235,12 @@ GLOBAL_VAR_INIT(hsboxspawn, TRUE) if(!GLOB.hsboxspawn) return if(!clothinfo) - clothinfo = "Clothing (Reagent Containers) (Other Items)

    " + clothinfo = "Clothing (Reagent Containers) (Other Items)

    " var/list/all_items = subtypesof(/obj/item/clothing) for(var/typekey in spawn_forbidden) all_items -= typesof(typekey) for(var/O in reverseRange(all_items)) - clothinfo += "[O]
    " + clothinfo += "[O]
    " usr << browse(clothinfo,"window=sandbox") @@ -249,12 +249,12 @@ GLOBAL_VAR_INIT(hsboxspawn, TRUE) if(!GLOB.hsboxspawn) return if(!reaginfo) - reaginfo = "Reagent Containers (Clothing) (Other Items)

    " + reaginfo = "Reagent Containers (Clothing) (Other Items)

    " var/list/all_items = subtypesof(/obj/item/reagent_containers) for(var/typekey in spawn_forbidden) all_items -= typesof(typekey) for(var/O in reverseRange(all_items)) - reaginfo += "[O]
    " + reaginfo += "[O]
    " usr << browse(reaginfo,"window=sandbox") @@ -263,13 +263,13 @@ GLOBAL_VAR_INIT(hsboxspawn, TRUE) if(!GLOB.hsboxspawn) return if(!objinfo) - objinfo = "Other Items (Clothing) (Reagent Containers)

    " + objinfo = "Other Items (Clothing) (Reagent Containers)

    " var/list/all_items = subtypesof(/obj/item/) - typesof(/obj/item/clothing) - typesof(/obj/item/reagent_containers) for(var/typekey in spawn_forbidden) all_items -= typesof(typekey) for(var/O in reverseRange(all_items)) - objinfo += "[O]
    " + objinfo += "[O]
    " usr << browse(objinfo,"window=sandbox") diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index 62e922f62a..a4229942c5 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -83,7 +83,7 @@ /datum/game_mode/traitor/proc/add_latejoin_traitor(datum/mind/character) var/datum/antagonist/traitor/new_antag = new antag_datum(character) new_antag.should_specialise = TRUE - character.add_antag_datum(antag_datum) + character.add_antag_datum(new_antag) @@ -144,6 +144,7 @@ else text += "
    The [special_role_text] has failed!" SSblackbox.add_details("traitor_success","FAIL") + SEND_SOUND(traitor.current, 'sound/ambience/ambifailure.ogg') text += "
    " diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index ced6ebbd35..3007ec51ba 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -288,7 +288,7 @@ possible = list() if(!link) return - for(var/mob/living/carbon/human/H in GLOB.living_mob_list) + for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) if(md5(H.dna.uni_identity) in link.fingerprints) possible |= H diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index 776b5d6981..484961b6f8 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -212,7 +212,7 @@ /proc/makeNewConstruct(mob/living/simple_animal/hostile/construct/ctype, mob/target, mob/stoner = null, cultoverride = 0, loc_override = null) var/mob/living/simple_animal/hostile/construct/newstruct = new ctype((loc_override) ? (loc_override) : (get_turf(target))) if(stoner) - newstruct.faction |= "\ref[stoner]" + newstruct.faction |= "[REF(stoner)]" newstruct.master = stoner var/datum/action/innate/seek_master/SM = new() SM.Grant(newstruct) @@ -244,7 +244,7 @@ S.key = T.key S.language_holder = U.language_holder.copy(S) if(U) - S.faction |= "\ref[U]" //Add the master as a faction, allowing inter-mob cooperation + S.faction |= "[REF(U)]" //Add the master as a faction, allowing inter-mob cooperation if(U && iscultist(U)) SSticker.mode.add_cultist(S.mind, 0) S.cancel_camera() diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index 0838bfeed6..5b87255d37 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -425,7 +425,7 @@ /datum/spellbook_entry/item/warpwhistle name = "Warp Whistle" - desc = "A strange whistle that will transport you to a distant safe place on the station. There is a window of vulnerability at the begining of every use." + desc = "A strange whistle that will transport you to a distant safe place on the station. There is a window of vulnerability at the beginning of every use." item_path = /obj/item/warpwhistle category = "Mobility" cost = 1 @@ -652,7 +652,7 @@ var/list/cat_dat = list() for(var/category in categories) cat_dat[category] = "
    " - dat += "
  • [category]
  • " + dat += "
  • [category]
  • " dat += "
  • Points remaining : [uses]
  • " dat += "" @@ -663,11 +663,11 @@ E = entries[i] spell_info += E.GetInfo() if(E.CanBuy(user,src)) - spell_info+= "[E.buy_word]
    " + spell_info+= "[E.buy_word]
    " else spell_info+= "Can't [E.buy_word]
    " if(E.CanRefund(user,src)) - spell_info+= "Refund
    " + spell_info+= "Refund
    " spell_info += "
    " if(cat_dat[E.category]) cat_dat[E.category] += spell_info diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 60260d2a4f..97a41098f2 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -28,12 +28,6 @@ Class Variables: component_parts (list) A list of component parts of machine used by frame based machines. - uid (num) - Unique id of machine across all machines. - - gl_uid (global num) - Next uid value in sequence - stat (bitflag) Machine status bit flags. Possible bit flags: @@ -77,9 +71,6 @@ Class Procs: Default definition does nothing. - assign_uid() 'game/machinery/machine.dm' - Called by machine to assign a value to the uid variable. - process() 'game/machinery/machine.dm' Called by the 'machinery subsystem' once per machinery tick for each machine that is listed in its 'machines' list. @@ -112,17 +103,14 @@ Class Procs: var/power_channel = EQUIP //EQUIP,ENVIRON or LIGHT var/list/component_parts = null //list of all the parts used to build it, if made from certain kinds of frames. - var/uid - var/global/gl_uid = 1 var/panel_open = FALSE var/state_open = FALSE var/critical_machine = FALSE //If this machine is critical to station operation and should have the area be excempted from power failures. var/list/occupant_typecache //if set, turned into typecache in Initialize, other wise, defaults to mob/living typecache var/atom/movable/occupant = null - var/unsecuring_tool = /obj/item/wrench var/interact_open = FALSE // Can the machine be interacted with when in maint/when the panel is open. var/interact_offline = 0 // Can the machine be interacted with while de-powered. - var/speed_process = 0 // Process as fast as possible? + var/speed_process = FALSE // Process as fast as possible? var/obj/item/circuitboard/circuit // Circuit to be created and inserted when the machinery is created /obj/machinery/Initialize() @@ -303,10 +291,6 @@ Class Procs: /obj/machinery/proc/RefreshParts() //Placeholder proc for machines that are built using frames. return -/obj/machinery/proc/assign_uid() - uid = gl_uid - gl_uid++ - /obj/machinery/proc/default_pry_open(obj/item/crowbar/C) . = !(state_open || panel_open || is_operational() || (flags_1 & NODECONSTRUCT_1)) && istype(C) if(.) @@ -506,3 +490,19 @@ Class Procs: . = ..() if (AM == occupant) occupant = null + +/obj/machinery/proc/adjust_item_drop_location(atom/movable/AM) // Adjust item drop location to a 3x3 grid inside the tile, returns slot id from 0 to 8 + var/md5 = md5(AM.name) // Oh, and it's deterministic too. A specific item will always drop from the same slot. + for (var/i in 1 to 32) + #if DM_VERSION >= 513 + #warning 512 is definitely stable now, remove the old code + #endif + + #if DM_VERSION >= 512 + . += hex2num(md5[i]) + #else + . += hex2num(copytext(md5,i,i+1)) + #endif + . = . % 9 + AM.pixel_x = -8 + ((.%3)*8) + AM.pixel_y = -8 + (round( . / 3)*8) \ No newline at end of file diff --git a/code/game/machinery/announcement_system.dm b/code/game/machinery/announcement_system.dm index 673591aef1..84a18e3352 100644 --- a/code/game/machinery/announcement_system.dm +++ b/code/game/machinery/announcement_system.dm @@ -107,8 +107,8 @@ GLOBAL_LIST_EMPTY(announcement_systems) return - var/contents = "Arrival Announcement: ([(arrivalToggle ? "On" : "Off")])
    \n[arrival]

    \n" - contents += "Departmental Head Announcement: ([(newheadToggle ? "On" : "Off")])
    \n[newhead]

    \n" + var/contents = "Arrival Announcement: ([(arrivalToggle ? "On" : "Off")])
    \n[arrival]

    \n" + contents += "Departmental Head Announcement: ([(newheadToggle ? "On" : "Off")])
    \n[newhead]

    \n" var/datum/browser/popup = new(user, "announcement_config", "Automated Announcement Configuration", 370, 220) popup.set_content(contents) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 44c6812d05..d783be292e 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -240,8 +240,8 @@ var/dat = "

    Autolathe Menu:


    " dat += materials_printout() - dat += "
    \ - \ + dat += "\ + \ \ \ \ @@ -256,14 +256,14 @@ dat += "" line_length = 1 - dat += "[C]" + dat += "[C]" line_length++ dat += "
    " return dat /obj/machinery/autolathe/proc/category_win(mob/user,selected_category) - var/dat = "Return to main menu" + var/dat = "Return to main menu" dat += "

    Browsing [selected_category]:


    " dat += materials_printout() @@ -275,22 +275,22 @@ if(disabled || !can_build(D)) dat += "[D.name]" else - dat += "[D.name]" + dat += "[D.name]" if(ispath(D.build_path, /obj/item/stack)) GET_COMPONENT(materials, /datum/component/material_container) var/max_multiplier = min(D.maxstack, D.materials[MAT_METAL] ?round(materials.amount(MAT_METAL)/D.materials[MAT_METAL]):INFINITY,D.materials[MAT_GLASS]?round(materials.amount(MAT_GLASS)/D.materials[MAT_GLASS]):INFINITY) if (max_multiplier>10 && !disabled) - dat += " x10" + dat += " x10" if (max_multiplier>25 && !disabled) - dat += " x25" + dat += " x25" if(max_multiplier > 0 && !disabled) - dat += " x[max_multiplier]" + dat += " x[max_multiplier]" else if(!disabled && can_build(D, 5)) - dat += " x5" + dat += " x5" if(!disabled && can_build(D, 10)) - dat += " x10" + dat += " x10" dat += "[get_design_cost(D)]
    " @@ -298,7 +298,7 @@ return dat /obj/machinery/autolathe/proc/search_win(mob/user) - var/dat = "Return to main menu" + var/dat = "Return to main menu" dat += "

    Search results:


    " dat += materials_printout() @@ -307,17 +307,17 @@ if(disabled || !can_build(D)) dat += "[D.name]" else - dat += "[D.name]" + dat += "[D.name]" if(ispath(D.build_path, /obj/item/stack)) GET_COMPONENT(materials, /datum/component/material_container) var/max_multiplier = min(D.maxstack, D.materials[MAT_METAL] ?round(materials.amount(MAT_METAL)/D.materials[MAT_METAL]):INFINITY,D.materials[MAT_GLASS]?round(materials.amount(MAT_GLASS)/D.materials[MAT_GLASS]):INFINITY) if (max_multiplier>10 && !disabled) - dat += " x10" + dat += " x10" if (max_multiplier>25 && !disabled) - dat += " x25" + dat += " x25" if(max_multiplier > 0 && !disabled) - dat += " x[max_multiplier]" + dat += " x[max_multiplier]" dat += "[get_design_cost(D)]
    " diff --git a/code/game/machinery/bank_machine.dm b/code/game/machinery/bank_machine.dm index 9d446aa77c..b8d20b0c59 100644 --- a/code/game/machinery/bank_machine.dm +++ b/code/game/machinery/bank_machine.dm @@ -62,11 +62,11 @@ var/dat = "[world.name] secure vault. Authorized personnel only.
    " dat += "Current Balance: [SSshuttle.points] credits.
    " if(!siphoning) - dat += "Siphon Credits
    " + dat += "Siphon Credits
    " else - dat += "Halt Credit Siphon
    " + dat += "Halt Credit Siphon
    " - dat += "Close" + dat += "Close" var/datum/browser/popup = new(user, "computer", "Bank Vault", 300, 200) popup.set_content("
    [dat]
    ") diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 80d50cfb17..23bfc72f87 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -26,6 +26,7 @@ var/invuln = null var/obj/item/device/camera_bug/bug = null var/obj/structure/camera_assembly/assembly = null + var/area/myarea = null //OTHER @@ -47,6 +48,9 @@ assembly.state = 4 GLOB.cameranet.cameras += src GLOB.cameranet.addCamera(src) + if (isturf(loc)) + myarea = get_area(src) + LAZYADD(myarea.cameras, src) proximity_monitor = new(src, 1) if(mapload && (z in GLOB.station_z_levels) && prob(3) && !start_active) @@ -54,6 +58,8 @@ /obj/machinery/camera/Destroy() toggle_cam(null, 0) //kick anyone viewing out + if(isarea(myarea)) + LAZYREMOVE(myarea.cameras, src) if(assembly) qdel(assembly) assembly = null @@ -64,7 +70,6 @@ bug = null GLOB.cameranet.removeCamera(src) //Will handle removal from the camera network and the chunks, so we don't need to worry about that GLOB.cameranet.cameras -= src - GLOB.cameranet.removeCamera(src) return ..() /obj/machinery/camera/emp_act(severity) @@ -92,11 +97,12 @@ GLOB.cameranet.addCamera(src) emped = 0 //Resets the consecutive EMP count addtimer(CALLBACK(src, .proc/cancelCameraAlarm), 100) - for(var/mob/O in GLOB.mob_list) - if (O.client && O.client.eye == src) - O.unset_machine() - O.reset_perspective(null) - to_chat(O, "The screen bursts into static.") + for(var/i in GLOB.player_list) + var/mob/M = i + if (M.client.eye == src) + M.unset_machine() + M.reset_perspective(null) + to_chat(M, "The screen bursts into static.") ..() /obj/machinery/camera/tesla_act(var/power)//EMP proof upgrade also makes it tesla immune @@ -119,6 +125,11 @@ return user.electrocute_act(10, src) +/obj/machinery/camera/singularity_pull(S, current_size) + if (status && current_size >= STAGE_FIVE) // If the singulo is strong enough to pull anchored objects and the camera is still active, turn off the camera as it gets ripped off the wall. + toggle_cam(null, 0) + ..() + /obj/machinery/camera/attackby(obj/item/W, mob/living/user, params) var/msg = "You attach [W] into the assembly's inner circuits." var/msg2 = "[src] already has that upgrade!" @@ -203,7 +214,7 @@ if(U.name == "Unknown") to_chat(AI, "[U] holds \a [itemname] up to one of your cameras ...") else - to_chat(AI, "[U] holds \a [itemname] up to one of your cameras ...") + to_chat(AI, "[U] holds \a [itemname] up to one of your cameras ...") AI.last_paper_seen = "[itemname][info]" else if (O.client && O.client.eye == src) to_chat(O, "[U] holds \a [itemname] up to one of the cameras ...") @@ -268,9 +279,16 @@ status = !status if(can_use()) GLOB.cameranet.addCamera(src) + if (isturf(loc)) + myarea = get_area(src) + LAZYADD(myarea.cameras, src) + else + myarea = null else set_light(0) GLOB.cameranet.removeCamera(src) + if (isarea(myarea)) + LAZYREMOVE(myarea.cameras, src) GLOB.cameranet.updateChunk(x, y, z) var/change_msg = "deactivates" if(status) @@ -298,12 +316,12 @@ /obj/machinery/camera/proc/triggerCameraAlarm() alarm_on = TRUE - for(var/mob/living/silicon/S in GLOB.mob_list) + for(var/mob/living/silicon/S in GLOB.silicon_mobs) S.triggerAlarm("Camera", get_area(src), list(src), src) /obj/machinery/camera/proc/cancelCameraAlarm() alarm_on = FALSE - for(var/mob/living/silicon/S in GLOB.mob_list) + for(var/mob/living/silicon/S in GLOB.silicon_mobs) S.cancelAlarm("Camera", get_area(src), src) /obj/machinery/camera/proc/can_use() diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index 5b828af820..1424944633 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -45,14 +45,6 @@ anchored = TRUE state = 2 return - - else if(istype(W, /obj/item/wrench)) - playsound(src.loc, W.usesound, 50, 1) - to_chat(user, "You unattach the assembly from its place.") - new /obj/item/wallframe/camera(get_turf(src)) - qdel(src) - return - if(2) // State 2 if(istype(W, /obj/item/stack/cable_coil)) @@ -73,40 +65,6 @@ anchored = TRUE return - - if(3) - // State 3 - if(istype(W, /obj/item/screwdriver)) - playsound(src.loc, W.usesound, 50, 1) - - var/input = stripped_input(user, "Which networks would you like to connect this camera to? Separate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret ", "Set Network", "SS13") - if(!input) - to_chat(user, "No input found, please hang up and try your call again!") - return - - var/list/tempnetwork = splittext(input, ",") - if(tempnetwork.len < 1) - to_chat(user, "No network found, please hang up and try your call again!") - return - - state = 4 - var/obj/machinery/camera/C = new(src.loc) - forceMove(C) - C.assembly = src - C.setDir(src.dir) - - C.network = tempnetwork - var/area/A = get_area(src) - C.c_tag = "[A.name] ([rand(1, 999)])" - - - else if(istype(W, /obj/item/wirecutters)) - new/obj/item/stack/cable_coil(get_turf(src), 2) - playsound(src.loc, W.usesound, 50, 1) - to_chat(user, "You cut the wires from the circuits.") - state = 2 - return - // Upgrades! if(is_type_in_typecache(W, possible_upgrades) && !is_type_in_list(W, upgrades)) // Is a possible upgrade and isn't in the camera already. if(!user.transferItemToLoc(W, src)) @@ -115,18 +73,62 @@ upgrades += W return - // Taking out upgrades - else if(istype(W, /obj/item/crowbar) && upgrades.len) - var/obj/U = locate(/obj) in upgrades - if(U) - to_chat(user, "You unattach an upgrade from the assembly.") - playsound(src.loc, W.usesound, 50, 1) - U.forceMove(drop_location()) - upgrades -= U - return - return ..() +/obj/structure/camera_assembly/crowbar_act(mob/user, obj/item/tool) + if(!upgrades.len) + return FALSE + var/obj/U = locate(/obj) in upgrades + if(U) + to_chat(user, "You unattach an upgrade from the assembly.") + playsound(src, tool.usesound, 50, 1) + U.forceMove(drop_location()) + upgrades -= U + return TRUE + +/obj/structure/camera_assembly/screwdriver_act(mob/user, obj/item/tool) + if(state != 3) + return FALSE + + playsound(src, tool.usesound, 50, 1) + var/input = stripped_input(user, "Which networks would you like to connect this camera to? Separate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret ", "Set Network", "SS13") + if(!input) + to_chat(user, "No input found, please hang up and try your call again!") + return + var/list/tempnetwork = splittext(input, ",") + if(tempnetwork.len < 1) + to_chat(user, "No network found, please hang up and try your call again!") + return + state = 4 + var/obj/machinery/camera/C = new(src.loc) + forceMove(C) + C.assembly = src + C.setDir(src.dir) + + C.network = tempnetwork + var/area/A = get_area(src) + C.c_tag = "[A.name] ([rand(1, 999)])" + return TRUE + +/obj/structure/camera_assembly/wirecutter_act(mob/user, obj/item/tool) + if(state != 3) + return FALSE + + new /obj/item/stack/cable_coil(get_turf(src), 2) + playsound(src, tool.usesound, 50, 1) + to_chat(user, "You cut the wires from the circuits.") + state = 2 + return TRUE + +/obj/structure/camera_assembly/wrench_act(mob/user, obj/item/tool) + if(state != 1) + return FALSE + playsound(src, tool.usesound, 50, 1) + to_chat(user, "You unattach the assembly from its place.") + new /obj/item/wallframe/camera(get_turf(src)) + qdel(src) + return TRUE + /obj/structure/camera_assembly/proc/weld(obj/item/weldingtool/WT, mob/living/user) if(!WT.remove_fuel(0, user)) return 0 diff --git a/code/game/machinery/camera/motion.dm b/code/game/machinery/camera/motion.dm index 6ac7e1249d..d9a93a6578 100644 --- a/code/game/machinery/camera/motion.dm +++ b/code/game/machinery/camera/motion.dm @@ -1,6 +1,6 @@ /obj/machinery/camera - var/list/localMotionTargets = list() + var/list/datum/weakref/localMotionTargets = list() var/detectTime = 0 var/area/ai_monitored/area_motion = null var/alarm_delay = 30 // Don't forget, there's another 3 seconds in queueAlarm() @@ -15,11 +15,11 @@ if (elapsed > alarm_delay) triggerAlarm() else if (detectTime == -1) - for (var/targetref in getTargetList()) - var/mob/target = locate(targetref) in GLOB.mob_list - if (QDELETED(target) || target.stat == DEAD || (!area_motion && !in_range(src, target))) + for (var/datum/weakref/targetref in getTargetList()) + var/mob/target = targetref.resolve() + if(QDELETED(target) || target.stat == DEAD || (!area_motion && !in_range(src, target))) //If not part of a monitored area and the camera is not in range or the target is dead - lostTarget(target) + lostTargetRef(targetref) /obj/machinery/camera/proc/getTargetList() if(area_motion) @@ -28,41 +28,43 @@ /obj/machinery/camera/proc/newTarget(mob/target) if(isAI(target)) - return 0 + return FALSE if (detectTime == 0) detectTime = world.time // start the clock var/list/targets = getTargetList() - targets |= "\ref[target]" - return 1 + targets |= WEAKREF(target) + return TRUE /obj/machinery/camera/Destroy() var/area/ai_monitored/A = get_area(src) + localMotionTargets = null if(istype(A)) A.motioncameras -= src return ..() -/obj/machinery/camera/proc/lostTarget(mob/target) +/obj/machinery/camera/proc/lostTargetRef(datum/weakref/R) var/list/targets = getTargetList() - targets -= "\ref[target]" + targets -= R if (targets.len == 0) cancelAlarm() /obj/machinery/camera/proc/cancelAlarm() if (detectTime == -1) - for (var/mob/living/silicon/aiPlayer in GLOB.player_list) + for (var/i in GLOB.silicon_mobs) + var/mob/living/silicon/aiPlayer = i if (status) aiPlayer.cancelAlarm("Motion", get_area(src), src) detectTime = 0 - return 1 + return TRUE /obj/machinery/camera/proc/triggerAlarm() if (!detectTime) - return 0 + return FALSE for (var/mob/living/silicon/aiPlayer in GLOB.player_list) if (status) aiPlayer.triggerAlarm("Motion", get_area(src), list(src), src) detectTime = -1 - return 1 + return TRUE /obj/machinery/camera/HasProximity(atom/movable/AM as mob|obj) // Motion cameras outside of an "ai monitored" area will use this to detect stuff. diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm index 036b6f1f61..6a5d8eb9bc 100644 --- a/code/game/machinery/camera/tracking.dm +++ b/code/game/machinery/camera/tracking.dm @@ -1,172 +1,168 @@ -/mob/living/silicon/ai/proc/get_camera_list() - - track.cameras.Cut() - - if(src.stat == DEAD) - return - - var/list/L = list() - for (var/obj/machinery/camera/C in GLOB.cameranet.cameras) - L.Add(C) - - camera_sort(L) - - var/list/T = list() - - for (var/obj/machinery/camera/C in L) - var/list/tempnetwork = C.network&src.network - if (tempnetwork.len) - T[text("[][]", C.c_tag, (C.can_use() ? null : " (Deactivated)"))] = C - - track.cameras = T - return T - - -/mob/living/silicon/ai/proc/ai_camera_list(camera) - if (!camera) - return 0 - - var/obj/machinery/camera/C = track.cameras[camera] - src.eyeobj.setLoc(C) - - return - -/datum/trackable - var/list/names = list() - var/list/namecounts = list() - var/list/humans = list() - var/list/others = list() - var/list/cameras = list() - -/mob/living/silicon/ai/proc/trackable_mobs() - - track.names.Cut() - track.namecounts.Cut() - track.humans.Cut() - track.others.Cut() - - if(usr.stat == DEAD) - return list() - - for(var/mob/living/M in GLOB.mob_list) - if(!M.can_track(usr)) - continue - - // Human check - var/human = 0 - if(ishuman(M)) - human = 1 - - var/name = M.name - while(name in track.names) - track.namecounts[name]++ - name = text("[] ([])", name, track.namecounts[name]) - track.names.Add(name) - track.namecounts[name] = 1 - - if(human) - track.humans[name] = M - else - track.others[name] = M - - var/list/targets = sortList(track.humans) + sortList(track.others) - - return targets - -/mob/living/silicon/ai/verb/ai_camera_track(target_name in trackable_mobs()) - set name = "track" - set hidden = 1 //Don't display it on the verb lists. This verb exists purely so you can type "track Oldman Robustin" and follow his ass - - if(!target_name) - return - - var/mob/target = (isnull(track.humans[target_name]) ? track.others[target_name] : track.humans[target_name]) - - ai_actual_track(target) - -/mob/living/silicon/ai/proc/ai_actual_track(mob/living/target) - if(!istype(target)) - return - var/mob/living/silicon/ai/U = usr - - U.cameraFollow = target - U.tracking = 1 - - if(!target || !target.can_track(usr)) - to_chat(U, "Target is not near any active cameras.") - U.cameraFollow = null - return - - to_chat(U, "Now tracking [target.get_visible_name()] on camera.") - - var/cameraticks = 0 - spawn(0) - while(U.cameraFollow == target) - if(U.cameraFollow == null) - return - - if(!target.can_track(usr)) - U.tracking = 1 - if(!cameraticks) - to_chat(U, "Target is not near any active cameras. Attempting to reacquire...") - cameraticks++ - if(cameraticks > 9) - U.cameraFollow = null - to_chat(U, "Unable to reacquire, cancelling track...") - tracking = 0 - return - else - sleep(10) - continue - - else - cameraticks = 0 - U.tracking = 0 - - if(U.eyeobj) - U.eyeobj.setLoc(get_turf(target)) - - else - view_core() - U.cameraFollow = null - return - - sleep(10) - -/proc/near_camera(mob/living/M) - if (!isturf(M.loc)) - return 0 - if(issilicon(M)) - var/mob/living/silicon/S = M - if((!QDELETED(S.builtInCamera) || !S.builtInCamera.can_use()) && !GLOB.cameranet.checkCameraVis(M)) - return 0 - else if(!GLOB.cameranet.checkCameraVis(M)) - return 0 - return 1 - -/obj/machinery/camera/attack_ai(mob/living/silicon/ai/user) - if (!istype(user)) - return - if (!src.can_use()) - return - user.eyeobj.setLoc(get_turf(src)) - - -/mob/living/silicon/ai/attack_ai(mob/user) - ai_camera_list() - -/proc/camera_sort(list/L) - var/obj/machinery/camera/a - var/obj/machinery/camera/b - - for (var/i = L.len, i > 0, i--) - for (var/j = 1 to i - 1) - a = L[j] - b = L[j + 1] - if (a.c_tag_order != b.c_tag_order) - if (a.c_tag_order > b.c_tag_order) - L.Swap(j, j + 1) - else - if (sorttext(a.c_tag, b.c_tag) < 0) - L.Swap(j, j + 1) - return L +/mob/living/silicon/ai/proc/get_camera_list() + + track.cameras.Cut() + + if(src.stat == DEAD) + return + + var/list/L = list() + for (var/obj/machinery/camera/C in GLOB.cameranet.cameras) + L.Add(C) + + camera_sort(L) + + var/list/T = list() + + for (var/obj/machinery/camera/C in L) + var/list/tempnetwork = C.network&src.network + if (tempnetwork.len) + T[text("[][]", C.c_tag, (C.can_use() ? null : " (Deactivated)"))] = C + + track.cameras = T + return T + + +/mob/living/silicon/ai/proc/ai_camera_list(camera) + if (!camera) + return 0 + + var/obj/machinery/camera/C = track.cameras[camera] + src.eyeobj.setLoc(C) + + return + +/datum/trackable + var/list/names = list() + var/list/namecounts = list() + var/list/humans = list() + var/list/others = list() + var/list/cameras = list() + +/mob/living/silicon/ai/proc/trackable_mobs() + + track.names.Cut() + track.namecounts.Cut() + track.humans.Cut() + track.others.Cut() + + if(usr.stat == DEAD) + return list() + + for(var/i in GLOB.mob_living_list) + var/mob/living/L = i + if(!L.can_track(usr)) + continue + + var/name = L.name + while(name in track.names) + track.namecounts[name]++ + name = text("[] ([])", name, track.namecounts[name]) + track.names.Add(name) + track.namecounts[name] = 1 + + if(ishuman(L)) + track.humans[name] = L + else + track.others[name] = L + + var/list/targets = sortList(track.humans) + sortList(track.others) + + return targets + +/mob/living/silicon/ai/verb/ai_camera_track(target_name in trackable_mobs()) + set name = "track" + set hidden = 1 //Don't display it on the verb lists. This verb exists purely so you can type "track Oldman Robustin" and follow his ass + + if(!target_name) + return + + var/mob/target = (isnull(track.humans[target_name]) ? track.others[target_name] : track.humans[target_name]) + + ai_actual_track(target) + +/mob/living/silicon/ai/proc/ai_actual_track(mob/living/target) + if(!istype(target)) + return + var/mob/living/silicon/ai/U = usr + + U.cameraFollow = target + U.tracking = 1 + + if(!target || !target.can_track(usr)) + to_chat(U, "Target is not near any active cameras.") + U.cameraFollow = null + return + + to_chat(U, "Now tracking [target.get_visible_name()] on camera.") + + var/cameraticks = 0 + spawn(0) + while(U.cameraFollow == target) + if(U.cameraFollow == null) + return + + if(!target.can_track(usr)) + U.tracking = 1 + if(!cameraticks) + to_chat(U, "Target is not near any active cameras. Attempting to reacquire...") + cameraticks++ + if(cameraticks > 9) + U.cameraFollow = null + to_chat(U, "Unable to reacquire, cancelling track...") + tracking = 0 + return + else + sleep(10) + continue + + else + cameraticks = 0 + U.tracking = 0 + + if(U.eyeobj) + U.eyeobj.setLoc(get_turf(target)) + + else + view_core() + U.cameraFollow = null + return + + sleep(10) + +/proc/near_camera(mob/living/M) + if (!isturf(M.loc)) + return 0 + if(issilicon(M)) + var/mob/living/silicon/S = M + if((!QDELETED(S.builtInCamera) || !S.builtInCamera.can_use()) && !GLOB.cameranet.checkCameraVis(M)) + return 0 + else if(!GLOB.cameranet.checkCameraVis(M)) + return 0 + return 1 + +/obj/machinery/camera/attack_ai(mob/living/silicon/ai/user) + if (!istype(user)) + return + if (!src.can_use()) + return + user.eyeobj.setLoc(get_turf(src)) + + +/mob/living/silicon/ai/attack_ai(mob/user) + ai_camera_list() + +/proc/camera_sort(list/L) + var/obj/machinery/camera/a + var/obj/machinery/camera/b + + for (var/i = L.len, i > 0, i--) + for (var/j = 1 to i - 1) + a = L[j] + b = L[j + 1] + if (a.c_tag_order != b.c_tag_order) + if (a.c_tag_order > b.c_tag_order) + L.Swap(j, j + 1) + else + if (sorttext(a.c_tag, b.c_tag) < 0) + L.Swap(j, j + 1) + return L diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm index f0f1ba62fe..21b8f5bb49 100644 --- a/code/game/machinery/cell_charger.dm +++ b/code/game/machinery/cell_charger.dm @@ -13,15 +13,13 @@ /obj/machinery/cell_charger/proc/updateicon() cut_overlays() - if(charging) add_overlay(image(charging.icon, charging.icon_state)) add_overlay("ccharger-on") if(!(stat & (BROKEN|NOPOWER))) var/newlevel = round(charging.percent() * 4 / 100) - if(chargelevel != newlevel) - chargelevel = newlevel - add_overlay("ccharger-o[newlevel]") + chargelevel = newlevel + add_overlay("ccharger-o[newlevel]") /obj/machinery/cell_charger/examine(mob/user) ..() diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index cb5ea9df76..9b35f06acc 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -162,11 +162,6 @@ var/mob/living/carbon/human/H = new /mob/living/carbon/human(src) - if(clonemind.changeling) - var/obj/item/organ/brain/B = H.getorganslot(ORGAN_SLOT_BRAIN) - B.vital = FALSE - B.decoy_override = TRUE - H.hardset_dna(ui, se, H.real_name, null, mrace, features) if(efficiency > 2) @@ -307,7 +302,7 @@ comp.AttachCloner(src) else P.buffer = src - to_chat(user, "-% Successfully stored \ref[P.buffer] [P.buffer.name] in buffer %-") + to_chat(user, "-% Successfully stored [REF(P.buffer)] [P.buffer.name] in buffer %-") return var/mob/living/mob_occupant = occupant diff --git a/code/game/machinery/computer/Operating.dm b/code/game/machinery/computer/Operating.dm index ca2f6e1cb6..8d53987a2b 100644 --- a/code/game/machinery/computer/Operating.dm +++ b/code/game/machinery/computer/Operating.dm @@ -1,74 +1,72 @@ -/obj/machinery/computer/operating - name = "operating computer" - desc = "Used to monitor the vitals of a patient during surgery." - icon_screen = "crew" - icon_keyboard = "med_key" - circuit = /obj/item/circuitboard/computer/operating - var/mob/living/carbon/human/patient - var/obj/structure/table/optable/table - - light_color = LIGHT_COLOR_BLUE - -/obj/machinery/computer/operating/Initialize() - . = ..() - find_table() - -/obj/machinery/computer/operating/proc/find_table() - for(var/dir in GLOB.cardinals) - table = locate(/obj/structure/table/optable, get_step(src, dir)) - if(table) - table.computer = src - break - - -/obj/machinery/computer/operating/attack_hand(mob/user) - if(..()) - return - interact(user) - -/obj/machinery/computer/operating/interact(mob/user) - var/dat = "" - if(table) - dat += "Patient information:
    " - if(table.check_patient()) - patient = table.patient - dat += get_patient_info() - else - patient = null - dat += "No patient detected" - else - dat += "Operating table not found." - - var/datum/browser/popup = new(user, "op", "Operating Computer", 400, 500) - popup.set_content(dat) - popup.open() - -/obj/machinery/computer/operating/proc/get_patient_info() - var/dat = {" -
    Patient:
    [patient.stat ? "Non-Responsive" : "Stable"]
    -
    Blood Type:
    [patient.dna.blood_type] - -
    -
    Health:
    [patient.health]%
    -
    \> Brute Damage:
    [patient.getBruteLoss()]%
    -
    \> Resp. Damage:
    [patient.getOxyLoss()]%
    -
    \> Toxin Content:
    [patient.getToxLoss()]%
    -
    \> Burn Severity:
    [patient.getFireLoss()]%
    - - "} - if(patient.surgeries.len) - dat += "

    Initiated Procedures
    " - for(var/datum/surgery/procedure in patient.surgeries) - dat += "[capitalize(procedure.name)]
    " - var/datum/surgery_step/surgery_step = procedure.get_surgery_step() - dat += "Next step: [capitalize(surgery_step.name)]" - if(surgery_step.repeatable) - dat += " or " - var/datum/surgery_step/next_step = procedure.get_surgery_next_step() - if(next_step) - dat += "[capitalize(next_step.name)]" - else - dat += "finish operation" - dat += "
    " - dat += "
    " - return dat +/obj/machinery/computer/operating + name = "operating computer" + desc = "Used to monitor the vitals of a patient during surgery." + icon_screen = "crew" + icon_keyboard = "med_key" + circuit = /obj/item/circuitboard/computer/operating + var/mob/living/carbon/human/patient + var/obj/structure/table/optable/table + light_color = LIGHT_COLOR_BLUE + +/obj/machinery/computer/operating/Initialize() + . = ..() + find_table() + +/obj/machinery/computer/operating/proc/find_table() + for(var/direction in GLOB.cardinals) + table = locate(/obj/structure/table/optable, get_step(src, direction)) + if(table) + table.computer = src + break + +/obj/machinery/computer/operating/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) + if(!ui) + ui = new(user, src, ui_key, "operating_computer", name, 350, 470, master_ui, state) + ui.open() + +/obj/machinery/computer/operating/ui_data(mob/user) + var/list/data = list() + data["table"] = table + if(table) + data["patient"] = list() + if(table.check_patient()) + patient = table.patient + switch(patient.stat) + if(CONSCIOUS) + data["patient"]["stat"] = "Conscious" + data["patient"]["statstate"] = "good" + if(SOFT_CRIT) + data["patient"]["stat"] = "Conscious" + data["patient"]["statstate"] = "average" + if(UNCONSCIOUS) + data["patient"]["stat"] = "Unconscious" + data["patient"]["statstate"] = "average" + if(DEAD) + data["patient"]["stat"] = "Dead" + data["patient"]["statstate"] = "bad" + data["patient"]["health"] = patient.health + data["patient"]["blood_type"] = patient.dna.blood_type + data["patient"]["maxHealth"] = patient.maxHealth + data["patient"]["minHealth"] = HEALTH_THRESHOLD_DEAD + data["patient"]["bruteLoss"] = patient.getBruteLoss() + data["patient"]["fireLoss"] = patient.getFireLoss() + data["patient"]["toxLoss"] = patient.getToxLoss() + data["patient"]["oxyLoss"] = patient.getOxyLoss() + if(patient.surgeries.len) + data["procedures"] = list() + for(var/datum/surgery/procedure in patient.surgeries) + var/datum/surgery_step/surgery_step = procedure.get_surgery_step() + var/alternative_step + if(surgery_step.repeatable) + var/datum/surgery_step/next_step = procedure.get_surgery_next_step() + if(next_step) + alternative_step = capitalize(next_step.name) + else + alternative_step = "Finish operation" + data["procedures"] += list(list( + "name" = capitalize(procedure.name), + "next_step" = capitalize(surgery_step.name), + "alternative_step" = alternative_step + )) + return data diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm index b590763ffe..920dd118c5 100644 --- a/code/game/machinery/computer/aifixer.dm +++ b/code/game/machinery/computer/aifixer.dm @@ -61,10 +61,10 @@ else dat += "AI functional" if (!src.active) - dat += {"

    Begin Reconstruction"} + dat += {"

    Begin Reconstruction"} else dat += "

    Reconstruction in process, please wait.
    " - dat += {"
    Close"} + dat += {"
    Close"} var/datum/browser/popup = new(user, "computer", "AI System Integrity Restorer", 400, 500) popup.set_content(dat) popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) diff --git a/code/game/machinery/computer/apc_control.dm b/code/game/machinery/computer/apc_control.dm index c93c96429c..aa644eb738 100644 --- a/code/game/machinery/computer/apc_control.dm +++ b/code/game/machinery/computer/apc_control.dm @@ -9,7 +9,7 @@ var/list/apcs //APCs the computer has access to var/mob/living/operator //Who's operating the computer right now var/obj/machinery/power/apc/active_apc //The APC we're using right now - var/list/filters //For sorting the results + var/list/result_filters //For sorting the results var/checking_logs = 0 var/list/logs var/authenticated = 0 @@ -18,7 +18,7 @@ /obj/machinery/computer/apc_control/Initialize() . = ..() apcs = list() //To avoid BYOND making the list run through a ton of procs - filters = list("Name" = null, "Charge Above" = null, "Charge Below" = null, "Responsive" = null) + result_filters = list("Name" = null, "Charge Above" = null, "Charge Below" = null, "Responsive" = null) /obj/machinery/computer/apc_control/process() apcs = list() //Clear the list every tick @@ -52,28 +52,28 @@ if(!checking_logs) dat += "Logged in as [auth_id].

    " dat += "Filters
    " - dat += "Name: [filters["Name"] ? filters["Name"] : "None set"]
    " - dat += "Charge: \>[filters["Charge Above"] ? filters["Charge Above"] : "NaN"]% and \<[filters["Charge Below"] ? filters["Charge Below"] : "NaN"]%
    " - dat += "Accessible: [filters["Responsive"] ? "Non-Responsive Only" : "All"]

    " + dat += "Name: [result_filters["Name"] ? result_filters["Name"] : "None set"]
    " + dat += "Charge: \>[result_filters["Charge Above"] ? result_filters["Charge Above"] : "NaN"]% and \<[result_filters["Charge Below"] ? result_filters["Charge Below"] : "NaN"]%
    " + dat += "Accessible: [result_filters["Responsive"] ? "Non-Responsive Only" : "All"]

    " for(var/A in apcs) var/obj/machinery/power/apc/APC = apcs[A] - if(filters["Name"] && !findtext(APC.name, filters["Name"]) && !findtext(APC.area.name, filters["Name"])) + if(result_filters["Name"] && !findtext(APC.name, result_filters["Name"]) && !findtext(APC.area.name, result_filters["Name"])) continue - if(filters["Charge Above"] && (APC.cell.charge / APC.cell.maxcharge) < filters["Charge Above"] / 100) + if(result_filters["Charge Above"] && (APC.cell.charge / APC.cell.maxcharge) < result_filters["Charge Above"] / 100) continue - if(filters["Charge Below"] && (APC.cell.charge / APC.cell.maxcharge) > filters["Charge Below"] / 100) + if(result_filters["Charge Below"] && (APC.cell.charge / APC.cell.maxcharge) > result_filters["Charge Below"] / 100) continue - if(filters["Responsive"] && !APC.aidisabled) + if(result_filters["Responsive"] && !APC.aidisabled) continue - dat += "[A]
    \ + dat += "[A]
    \ Charge: [DisplayPower(APC.cell.charge)] / [DisplayPower(APC.cell.maxcharge)] ([round((APC.cell.charge / APC.cell.maxcharge) * 100)]%)
    \ Area: [APC.area]
    \ [APC.aidisabled || APC.panel_open ? "APC does not respond to interface query." : "APC responds to interface query."]

    " - dat += "Check Logs
    " - dat += "Log Out
    " + dat += "Check Logs
    " + dat += "Log Out
    " if(emagged) dat += "WARNING: Logging functionality partially disabled from outside source.
    " - dat += "Restore logging functionality?
    " + dat += "Restore logging functionality?
    " else if(logs.len) for(var/entry in logs) @@ -81,11 +81,11 @@ else dat += "No activity has been recorded at this time.
    " if(emagged) - dat += "@#%! CLEAR LOGS" - dat += "Return" + dat += "@#%! CLEAR LOGS" + dat += "Return" operator = user else - dat = "Please swipe a valid ID to log in..." + dat = "Please swipe a valid ID to log in..." var/datum/browser/popup = new(user, "apc_control", name, 600, 400) popup.set_content(dat) popup.set_title_image(user.browse_rsc_icon(icon, icon_state)) @@ -153,7 +153,7 @@ return log_activity("changed name filter to \"[new_filter]\"") playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) - filters["Name"] = new_filter + result_filters["Name"] = new_filter if(href_list["above_filter"]) playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) var/new_filter = input(usr, "Enter a percentage from 1-100 to sort by (greater than).", name) as null|num @@ -163,7 +163,7 @@ if(new_filter) new_filter = Clamp(new_filter, 0, 100) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) - filters["Charge Above"] = new_filter + result_filters["Charge Above"] = new_filter if(href_list["below_filter"]) playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) var/new_filter = input(usr, "Enter a percentage from 1-100 to sort by (lesser than).", name) as null|num @@ -173,13 +173,13 @@ if(new_filter) new_filter = Clamp(new_filter, 0, 100) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) - filters["Charge Below"] = new_filter + result_filters["Charge Below"] = new_filter if(href_list["access_filter"]) - if(isnull(filters["Responsive"])) - filters["Responsive"] = 1 + if(isnull(result_filters["Responsive"])) + result_filters["Responsive"] = 1 log_activity("sorted by non-responsive APCs only") else - filters["Responsive"] = !filters["Responsive"] + result_filters["Responsive"] = !result_filters["Responsive"] log_activity("sorted by all APCs") playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) if(href_list["check_logs"]) diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 7748022da1..4203971522 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -134,18 +134,18 @@ if(..()) return user.set_machine(src) - var/dat = "Close" + var/dat = "Close" dat += "

    [enemy_name]

    " dat += "

    [temp]

    " dat += "
    Health: [player_hp] | Magic: [player_mp] | Enemy Health: [enemy_hp]
    " if (gameover) - dat += "
    New Game" + dat += "
    New Game" else - dat += "
    Attack | " - dat += "Heal | " - dat += "Recharge Power" + dat += "
    Attack | " + dat += "Heal | " + dat += "Recharge Power" dat += "
    " var/datum/browser/popup = new(user, "arcade", "Space Villian 2000") @@ -439,7 +439,7 @@ name = "The Orion Trail" desc = "Learn how our ancestors got to Orion, and have fun in the process!" - dat += "

    May They Rest In Peace

    " + dat += "

    May They Rest In Peace

    " else if(event) dat = eventdat else if(gameStatus == ORION_STATUS_NORMAL) @@ -452,16 +452,16 @@ dat += "
    Food: [food] | Fuel: [fuel]" dat += "
    Engine Parts: [engine] | Hull Panels: [hull] | Electronics: [electronics]" if(turns == 7) - dat += "

    Go Around Continue

    " + dat += "

    Go Around Continue

    " else - dat += "

    Continue

    " - dat += "

    Kill a Crewmember

    " - dat += "

    Close

    " + dat += "

    Continue

    " + dat += "

    Kill a Crewmember

    " + dat += "

    Close

    " else dat = "

    The Orion Trail

    " dat += "

    Experience the journey of your ancestors!



    " - dat += "
    New Game
    " - dat += "

    Close

    " + dat += "
    New Game
    " + dat += "

    Close

    " var/datum/browser/popup = new(user, "arcade", "The Orion Trail",400,700) popup.set_content(dat) popup.set_title_image(user.browse_rsc_icon(icon, icon_state)) @@ -769,41 +769,41 @@ eventdat += "
    [deadname] tried to fight back, but was killed." else eventdat += "
    Fortunately, you fended them off without any trouble." - eventdat += "

    Continue

    " - eventdat += "

    Close

    " + eventdat += "

    Continue

    " + eventdat += "

    Close

    " canContinueEvent = 1 if(ORION_TRAIL_FLUX) eventdat += "This region of space is highly turbulent.
    If we go slowly we may avoid more damage, but if we keep our speed we won't waste supplies." eventdat += "
    What will you do?" - eventdat += "

    Slow Down Continue

    " - eventdat += "

    Close

    " + eventdat += "

    Slow Down Continue

    " + eventdat += "

    Close

    " if(ORION_TRAIL_ILLNESS) eventdat += "A deadly illness has been contracted!" var/deadname = remove_crewmember() eventdat += "
    [deadname] was killed by the disease." - eventdat += "

    Continue

    " - eventdat += "

    Close

    " + eventdat += "

    Continue

    " + eventdat += "

    Close

    " canContinueEvent = 1 if(ORION_TRAIL_BREAKDOWN) eventdat += "Oh no! The engine has broken down!" eventdat += "
    You can repair it with an engine part, or you can make repairs for 3 days." if(engine >= 1) - eventdat += "

    Use PartWait

    " + eventdat += "

    Use PartWait

    " else - eventdat += "

    Wait

    " - eventdat += "

    Close

    " + eventdat += "

    Wait

    " + eventdat += "

    Close

    " if(ORION_TRAIL_MALFUNCTION) eventdat += "The ship's systems are malfunctioning!" eventdat += "
    You can replace the broken electronics with spares, or you can spend 3 days troubleshooting the AI." if(electronics >= 1) - eventdat += "

    Use PartWait

    " + eventdat += "

    Use PartWait

    " else - eventdat += "

    Wait

    " - eventdat += "

    Close

    " + eventdat += "

    Wait

    " + eventdat += "

    Close

    " if(ORION_TRAIL_COLLISION) eventdat += "Something hit us! Looks like there's some hull damage." @@ -818,23 +818,23 @@ eventdat += "
    [deadname] was killed by rapid depressurization." eventdat += "
    You can repair the damage with hull plates, or you can spend the next 3 days welding scrap together." if(hull >= 1) - eventdat += "

    Use PartWait

    " + eventdat += "

    Use PartWait

    " else - eventdat += "

    Wait

    " - eventdat += "

    Close

    " + eventdat += "

    Wait

    " + eventdat += "

    Close

    " if(ORION_TRAIL_BLACKHOLE) eventdat += "You were swept away into the black hole." - eventdat += "

    Oh...

    " - eventdat += "

    Close

    " + eventdat += "

    Oh...

    " + eventdat += "

    Close

    " settlers = list() if(ORION_TRAIL_LING) eventdat += "Strange reports warn of changelings infiltrating crews on trips to Orion..." if(settlers.len <= 2) eventdat += "
    Your crew's chance of reaching Orion is so slim the changelings likely avoided your ship..." - eventdat += "

    Continue

    " - eventdat += "

    Close

    " + eventdat += "

    Continue

    " + eventdat += "

    Close

    " if(prob(10)) // "likely", I didn't say it was guaranteed! lings_aboard = min(++lings_aboard,2) else @@ -844,9 +844,9 @@ else if(prob(70)) lings_aboard = min(++lings_aboard,2) - eventdat += "

    Kill a Crewmember

    " - eventdat += "

    Risk it

    " - eventdat += "

    Close

    " + eventdat += "

    Kill a Crewmember

    " + eventdat += "

    Risk it

    " + eventdat += "

    Close

    " canContinueEvent = 1 if(ORION_TRAIL_LING_ATTACK) @@ -892,8 +892,8 @@ else lings_aboard = max(0,--lings_aboard) - eventdat += "

    Continue

    " - eventdat += "

    Close

    " + eventdat += "

    Continue

    " + eventdat += "

    Close

    " canContinueEvent = 1 @@ -903,8 +903,8 @@ eventdat += "The spaceport is on high alert! You've been barred from docking by the local authorities after your failed raid." if(last_spaceport_action) eventdat += "
    Last Spaceport Action: [last_spaceport_action]" - eventdat += "

    Depart Spaceport

    " - eventdat += "

    Close

    " + eventdat += "

    Depart Spaceport

    " + eventdat += "

    Close

    " else eventdat += "Your jump into the sector yields a spaceport - a lucky find!" eventdat += "
    This spaceport is home to travellers who failed to reach Orion, but managed to find a different home..." @@ -943,13 +943,13 @@ //Buy crew if(food >= 10 && fuel >= 10) - eventdat += "

    Hire a New Crewmember (-10FU, -10FO)

    " + eventdat += "

    Hire a New Crewmember (-10FU, -10FO)

    " else eventdat += "

    You cannot afford a new crewmember.

    " //Sell crew if(settlers.len > 1) - eventdat += "

    Sell Crew for Fuel and Food (+7FU, +7FO)

    " + eventdat += "

    Sell Crew for Fuel and Food (+7FU, +7FO)

    " else eventdat += "

    You have no other crew to sell.

    " @@ -958,37 +958,37 @@ //Engine parts if(fuel > 5) - eventdat += "

    Buy Engine Parts (-5FU)

    " + eventdat += "

    Buy Engine Parts (-5FU)

    " else eventdat += "

    You cannot afford engine parts." //Hull plates if(fuel > 5) - eventdat += "

    Buy Hull Plates (-5FU)

    " + eventdat += "

    Buy Hull Plates (-5FU)

    " else eventdat += "

    You cannot afford hull plates." //Electronics if(fuel > 5) - eventdat += "

    Buy Spare Electronics (-5FU)

    " + eventdat += "

    Buy Spare Electronics (-5FU)

    " else eventdat += "

    You cannot afford spare electronics." //Trade if(fuel > 5) - eventdat += "

    Trade Fuel for Food (-5FU,+5FO)

    " + eventdat += "

    Trade Fuel for Food (-5FU,+5FO)

    " else eventdat += "

    You don't have 5FU to trade. 5) - eventdat += "

    Trade Food for Fuel (+5FU,-5FO)

    " + eventdat += "

    Trade Food for Fuel (+5FU,-5FO)

    " else eventdat += "

    You don't have 5FO to trade." - dat = "Crew Manifest:
    Please use security record computer to modify entries.

    [crew]Print

    Access ID modification console.
    " + dat = "Crew Manifest:
    Please use security record computer to modify entries.

    [crew]Print

    Access ID modification console.
    " else if(mode == 2) // JOB MANAGEMENT - dat = "Return" + dat = "Return" dat += " || Confirm Identity: " var/S if(scan) S = html_encode(scan.name) else S = "--------" - dat += "[S]" + dat += "[S]" dat += "" dat += "" var/ID @@ -174,7 +174,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) switch(can_open_job(job)) if(1) if(ID) - dat += "Open Position
    " + dat += "Open Position
    " else dat += "Open Position" if(-1) @@ -190,7 +190,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) switch(can_close_job(job)) if(1) if(ID) - dat += "Close Position" + dat += "Close Position" else dat += "Close Position" if(-1) @@ -209,10 +209,10 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) else if(ID) if(job in SSjob.prioritized_jobs) - dat += "Deprioritize" + dat += "Deprioritize" else if(SSjob.prioritized_jobs.len < 5) - dat += "Prioritize" + dat += "Prioritize" else dat += "Denied" else @@ -247,14 +247,14 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) if(!authenticated) header += "
    Please insert the cards into the slots
    " - header += "Target: [target_name]
    " - header += "Confirm Identity: [scan_name]
    " + header += "Target: [target_name]
    " + header += "Confirm Identity: [scan_name]
    " else header += "

    " - header += "Remove [target_name] || " - header += "Remove [scan_name]
    " - header += "Access Crew Manifest
    " - header += "Log Out
    " + header += "Remove [target_name] || " + header += "Remove [scan_name]
    " + header += "Access Crew Manifest
    " + header += "Log Out" header += "
    " @@ -262,7 +262,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) var/list/alljobs = list("Unassigned") alljobs += (istype(src, /obj/machinery/computer/card/centcom)? get_all_centcom_jobs() : get_all_jobs()) + "Custom" for(var/job in alljobs) - jobs_all += "[replacetext(job, " ", " ")] " //make sure there isn't a line break in the middle of a job + jobs_all += "[replacetext(job, " ", " ")] " //make sure there isn't a line break in the middle of a job var/body @@ -290,8 +290,8 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) allJobsSlot.innerHTML = "show"; } "} - carddesc += "" - carddesc += "" + carddesc += "" + carddesc += "" carddesc += "" carddesc += "registered name:" carddesc += "" @@ -302,16 +302,16 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) else carddesc += "registered_name: [target_owner]" - jobs += "Assignment: [target_rank] (Demote)" + jobs += "Assignment: [target_rank] (Demote)" var/accesses = "" if(istype(src, /obj/machinery/computer/card/centcom)) accesses += "
    Central Command:
    " for(var/A in get_all_centcom_access()) if(A in modify.access) - accesses += "[replacetext(get_centcom_access_desc(A), " ", " ")] " + accesses += "[replacetext(get_centcom_access_desc(A), " ", " ")] " else - accesses += "[replacetext(get_centcom_access_desc(A), " ", " ")] " + accesses += "[replacetext(get_centcom_access_desc(A), " ", " ")] " else accesses += "
    Access
    " accesses += "
    JobSlotsOpen jobClose jobPrioritize
    " @@ -327,19 +327,19 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) accesses += "" accesses += "
    " for(var/A in get_region_accesses(i)) if(A in modify.access) - accesses += "[replacetext(get_access_desc(A), " ", " ")] " + accesses += "[replacetext(get_access_desc(A), " ", " ")] " else - accesses += "[replacetext(get_access_desc(A), " ", " ")] " + accesses += "[replacetext(get_access_desc(A), " ", " ")] " accesses += "
    " accesses += "
    " body = "[carddesc]
    [jobs]

    [accesses]" //CHECK THIS else - body = "{Log in}


    " - body += "Access Crew Manifest" + body = "{Log in}

    " + body += "Access Crew Manifest" if(!target_dept) - body += "

    Job Management" + body += "

    Job Management" dat = "[header][body]

    " var/datum/browser/popup = new(user, "id_com", src.name, 900, 620) diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index ee316b3eed..7814e05138 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -83,10 +83,10 @@ var/obj/machinery/dna_scannernew/scannerf = null // Loop through every direction - for(dir in list(NORTH,EAST,SOUTH,WEST)) + for(var/direction in GLOB.cardinals) // Try to find a scanner in that direction - scannerf = locate(/obj/machinery/dna_scannernew, get_step(src, dir)) + scannerf = locate(/obj/machinery/dna_scannernew, get_step(src, direction)) // If found and operational, return the scanner if (!isnull(scannerf) && scannerf.is_operational()) @@ -98,10 +98,9 @@ /obj/machinery/computer/cloning/proc/findcloner() var/obj/machinery/clonepod/podf = null - for(dir in list(NORTH,EAST,SOUTH,WEST)) - - podf = locate(/obj/machinery/clonepod, get_step(src, dir)) + for(var/direction in GLOB.cardinals) + podf = locate(/obj/machinery/clonepod, get_step(src, direction)) if (!isnull(podf) && podf.is_operational()) AttachCloner(podf) @@ -138,7 +137,7 @@ AttachCloner(pod) else P.buffer = src - to_chat(user, "-% Successfully stored \ref[P.buffer] [P.buffer.name] in buffer %-") + to_chat(user, "-% Successfully stored [REF(P.buffer)] [P.buffer.name] in buffer %-") return else return ..() @@ -158,13 +157,13 @@ updatemodules(TRUE) var/dat = "" - dat += "Refresh" + dat += "Refresh" if(scanner && HasEfficientPod() && scanner.scan_level > 2) if(!autoprocess) - dat += "Autoprocess" + dat += "Autoprocess" else - dat += "Stop autoprocess" + dat += "Stop autoprocess" else dat += "Autoprocess" dat += "

    Cloning Pod Status

    " @@ -175,7 +174,7 @@ // Modules if (isnull(src.scanner) || !LAZYLEN(pods)) dat += "

    Modules

    " - //dat += "Reload Modules" + //dat += "Reload Modules" if (isnull(src.scanner)) dat += "ERROR: No Scanner detected!
    " if (!LAZYLEN(pods)) @@ -200,36 +199,36 @@ dat += "
    " if(scanner_occupant) - dat += "Start Scan" - dat += "
    [src.scanner.locked ? "Unlock Scanner" : "Lock Scanner"]" + dat += "Start Scan" + dat += "
    [src.scanner.locked ? "Unlock Scanner" : "Lock Scanner"]" else dat += "Start Scan" // Database dat += "

    Database Functions

    " if (src.records.len && src.records.len > 0) - dat += "View Records ([src.records.len])
    " + dat += "View Records ([src.records.len])
    " else dat += "View Records (0)
    " if (src.diskette) - dat += "Eject Disk
    " + dat += "Eject Disk
    " if(2) dat += "

    Current records

    " - dat += "<< Back

    " + dat += "<< Back

    " for(var/datum/data/record/R in records) - dat += "

    [R.fields["name"]]

    Scan ID [R.fields["id"]] View Record" + dat += "

    [R.fields["name"]]

    Scan ID [R.fields["id"]] View Record" if(3) dat += "

    Selected Record

    " - dat += "<< Back
    " + dat += "<< Back
    " if (!src.active_record) dat += "Record not found." else dat += "

    [src.active_record.fields["name"]]

    " - dat += "Scan ID [src.active_record.fields["id"]] Clone
    " + dat += "Scan ID [src.active_record.fields["id"]] Clone
    " var/obj/item/implant/health/H = locate(src.active_record.fields["imp"]) @@ -253,12 +252,12 @@ if(diskette.fields["SE"]) L += "Structural Enzymes" dat += english_list(L, "Empty", " + ", " + ") - dat += "
    Load from Disk" + dat += "
    Load from Disk" - dat += "
    Save to Disk" + dat += "
    Save to Disk" dat += "
    " - dat += "Delete Record" + dat += "Delete Record" if(4) if (!src.active_record) @@ -266,8 +265,8 @@ dat = "[src.temp]
    " dat += "

    Confirm Record Deletion

    " - dat += "Scan card to confirm.
    " - dat += "Cancel" + dat += "Scan card to confirm.
    " + dat += "Cancel" var/datum/browser/popup = new(user, "cloning", "Cloning System Control") @@ -484,7 +483,7 @@ R.fields["factions"] = mob_occupant.faction if (!isnull(mob_occupant.mind)) //Save that mind so traitors can continue traitoring after cloning. - R.fields["mind"] = "\ref[mob_occupant.mind]" + R.fields["mind"] = "[REF(mob_occupant.mind)]" //Add an implant if needed var/obj/item/implant/health/imp @@ -494,7 +493,7 @@ if(!imp) imp = new /obj/item/implant/health(mob_occupant) imp.implant(mob_occupant) - R.fields["imp"] = "\ref[imp]" + R.fields["imp"] = "[REF(imp)]" src.records += R scantemp = "Subject successfully scanned." diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 77f6e08c7d..ed8a2f3aec 100755 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -8,10 +8,9 @@ circuit = /obj/item/circuitboard/computer/communications var/authenticated = 0 var/auth_id = "Unknown" //Who is currently logged in? - var/list/messagetitle = list() - var/list/messagetext = list() - var/currmsg = 0 - var/aicurrmsg = 0 + var/list/datum/comm_message/messages = list() + var/datum/comm_message/currmsg + var/datum/comm_message/aicurrmsg var/state = STATE_DEFAULT var/aistate = STATE_DEFAULT var/message_cooldown = 0 @@ -48,7 +47,7 @@ /obj/machinery/computer/communications/process() if(..()) if(state != STATE_STATUSDISPLAY) - src.updateDialog() + updateDialog() /obj/machinery/computer/communications/Topic(href, href_list) @@ -65,7 +64,7 @@ switch(href_list["operation"]) // main interface if("main") - src.state = STATE_DEFAULT + state = STATE_DEFAULT playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0) if("login") var/mob/M = usr @@ -75,13 +74,13 @@ I = M.get_idcard() if(I && istype(I)) - if(src.check_access(I)) + if(check_access(I)) authenticated = 1 auth_id = "[I.registered_name] ([I.assignment])" if((20 in I.access)) authenticated = 2 playsound(src, 'sound/machines/terminal_on.ogg', 50, 0) - if(src.emagged) + if(emagged) authenticated = 2 auth_id = "Unknown" to_chat(M, "[src] lets out a quiet alarm as its login is overriden.") @@ -132,7 +131,7 @@ playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0) if("announce") - if(src.authenticated==2) + if(authenticated==2) playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) make_announcement(usr) @@ -186,53 +185,60 @@ to_chat(usr, "Not enough credits.") if("callshuttle") - src.state = STATE_DEFAULT - if(src.authenticated) - src.state = STATE_CALLSHUTTLE + state = STATE_DEFAULT + if(authenticated) + state = STATE_CALLSHUTTLE if("callshuttle2") - if(src.authenticated) + if(authenticated) SSshuttle.requestEvac(usr, href_list["call"]) if(SSshuttle.emergency.timer) post_status("shuttle") - src.state = STATE_DEFAULT + state = STATE_DEFAULT if("cancelshuttle") - src.state = STATE_DEFAULT - if(src.authenticated) - src.state = STATE_CANCELSHUTTLE + state = STATE_DEFAULT + if(authenticated) + state = STATE_CANCELSHUTTLE if("cancelshuttle2") - if(src.authenticated) + if(authenticated) SSshuttle.cancelEvac(usr) - src.state = STATE_DEFAULT + state = STATE_DEFAULT if("messagelist") - src.currmsg = 0 - src.state = STATE_MESSAGELIST + currmsg = 0 + state = STATE_MESSAGELIST if("viewmessage") - src.state = STATE_VIEWMESSAGE - if (!src.currmsg) + state = STATE_VIEWMESSAGE + if (!currmsg) if(href_list["message-num"]) - src.currmsg = text2num(href_list["message-num"]) + var/msgnum = text2num(href_list["message-num"]) + currmsg = messages[msgnum] else - src.state = STATE_MESSAGELIST + state = STATE_MESSAGELIST if("delmessage") - src.state = (src.currmsg) ? STATE_DELMESSAGE : STATE_MESSAGELIST + state = currmsg ? STATE_DELMESSAGE : STATE_MESSAGELIST if("delmessage2") - if(src.authenticated) - if(src.currmsg) - var/title = src.messagetitle[src.currmsg] - var/text = src.messagetext[src.currmsg] - src.messagetitle.Remove(title) - src.messagetext.Remove(text) - if(src.currmsg == src.aicurrmsg) - src.aicurrmsg = 0 - src.currmsg = 0 - src.state = STATE_MESSAGELIST + if(authenticated) + if(currmsg) + if(aicurrmsg == currmsg) + aicurrmsg = null + messages -= currmsg + currmsg = null + state = STATE_MESSAGELIST else - src.state = STATE_VIEWMESSAGE + state = STATE_VIEWMESSAGE + if("respond") + var/answer = text2num(href_list["answer"]) + if(!currmsg || !answer || currmsg.possible_answers.len < answer) + state = STATE_MESSAGELIST + currmsg.answered = answer + log_game("[key_name(usr)] answered [currmsg.title] comm message. Answer : [currmsg.answered]") + if(currmsg) + currmsg.answer_callback.Invoke() + + state = STATE_VIEWMESSAGE if("status") - src.state = STATE_STATUSDISPLAY - + state = STATE_STATUSDISPLAY if("securitylevel") - src.tmp_alertlevel = text2num( href_list["newalertlevel"] ) + tmp_alertlevel = text2num( href_list["newalertlevel"] ) if(!tmp_alertlevel) tmp_alertlevel = 0 state = STATE_CONFIRM_LEVEL @@ -245,12 +251,12 @@ make_maint_all_access() log_game("[key_name(usr)] enabled emergency maintenance access.") message_admins("[key_name_admin(usr)] enabled emergency maintenance access.") - src.state = STATE_DEFAULT + state = STATE_DEFAULT if("disableemergency") revoke_maint_all_access() log_game("[key_name(usr)] disabled emergency maintenance access.") message_admins("[key_name_admin(usr)] disabled emergency maintenance access.") - src.state = STATE_DEFAULT + state = STATE_DEFAULT // Status display stuff if("setstat") @@ -265,14 +271,14 @@ if("setmsg1") stat_msg1 = reject_bad_text(input("Line 1", "Enter Message Text", stat_msg1) as text|null, 40) - src.updateDialog() + updateDialog() if("setmsg2") stat_msg2 = reject_bad_text(input("Line 2", "Enter Message Text", stat_msg2) as text|null, 40) - src.updateDialog() + updateDialog() // OMG CENTCOM LETTERHEAD if("MessageCentCom") - if(src.authenticated==2) + if(authenticated==2) if(!checkCCcooldown()) to_chat(usr, "Arrays recycling. Please stand by.") return @@ -288,7 +294,7 @@ // OMG SYNDICATE ...LETTERHEAD if("MessageSyndicate") - if((src.authenticated==2) && (src.emagged)) + if((authenticated==2) && (emagged)) if(!checkCCcooldown()) to_chat(usr, "Arrays recycling. Please stand by.") playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0) @@ -306,10 +312,10 @@ to_chat(usr, "Backup routing data restored!") playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) emagged = FALSE - src.updateDialog() + updateDialog() if("nukerequest") //When there's no other way - if(src.authenticated==2) + if(authenticated==2) if(!checkCCcooldown()) to_chat(usr, "Arrays recycling. Please stand by.") return @@ -325,41 +331,48 @@ // AI interface if("ai-main") - src.aicurrmsg = 0 - src.aistate = STATE_DEFAULT + aicurrmsg = null + aistate = STATE_DEFAULT if("ai-callshuttle") - src.aistate = STATE_CALLSHUTTLE + aistate = STATE_CALLSHUTTLE if("ai-callshuttle2") SSshuttle.requestEvac(usr, href_list["call"]) - src.aistate = STATE_DEFAULT + aistate = STATE_DEFAULT if("ai-messagelist") - src.aicurrmsg = 0 - src.aistate = STATE_MESSAGELIST + aicurrmsg = null + aistate = STATE_MESSAGELIST if("ai-viewmessage") - src.aistate = STATE_VIEWMESSAGE - if (!src.aicurrmsg) + aistate = STATE_VIEWMESSAGE + if (!aicurrmsg) if(href_list["message-num"]) - src.aicurrmsg = text2num(href_list["message-num"]) + var/msgnum = text2num(href_list["message-num"]) + aicurrmsg = messages[msgnum] else - src.aistate = STATE_MESSAGELIST + aistate = STATE_MESSAGELIST if("ai-delmessage") - src.aistate = (src.aicurrmsg) ? STATE_DELMESSAGE : STATE_MESSAGELIST + aistate = aicurrmsg ? STATE_DELMESSAGE : STATE_MESSAGELIST if("ai-delmessage2") - if(src.aicurrmsg) - var/title = src.messagetitle[src.aicurrmsg] - var/text = src.messagetext[src.aicurrmsg] - src.messagetitle.Remove(title) - src.messagetext.Remove(text) - if(src.currmsg == src.aicurrmsg) - src.currmsg = 0 - src.aicurrmsg = 0 - src.aistate = STATE_MESSAGELIST + if(aicurrmsg) + if(currmsg == aicurrmsg) + currmsg = null + messages -= aicurrmsg + aicurrmsg = null + aistate = STATE_MESSAGELIST + if("ai-respond") + var/answer = text2num(href_list["answer"]) + if(!aicurrmsg || !answer || aicurrmsg.possible_answers.len < answer) + aistate = STATE_MESSAGELIST + aicurrmsg.answered = answer + log_game("[key_name(usr)] answered [currmsg.title] comm message. Answer : [currmsg.answered]") + if(aicurrmsg.answer_callback) + aicurrmsg.answer_callback.Invoke() + aistate = STATE_VIEWMESSAGE if("ai-status") - src.aistate = STATE_STATUSDISPLAY + aistate = STATE_STATUSDISPLAY if("ai-announce") make_announcement(usr, 1) if("ai-securitylevel") - src.tmp_alertlevel = text2num( href_list["newalertlevel"] ) + tmp_alertlevel = text2num( href_list["newalertlevel"] ) if(!tmp_alertlevel) tmp_alertlevel = 0 var/old_level = GLOB.security_level @@ -380,24 +393,23 @@ if(SEC_LEVEL_BLUE) SSblackbox.inc("alert_comms_blue",1) tmp_alertlevel = 0 - src.aistate = STATE_DEFAULT + aistate = STATE_DEFAULT if("ai-changeseclevel") - src.aistate = STATE_ALERT_LEVEL - + aistate = STATE_ALERT_LEVEL if("ai-emergencyaccess") - src.aistate = STATE_TOGGLE_EMERGENCY + aistate = STATE_TOGGLE_EMERGENCY if("ai-enableemergency") make_maint_all_access() log_game("[key_name(usr)] enabled emergency maintenance access.") message_admins("[key_name_admin(usr)] enabled emergency maintenance access.") - src.aistate = STATE_DEFAULT + aistate = STATE_DEFAULT if("ai-disableemergency") revoke_maint_all_access() log_game("[key_name(usr)] disabled emergency maintenance access.") message_admins("[key_name_admin(usr)] disabled emergency maintenance access.") - src.aistate = STATE_DEFAULT + aistate = STATE_DEFAULT - src.updateUsrDialog() + updateUsrDialog() /obj/machinery/computer/communications/attackby(obj/I, mob/user, params) if(istype(I, /obj/item/card/id)) @@ -417,7 +429,7 @@ /obj/machinery/computer/communications/attack_hand(mob/user) if(..()) return - if (src.z > 6) + if (z > 6) to_chat(user, "Unable to establish a connection: \black You're too far away from the station!") return @@ -429,19 +441,19 @@ var/datum/browser/popup = new(user, "communications", "Communications Console", 400, 500) - popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) + popup.set_title_image(user.browse_rsc_icon(icon, icon_state)) if(issilicon(user)) - var/dat2 = src.interact_ai(user) // give the AI a different interact proc to limit its access + var/dat2 = interact_ai(user) // give the AI a different interact proc to limit its access if(dat2) dat += dat2 popup.set_content(dat) popup.open() return - switch(src.state) + switch(state) if(STATE_DEFAULT) - if (src.authenticated) + if (authenticated) if(SSshuttle.emergencyCallAmount) if(SSshuttle.emergencyLastCallLoc) dat += "Most recent shuttle call/recall traced to: [format_text(SSshuttle.emergencyLastCallLoc.name)]
    " @@ -449,33 +461,33 @@ dat += "Unable to trace most recent shuttle call/recall signal.
    " dat += "Logged in as: [auth_id]" dat += "
    " - dat += "
    \[ Log Out \]
    " + dat += "
    \[ Log Out \]
    " dat += "
    General Functions" - dat += "
    \[ Message List \]" + dat += "
    \[ Message List \]" switch(SSshuttle.emergency.mode) if(SHUTTLE_IDLE, SHUTTLE_RECALL) - dat += "
    \[ Call Emergency Shuttle \]" + dat += "
    \[ Call Emergency Shuttle \]" else - dat += "
    \[ Cancel Shuttle Call \]" + dat += "
    \[ Cancel Shuttle Call \]" - dat += "
    \[ Set Status Display \]" - if (src.authenticated==2) + dat += "
    \[ Set Status Display \]" + if (authenticated==2) dat += "

    Captain Functions" - dat += "
    \[ Make a Captain's Announcement \]" + dat += "
    \[ Make a Captain's Announcement \]" if(CONFIG_GET(string/cross_server_address)) - dat += "
    \[ Send a message to an allied station \]" - if(SSmapping.config.allow_custom_shuttles == "yes") - dat += "
    \[ Purchase Shuttle \]" - dat += "
    \[ Change Alert Level \]" - dat += "
    \[ Emergency Maintenance Access \]" - dat += "
    \[ Request Nuclear Authentication Codes \]" + dat += "
    \[ Send a message to an allied station \]" + if(SSmapping.config.allow_custom_shuttles) + dat += "
    \[ Purchase Shuttle \]" + dat += "
    \[ Change Alert Level \]" + dat += "
    \[ Emergency Maintenance Access \]" + dat += "
    \[ Request Nuclear Authentication Codes \]" if(!emagged) - dat += "
    \[ Send Message to CentCom \]" + dat += "
    \[ Send Message to CentCom \]" else - dat += "
    \[ Send Message to \[UNKNOWN\] \]" - dat += "
    \[ Restore Backup Routing Data \]" + dat += "
    \[ Send Message to \[UNKNOWN\] \]" + dat += "
    \[ Restore Backup Routing Data \]" else - dat += "
    \[ Log In \]" + dat += "
    \[ Log In \]" if(STATE_CALLSHUTTLE) dat += get_call_shuttle_form() playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) @@ -484,56 +496,63 @@ playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) if(STATE_MESSAGELIST) dat += "Messages:" - for(var/i = 1; i<=src.messagetitle.len; i++) - dat += "
    [src.messagetitle[i]]" + for(var/i in 1 to messages.len) + var/datum/comm_message/M = messages[i] + dat += "
    [M.title]" playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) if(STATE_VIEWMESSAGE) - if (src.currmsg) - dat += "[src.messagetitle[src.currmsg]]

    [src.messagetext[src.currmsg]]" - if (src.authenticated) - dat += "

    \[ Delete \]" + if (currmsg) + dat += "[currmsg.title]

    [currmsg.content]" + if(!currmsg.answered && currmsg.possible_answers.len) + for(var/i in 1 to currmsg.possible_answers.len) + var/answer = currmsg.possible_answers[i] + dat += "
    \[ Answer : [answer] \]" + else if(currmsg.answered) + var/answered = currmsg.possible_answers[currmsg.answered] + dat += "
    Archived Answer : [answered]" + dat += "

    \[ Delete \]" else - src.state = STATE_MESSAGELIST - src.attack_hand(user) - return + aistate = STATE_MESSAGELIST + attack_hand(user) + return null if(STATE_DELMESSAGE) - if (src.currmsg) - dat += "Are you sure you want to delete this message? \[ OK | Cancel \]" + if (currmsg) + dat += "Are you sure you want to delete this message? \[ OK | Cancel \]" else - src.state = STATE_MESSAGELIST - src.attack_hand(user) + state = STATE_MESSAGELIST + attack_hand(user) return if(STATE_STATUSDISPLAY) dat += "Set Status Displays
    " - dat += "\[ Clear \]
    " - dat += "\[ Shuttle ETA \]
    " - dat += "\[ Message \]" - dat += "
    " - dat += "\[ Alert: None |" - dat += " Red Alert |" - dat += " Lockdown |" - dat += " Biohazard \]

    " + dat += "\[ Clear \]
    " + dat += "\[ Shuttle ETA \]
    " + dat += "\[ Message \]" + dat += "
    " + dat += "\[ Alert: None |" + dat += " Red Alert |" + dat += " Lockdown |" + dat += " Biohazard \]

    " playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) if(STATE_ALERT_LEVEL) dat += "Current alert level: [get_security_level()]
    " if(GLOB.security_level == SEC_LEVEL_DELTA) dat += "The self-destruct mechanism is active. Find a way to deactivate the mechanism to lower the alert level or evacuate." else - dat += "Blue
    " - dat += "Green" + dat += "Blue
    " + dat += "Green" if(STATE_CONFIRM_LEVEL) dat += "Current alert level: [get_security_level()]
    " dat += "Confirm the change to: [num2seclevel(tmp_alertlevel)]
    " - dat += "Swipe ID to confirm change.
    " + dat += "Swipe ID to confirm change.
    " if(STATE_TOGGLE_EMERGENCY) playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) if(GLOB.emergency_access == 1) dat += "Emergency Maintenance Access is currently ENABLED" - dat += "
    Restore maintenance access restrictions?
    \[ OK | Cancel \]" + dat += "
    Restore maintenance access restrictions?
    \[ OK | Cancel \]" else dat += "Emergency Maintenance Access is currently DISABLED" - dat += "
    Lift access restrictions on maintenance and external airlocks?
    \[ OK | Cancel \]" + dat += "
    Lift access restrictions on maintenance and external airlocks?
    \[ OK | Cancel \]" if(STATE_PURCHASE) dat += "Budget: [SSshuttle.points] Credits.
    " @@ -544,9 +563,9 @@ dat += "[S.description]
    " if(S.prerequisites) dat += "Prerequisites: [S.prerequisites]
    " - dat += "(Purchase)

    " + dat += "(Purchase)

    " - dat += "

    \[ [(src.state != STATE_DEFAULT) ? "Main Menu | " : ""]Close \]" + dat += "

    \[ [(state != STATE_DEFAULT) ? "Main Menu | " : ""]Close \]" popup.set_content(dat) popup.open() @@ -573,8 +592,8 @@ /obj/machinery/computer/communications/proc/get_call_shuttle_form(ai_interface = 0) var/form_id = "callshuttle" var/dat = get_javascript_header(form_id) - dat += "" - dat += "" + dat += "" + dat += "" dat += "" dat += "Nature of emergency:
    " dat += "
    Are you sure you want to call the shuttle? \[ Call \]" @@ -583,8 +602,8 @@ /obj/machinery/computer/communications/proc/get_cancel_shuttle_form() var/form_id = "cancelshuttle" var/dat = get_javascript_header(form_id) - dat += "" - dat += "" + dat += "" + dat += "" dat += "" dat += "
    Are you sure you want to cancel the shuttle? \[ Cancel \]" @@ -592,7 +611,7 @@ /obj/machinery/computer/communications/proc/interact_ai(mob/living/silicon/ai/user) var/dat = "" - switch(src.aistate) + switch(aistate) if(STATE_DEFAULT) if(SSshuttle.emergencyCallAmount) if(SSshuttle.emergencyLastCallLoc) @@ -604,65 +623,73 @@ else dat += "Current login: None" dat += "

    General Functions" - dat += "
    \[ Message List \]" + dat += "
    \[ Message List \]" if(SSshuttle.emergency.mode == SHUTTLE_IDLE) - dat += "
    \[ Call Emergency Shuttle \]" - dat += "
    \[ Set Status Display \]" + dat += "
    \[ Call Emergency Shuttle \]" + dat += "
    \[ Set Status Display \]" dat += "

    Special Functions" - dat += "
    \[ Make an Announcement \]" - dat += "
    \[ Change Alert Level \]" - dat += "
    \[ Emergency Maintenance Access \]" + dat += "
    \[ Make an Announcement \]" + dat += "
    \[ Change Alert Level \]" + dat += "
    \[ Emergency Maintenance Access \]" if(STATE_CALLSHUTTLE) dat += get_call_shuttle_form(1) if(STATE_MESSAGELIST) dat += "Messages:" - for(var/i = 1; i<=src.messagetitle.len; i++) - dat += "
    [src.messagetitle[i]]" + for(var/i in 1 to messages.len) + var/datum/comm_message/M = messages[i] + dat += "
    [M.title]" if(STATE_VIEWMESSAGE) - if (src.aicurrmsg) - dat += "[src.messagetitle[src.aicurrmsg]]

    [src.messagetext[src.aicurrmsg]]" - dat += "

    \[ Delete \]" + if (aicurrmsg) + dat += "[aicurrmsg.title]

    [aicurrmsg.content]" + if(!aicurrmsg.answered && aicurrmsg.possible_answers.len) + for(var/i in 1 to aicurrmsg.possible_answers.len) + var/answer = aicurrmsg.possible_answers[i] + dat += "
    \[ Answer : [answer] \]" + else if(aicurrmsg.answered) + var/answered = aicurrmsg.possible_answers[aicurrmsg.answered] + dat += "
    Archived Answer : [answered]" + dat += "

    \[ Delete \]" else - src.aistate = STATE_MESSAGELIST - src.attack_hand(user) + aistate = STATE_MESSAGELIST + attack_hand(user) return null if(STATE_DELMESSAGE) - if(src.aicurrmsg) - dat += "Are you sure you want to delete this message? \[ OK | Cancel \]" + if(aicurrmsg) + dat += "Are you sure you want to delete this message? \[ OK | Cancel \]" else - src.aistate = STATE_MESSAGELIST - src.attack_hand(user) + aistate = STATE_MESSAGELIST + attack_hand(user) return if(STATE_STATUSDISPLAY) dat += "Set Status Displays
    " - dat += "\[ Clear \]
    " - dat += "\[ Shuttle ETA \]
    " - dat += "\[ Message \]" - dat += "
    " - dat += "\[ Alert: None |" - dat += " Red Alert |" - dat += " Lockdown |" - dat += " Biohazard \]

    " + dat += "\[ Clear \]
    " + dat += "\[ Shuttle ETA \]
    " + dat += "\[ Message \]" + dat += "
    " + dat += "\[ Alert: None |" + dat += " Red Alert |" + dat += " Lockdown |" + dat += " Biohazard \]

    " if(STATE_ALERT_LEVEL) dat += "Current alert level: [get_security_level()]
    " if(GLOB.security_level == SEC_LEVEL_DELTA) dat += "The self-destruct mechanism is active. Find a way to deactivate the mechanism to lower the alert level or evacuate." else - dat += "Blue
    " - dat += "Green" + dat += "Blue
    " + dat += "Green" if(STATE_TOGGLE_EMERGENCY) if(GLOB.emergency_access == 1) dat += "Emergency Maintenance Access is currently ENABLED" - dat += "
    Restore maintenance access restrictions?
    \[ OK | Cancel \]" + dat += "
    Restore maintenance access restrictions?
    \[ OK | Cancel \]" else dat += "Emergency Maintenance Access is currently DISABLED" - dat += "
    Lift access restrictions on maintenance and external airlocks?
    \[ OK | Cancel \]" + dat += "
    Lift access restrictions on maintenance and external airlocks?
    \[ OK | Cancel \]" - dat += "

    \[ [(src.aistate != STATE_DEFAULT) ? "Main Menu | " : ""]Close \]" + dat += "

    \[ [(aistate != STATE_DEFAULT) ? "Main Menu | " : ""]Close \]" return dat /obj/machinery/computer/communications/proc/make_announcement(mob/living/user, is_silicon) @@ -704,3 +731,22 @@ /obj/machinery/computer/communications/proc/overrideCooldown() var/obj/item/circuitboard/computer/communications/CM = circuit CM.lastTimeUsed = 0 + +/obj/machinery/computer/communications/proc/add_message(datum/comm_message/new_message) + messages += new_message + +/datum/comm_message + var/title + var/content + var/list/possible_answers = list() + var/answered + var/datum/callback/answer_callback + +/datum/comm_message/New(new_title,new_content,new_possible_answers) + ..() + if(title) + title = new_title + if(content) + content = new_content + if(new_possible_answers) + possible_answers = new_possible_answers \ No newline at end of file diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index 2b46f1959c..c308d4335b 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -150,7 +150,7 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) var/pos_y var/life_status - for(var/mob/living/carbon/human/H in GLOB.mob_list) + for(var/mob/living/carbon/human/H in GLOB.carbon_list) // Check if their z-level is correct and if they are wearing a uniform. // Accept H.z==0 as well in case the mob is inside an object. if ((H.z == 0 || H.z == z) && istype(H.w_uniform, /obj/item/clothing/under)) @@ -258,16 +258,12 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) AI.switchCamera(C) /mob/living/carbon/human/Move() + var/old_z = src.z + . = ..() if (src.w_uniform) - var/old_z = src.z - - . = ..() - if (old_z != src.z) GLOB.crewmonitor.queueUpdate(old_z) GLOB.crewmonitor.queueUpdate(src.z) - else - return ..() /datum/crewmonitor/proc/queueUpdate(z) addtimer(CALLBACK(src, .proc/update, z), 5, TIMER_UNIQUE) diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm index c540b51560..7e41d9cc9a 100644 --- a/code/game/machinery/computer/dna_console.dm +++ b/code/game/machinery/computer/dna_console.dm @@ -54,8 +54,8 @@ /obj/machinery/computer/scan_consolenew/Initialize() . = ..() - for(dir in list(NORTH,EAST,SOUTH,WEST)) - connected = locate(/obj/machinery/dna_scannernew, get_step(src, dir)) + for(var/direction in GLOB.cardinals) + connected = locate(/obj/machinery/dna_scannernew, get_step(src, direction)) if(!isnull(connected)) break injectorready = world.time + INJECTOR_TIMEOUT @@ -143,27 +143,27 @@ status += "
    Pulse Duration:
    [radduration]
    " status += "
      \> Accuracy:
    [chance_to_hit]
    " status += "
    " // Close statusDisplay div - var/buttons = "Scan " + var/buttons = "Scan " if(connected) - buttons += " [connected.state_open ? "Close" : "Open"] Scanner " + buttons += " [connected.state_open ? "Close" : "Open"] Scanner " if (connected.state_open) buttons += "[connected.locked ? "Unlock" : "Lock"] Scanner " else - buttons += "[connected.locked ? "Unlock" : "Lock"] Scanner " + buttons += "[connected.locked ? "Unlock" : "Lock"] Scanner " else buttons += "Open Scanner Lock Scanner " if(viable_occupant) - buttons += "Inject Rejuvenators " + buttons += "Inject Rejuvenators " else buttons += "Inject Rejuvenators " if(diskette) - buttons += "Eject Disk " + buttons += "Eject Disk " else buttons += "Eject Disk " if(current_screen == "buffer") - buttons += "Radiation Emitter Menu " + buttons += "Radiation Emitter Menu " else - buttons += "Buffer Menu " + buttons += "Buffer Menu " switch(current_screen) if("working") @@ -182,12 +182,12 @@ if( !buffer_slot || !buffer_slot.len || !buffer_slot["name"] || !((buffer_slot["UI"] && buffer_slot["UE"]) || buffer_slot["SE"]) ) temp_html += "
    \tNo Data" if(viable_occupant) - temp_html += "
    Save to Buffer " + temp_html += "
    Save to Buffer " else temp_html += "
    Save to Buffer " temp_html += "Clear Buffer " if(diskette) - temp_html += "Load from Disk " + temp_html += "Load from Disk " else temp_html += "Load from Disk " temp_html += "Save to Disk " @@ -198,18 +198,18 @@ var/name = buffer_slot["name"] var/label = buffer_slot["label"] var/blood_type = buffer_slot["blood_type"] - temp_html += "
    \tLabel: [label ? label : name]" + temp_html += "
    \tLabel: [label ? label : name]" temp_html += "
    \tSubject: [name]" if(ue && name && blood_type) temp_html += "
    \tBlood Type: [blood_type]" temp_html += "
    \tUE: [ue] " if(viable_occupant) - temp_html += "Occupant " + temp_html += "Occupant " else temp_html += "Occupant" - temp_html += "Occupant:Delayed " + temp_html += "Occupant:Delayed " if(injectorready < world.time) - temp_html += "Injector" + temp_html += "Injector" else temp_html += "Injector" else @@ -218,12 +218,12 @@ if(ui) temp_html += "
    \tUI: [ui] " if(viable_occupant) - temp_html += "Occupant " + temp_html += "Occupant " else temp_html += "Occupant" - temp_html += "Occupant:Delayed " + temp_html += "Occupant:Delayed " if(injectorready < world.time) - temp_html += "Injector" + temp_html += "Injector" else temp_html += "Injector" else @@ -231,38 +231,38 @@ if(ue && name && blood_type && ui) temp_html += "
    \tUI+UE: [ui]/[ue] " if(viable_occupant) - temp_html += "Occupant " + temp_html += "Occupant " else temp_html += "Occupant" - temp_html += "Occupant:Delayed " + temp_html += "Occupant:Delayed " if(injectorready < world.time) - temp_html += "UI+UE Injector" + temp_html += "UI+UE Injector" else temp_html += "UI+UE Injector" if(se) temp_html += "
    \tSE: [se] " if(viable_occupant) - temp_html += "Occupant " + temp_html += "Occupant " else temp_html += "Occupant " - temp_html += "Occupant:Delayed " + temp_html += "Occupant:Delayed " if(injectorready < world.time ) - temp_html += "Injector" + temp_html += "Injector" else temp_html += "Injector" else temp_html += "
    \tSE: No Data" if(viable_occupant) - temp_html += "
    Save to Buffer " + temp_html += "
    Save to Buffer " else temp_html += "
    Save to Buffer " - temp_html += "Clear Buffer " + temp_html += "Clear Buffer " if(diskette) - temp_html += "Load from Disk " + temp_html += "Load from Disk " else temp_html += "Load from Disk " if(diskette && !diskette.read_only) - temp_html += "Save to Disk " + temp_html += "Save to Disk " else temp_html += "Save to Disk " else @@ -270,8 +270,8 @@ temp_html += buttons temp_html += "

    Radiation Emitter Menu

    " - temp_html += "-- Output Level ++" - temp_html += "
    -- Pulse Duration ++" + temp_html += "-- Output Level ++" + temp_html += "
    -- Pulse Duration ++" temp_html += "

    Irradiate Subject

    " temp_html += "
    Unique Identifier:
    " @@ -281,7 +281,7 @@ temp_html += "
    1
    " var/len = length(viable_occupant.dna.uni_identity) for(var/i=1, i<=len, i++) - temp_html += "[copytext(viable_occupant.dna.uni_identity,i,i+1)]" + temp_html += "[copytext(viable_occupant.dna.uni_identity,i,i+1)]" if ((i % max_line_len) == 0) temp_html += "
    " if((i % DNA_BLOCK_SIZE) == 0 && i < len) @@ -295,7 +295,7 @@ temp_html += "
    1
    " var/len = length(viable_occupant.dna.struc_enzymes) for(var/i=1, i<=len, i++) - temp_html += "[copytext(viable_occupant.dna.struc_enzymes,i,i+1)]" + temp_html += "[copytext(viable_occupant.dna.struc_enzymes,i,i+1)]" if ((i % max_line_len) == 0) temp_html += "
    " if((i % DNA_BLOCK_SIZE) == 0 && i < len) diff --git a/code/game/machinery/computer/gulag_teleporter.dm b/code/game/machinery/computer/gulag_teleporter.dm index 3ea4c2f9b2..36da1288a9 100644 --- a/code/game/machinery/computer/gulag_teleporter.dm +++ b/code/game/machinery/computer/gulag_teleporter.dm @@ -129,8 +129,8 @@ /obj/machinery/computer/gulag_teleporter_computer/proc/findteleporter() var/obj/machinery/gulag_teleporter/teleporterf = null - for(dir in GLOB.cardinals) - teleporterf = locate(/obj/machinery/gulag_teleporter, get_step(src, dir)) + for(var/direction in GLOB.cardinals) + teleporterf = locate(/obj/machinery/gulag_teleporter, get_step(src, direction)) if(teleporterf && teleporterf.is_operational()) return teleporterf diff --git a/code/game/machinery/computer/launchpad_control.dm b/code/game/machinery/computer/launchpad_control.dm index d6c8d9e7e9..35fcb20bcc 100644 --- a/code/game/machinery/computer/launchpad_control.dm +++ b/code/game/machinery/computer/launchpad_control.dm @@ -60,7 +60,7 @@ if(pad.stat & NOPOWER) t+= "[pad.display_name]" else - t+= "[pad.display_name]" + t+= "[pad.display_name]" else launchpads -= get_pad(i) t += "
    " @@ -68,24 +68,24 @@ if(current_pad) var/obj/machinery/launchpad/pad = get_pad(current_pad) t += "
    [pad.display_name]
    " - t += "Rename" - t += "Remove

    " - t += "O" //up-left - t += "^" //up - t += "O
    " //up-right - t += "<"//left - t += "R"//reset to 0 - t += ">
    "//right - t += "O"//down-left - t += "v"//down - t += "O
    "//down-right + t += "Rename" + t += "Remove

    " + t += "O" //up-left + t += "^" //up + t += "O
    " //up-right + t += "<"//left + t += "R"//reset to 0 + t += ">
    "//right + t += "O"//down-left + t += "v"//down + t += "O
    "//down-right t += "
    " t += "
    Current offset:

    " t += "
    [abs(pad.y_offset)] [pad.y_offset > 0 ? "N":"S"]

    " t += "
    [abs(pad.x_offset)] [pad.x_offset > 0 ? "E":"W"]

    " - t += "
    Launch" - t += " Pull" + t += "
    Launch" + t += " Pull" var/datum/browser/popup = new(user, "launchpad", name, 300, 500) popup.set_content(t.Join()) diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index 41b41e536e..9e51d9125b 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -39,21 +39,21 @@ return var/dat if(src.temp) - dat = text("[src.temp]

    Clear Screen") + dat = text("[src.temp]

    Clear Screen") else - dat = text("Confirm Identity: []
    ", src, (src.scan ? text("[]", src.scan.name) : "----------")) + dat = text("Confirm Identity: []
    ", (src.scan ? text("[]", src.scan.name) : "----------")) if(src.authenticated) switch(src.screen) if(1) dat += {" -Search Records -
    List Records +Search Records +
    List Records
    -
    Virus Database -
    Medbot Tracking +
    Virus Database +
    Medbot Tracking
    -
    Record Maintenance -
    {Log Out}
    +
    Record Maintenance +
    {Log Out}
    "} if(2) dat += {" @@ -65,10 +65,10 @@ - - + + - +"} @@ -93,7 +93,7 @@ else background = "'background-color:#4F7529;'" - dat += text("", background, src, R.fields["id"], R.fields["name"]) + dat += text("", background, R.fields["id"], R.fields["name"]) dat += text("", R.fields["id"]) dat += text("", R.fields["fingerprint"], b_dna) dat += text("", blood_type) @@ -102,11 +102,11 @@ dat += "
    NameIDNameID Fingerprints (F) | DNA (D)Blood TypeBlood Type Physical Status Mental Status
    []
    [][]F: []
    D: []
    []

    " // if(GLOB.data_core.general) // for(var/datum/data/record/R in sortRecord(GLOB.data_core.general)) -// dat += "[R.fields["id"]]: [R.fields["name"]]
    " +// dat += "
    [R.fields["id"]]: [R.fields["name"]]
    " // //Foreach goto(132) - dat += text("
    Back", src) + dat += "
    Back" if(3) - dat += text("Records Maintenance
    \nBackup To Disk
    \nUpload From Disk
    \nDelete All Records
    \n
    \nBack", src, src, src, src) + dat += "Records Maintenance
    \nBackup To Disk
    \nUpload From Disk
    \nDelete All Records
    \n
    \nBack" if(4) dat += "" @@ -118,45 +118,45 @@ var/obj/item/photo/P2 = active1.fields["photo_side"] user << browse_rsc(P2.img, "photo_side") dat += "" - dat += "" - dat += "" + dat += "" + dat += "" dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" else dat += "" dat += "" if(active2 in GLOB.data_core.medical) - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" //(per disease info placed in log/comment section) - dat += "" - dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" //(per disease info placed in log/comment section) + dat += "" + dat += "" dat += "" var/counter = 1 while(src.active2.fields[text("com_[]", counter)]) - dat += "" + dat += "" counter++ - dat += "" + dat += "" - dat += "" + dat += "" else dat += "" - dat += "" - dat += "" - dat += "" + dat += "" + dat += "" + dat += "" dat += "
    Medical Record
    Name:[active1.fields["name"]]
    ID:[active1.fields["id"]]
    Sex: [active1.fields["sex"]] 
    Age: [active1.fields["age"]] 
    Species: [active1.fields["species"]] 
    Fingerprint: [active1.fields["fingerprint"]] 
    Physical Status: [active1.fields["p_stat"]] 
    Mental Status: [active1.fields["m_stat"]] 
    Sex: [active1.fields["sex"]] 
    Age: [active1.fields["age"]] 
    Species: [active1.fields["species"]] 
    Fingerprint: [active1.fields["fingerprint"]] 
    Physical Status: [active1.fields["p_stat"]] 
    Mental Status: [active1.fields["m_stat"]] 
    General Record Lost!

    Medical Data
    Blood Type: [active2.fields["blood_type"]] 
    DNA: [active2.fields["b_dna"]] 

    Minor Disabilities:

     [active2.fields["mi_dis"]] 
    Details: [active2.fields["mi_dis_d"]] 

    Major Disabilities:

     [active2.fields["ma_dis"]] 
    Details: [active2.fields["ma_dis_d"]] 

    Allergies:

     [active2.fields["alg"]] 
    Details: [active2.fields["alg_d"]] 

    Current Diseases:

     [active2.fields["cdi"]] 
    Details: [active2.fields["cdi_d"]] 

    Important Notes:

     [active2.fields["notes"]] 
    Blood Type: [active2.fields["blood_type"]] 
    DNA: [active2.fields["b_dna"]] 

    Minor Disabilities:

     [active2.fields["mi_dis"]] 
    Details: [active2.fields["mi_dis_d"]] 

    Major Disabilities:

     [active2.fields["ma_dis"]] 
    Details: [active2.fields["ma_dis_d"]] 

    Allergies:

     [active2.fields["alg"]] 
    Details: [active2.fields["alg_d"]] 

    Current Diseases:

     [active2.fields["cdi"]] 
    Details: [active2.fields["cdi_d"]] 

    Important Notes:

     [active2.fields["notes"]] 

    Comments/Log
    [active2.fields[text("com_[]", counter)]]
    Delete Entry
    [active2.fields[text("com_[]", counter)]]
    Delete Entry
    Add Entry
    Add Entry

    Delete Record (Medical Only)

    Delete Record (Medical Only)
    Medical Record Lost!

    New Record
    Print Record
    Back

    New Record
    Print Record
    Back
    " if(5) dat += "
    Virus Database
    " @@ -166,14 +166,14 @@ continue // TODO (tm): Add advance diseases to the virus database which no one uses. if(!Dis.desc) continue - dat += "
    [Dis.name]" - dat += "
    Back" + dat += "
    [Dis.name]" + dat += "
    Back" if(6) dat += "
    Medical Robot Monitor
    " - dat += "Back" + dat += "Back" dat += "
    Medical Robots:" var/bdat = null - for(var/mob/living/simple_animal/bot/medbot/M in GLOB.living_mob_list) + for(var/mob/living/simple_animal/bot/medbot/M in GLOB.alive_mob_list) if(M.z != src.z) continue //only find medibots on the same z-level as the computer var/turf/bl = get_turf(M) @@ -191,7 +191,7 @@ else else - dat += text("{Log In}", src) + dat += "{Log In}" var/datum/browser/popup = new(user, "med_rec", "Medical Records Console", 600, 400) popup.set_content(dat) popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) @@ -286,7 +286,7 @@
    Severity: [Dis.severity]"} else if(href_list["del_all"]) - src.temp = text("Are you sure you wish to delete all records?
    \n\tYes
    \n\tNo
    ", src, src) + src.temp = "Are you sure you wish to delete all records?
    \n\tYes
    \n\tNo
    " else if(href_list["del_all2"]) investigate_log("[usr.name] ([usr.key]) has deleted all medical records.", INVESTIGATE_RECORDS) @@ -377,13 +377,13 @@ src.active2.fields["notes"] = t1 if("p_stat") if(active1) - src.temp = text("Physical Condition:
    \n\t*Deceased*
    \n\t*Unconscious*
    \n\tActive
    \n\tPhysically Unfit
    ", src, src, src, src) + src.temp = "Physical Condition:
    \n\t*Deceased*
    \n\t*Unconscious*
    \n\tActive
    \n\tPhysically Unfit
    " if("m_stat") if(active1) - src.temp = text("Mental Condition:
    \n\t*Insane*
    \n\t*Unstable*
    \n\t*Watch*
    \n\tStable
    ", src, src, src, src) + src.temp = "Mental Condition:
    \n\t*Insane*
    \n\t*Unstable*
    \n\t*Watch*
    \n\tStable
    " if("blood_type") if(active2) - src.temp = text("Blood Type:
    \n\tA- A+
    \n\tB- B+
    \n\tAB- AB+
    \n\tO- O+
    ", src, src, src, src, src, src, src, src) + src.temp = "Blood Type:
    \n\tA- A+
    \n\tB- B+
    \n\tAB- AB+
    \n\tO- O+
    " if("b_dna") if(active2) var/t1 = stripped_input("Please input DNA hash:", "Med. records", src.active2.fields["b_dna"], null) @@ -452,7 +452,7 @@ else if(href_list["del_r"]) if(active2) - src.temp = text("Are you sure you wish to delete the record (Medical Portion Only)?
    \n\tYes
    \n\tNo
    ", src, src) + src.temp = "Are you sure you wish to delete the record (Medical Portion Only)?
    \n\tYes
    \n\tNo
    " else if(href_list["del_r2"]) investigate_log("[usr.name] ([usr.key]) has deleted the medical records for [active1.fields["name"]].", INVESTIGATE_RECORDS) @@ -575,7 +575,7 @@ if(4) R.fields["blood_type"] = random_blood_type() if(5) - R.fields["p_stat"] = pick("*Unconcious*", "Active", "Physically Unfit") + R.fields["p_stat"] = pick("*Unconscious*", "Active", "Physically Unfit") if(6) R.fields["m_stat"] = pick("*Insane*", "*Unstable*", "*Watch*", "Stable") continue diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm index 5ba20bc527..d41bcce164 100644 --- a/code/game/machinery/computer/message.dm +++ b/code/game/machinery/computer/message.dm @@ -1,473 +1,472 @@ - -// Allows you to monitor messages that passes the server. - - - - -/obj/machinery/computer/message_monitor - name = "message monitor console" - desc = "Used to Monitor the crew's messages, that are sent via PDA. Can also be used to view Request Console messages." - icon_screen = "comm_logs" - circuit = /obj/item/circuitboard/computer/message_monitor - //Server linked to. - var/obj/machinery/message_server/linkedServer = null - //Sparks effect - For emag - var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread - //Messages - Saves me time if I want to change something. - var/noserver = "ALERT: No server detected." - var/incorrectkey = "ALERT: Incorrect decryption key!" - var/defaultmsg = "Welcome. Please select an option." - var/rebootmsg = "%$&(�: Critical %$$@ Error // !RestArting! - ?pLeaSe wAit!" - //Computer properties - var/screen = 0 // 0 = Main menu, 1 = Message Logs, 2 = Hacked screen, 3 = Custom Message - var/hacking = 0 // Is it being hacked into by the AI/Cyborg - var/message = "System bootup complete. Please select an option." // The message that shows on the main menu. - var/auth = 0 // Are they authenticated? - var/optioncount = 7 - // Custom Message Properties - var/customsender = "System Administrator" - var/obj/item/device/pda/customrecepient = null - var/customjob = "Admin" - var/custommessage = "This is a test, please ignore." - - light_color = LIGHT_COLOR_GREEN - -/obj/machinery/computer/message_monitor/attackby(obj/item/O, mob/living/user, params) - if(istype(O, /obj/item/screwdriver) && emagged) - //Stops people from just unscrewing the monitor and putting it back to get the console working again. - to_chat(user, "It is too hot to mess with!") - else - return ..() - -/obj/machinery/computer/message_monitor/emag_act(mob/user) - if(emagged) - return - if(!isnull(src.linkedServer)) - emagged = TRUE - screen = 2 - spark_system.set_up(5, 0, src) - src.spark_system.start() - var/obj/item/paper/monitorkey/MK = new/obj/item/paper/monitorkey - MK.loc = src.loc - // Will help make emagging the console not so easy to get away with. - MK.info += "

    �%@%(*$%&(�&?*(%&�/{}" - var/time = 100 * length(src.linkedServer.decryptkey) - addtimer(CALLBACK(src, .proc/UnmagConsole), time) - message = rebootmsg - else - to_chat(user, "A no server error appears on the screen.") - -/obj/machinery/computer/message_monitor/Initialize() - . = ..() - //Is the server isn't linked to a server, and there's a server available, default it to the first one in the list. - if(!linkedServer) - if(GLOB.message_servers && GLOB.message_servers.len > 0) - linkedServer = GLOB.message_servers[1] - -/obj/machinery/computer/message_monitor/attack_hand(mob/living/user) - if(..()) - return - //If the computer is being hacked or is emagged, display the reboot message. - if(hacking || emagged) - message = rebootmsg - var/dat = "
    /
    " - - if(auth) - dat += "

    \[Authenticated\] /" - dat += " Server Power: [src.linkedServer && src.linkedServer.active ? "\[On\]":"\[Off\]"]

    " - else - dat += "

    \[Unauthenticated\] /" - dat += " Server Power: [src.linkedServer && src.linkedServer.active ? "\[On\]":"\[Off\]"]

    " - - if(hacking || emagged) - screen = 2 - else if(!auth || !linkedServer || (linkedServer.stat & (NOPOWER|BROKEN))) - if(!linkedServer || (linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - screen = 0 - - switch(screen) - //Main menu - if(0) - // = TAB - var/i = 0 - dat += "
    [++i]. Link To A Server
    " - if(auth) - if(!linkedServer || (linkedServer.stat & (NOPOWER|BROKEN))) - dat += "
    ERROR: Server not found!
    " - else - dat += "
    [++i]. View Message Logs
    " - dat += "
    [++i]. View Request Console Logs
    " - dat += "
    [++i]. Clear Message Logs
    " - dat += "
    [++i]. Clear Request Console Logs
    " - dat += "
    [++i]. Set Custom Key
    " - dat += "
    [++i]. Send Admin Message
    " - else - for(var/n = ++i; n <= optioncount; n++) - dat += "
    [n]. ---------------
    " - if(issilicon(usr) && is_special_character(usr)) - //Malf/Traitor AIs can bruteforce into the system to gain the Key. - dat += "
    *&@#. Bruteforce Key
    " - else - dat += "
    " - - //Bottom message - if(!auth) - dat += "

    Please authenticate with the server in order to show additional options." - else - dat += "

    Reg, #514 forbids sending messages to a Head of Staff containing Erotic Rendering Properties." - - //Message Logs - if(1) - var/index = 0 - //var/recipient = "Unspecified" //name of the person - //var/sender = "Unspecified" //name of the sender - //var/message = "Blank" //transferred message - dat += "
    Back - Refresh

    " - dat += "" - for(var/datum/data_pda_msg/pda in src.linkedServer.pda_msgs) - index++ - if(index > 3000) - break - // Del - Sender - Recepient - Message - // X - Al Green - Your Mom - WHAT UP!? - dat += "" - dat += "
    XSenderRecipientMessage
    X
    [pda.sender][pda.recipient][pda.message][pda.photo ? "(Photo)":""]
    " - //Hacking screen. - if(2) - if(isAI(user) || iscyborg(user)) - dat += "Brute-forcing for server key.
    It will take 20 seconds for every character that the password has." - dat += "In the meantime, this console can reveal your true intentions if you let someone access it. Make sure no humans enter the room during that time." - else - //It's the same message as the one above but in binary. Because robots understand binary and humans don't... well I thought it was clever. - dat += {"01000010011100100111010101110100011001010010110
    - 10110011001101111011100100110001101101001011011100110011
    - 10010000001100110011011110111001000100000011100110110010
    - 10111001001110110011001010111001000100000011010110110010
    - 10111100100101110001000000100100101110100001000000111011
    - 10110100101101100011011000010000001110100011000010110101
    - 10110010100100000001100100011000000100000011100110110010
    - 10110001101101111011011100110010001110011001000000110011
    - 00110111101110010001000000110010101110110011001010111001
    - 00111100100100000011000110110100001100001011100100110000
    - 10110001101110100011001010111001000100000011101000110100
    - 00110000101110100001000000111010001101000011001010010000
    - 00111000001100001011100110111001101110111011011110111001
    - 00110010000100000011010000110000101110011001011100010000
    - 00100100101101110001000000111010001101000011001010010000
    - 00110110101100101011000010110111001110100011010010110110
    - 10110010100101100001000000111010001101000011010010111001
    - 10010000001100011011011110110111001110011011011110110110
    - 00110010100100000011000110110000101101110001000000111001
    - 00110010101110110011001010110000101101100001000000111100
    - 10110111101110101011100100010000001110100011100100111010
    - 10110010100100000011010010110111001110100011001010110111
    - 00111010001101001011011110110111001110011001000000110100
    - 10110011000100000011110010110111101110101001000000110110
    - 00110010101110100001000000111001101101111011011010110010
    - 10110111101101110011001010010000001100001011000110110001
    - 10110010101110011011100110010000001101001011101000010111
    - 00010000001001101011000010110101101100101001000000111001
    - 10111010101110010011001010010000001101110011011110010000
    - 00110100001110101011011010110000101101110011100110010000
    - 00110010101101110011101000110010101110010001000000111010
    - 00110100001100101001000000111001001101111011011110110110
    - 10010000001100100011101010111001001101001011011100110011
    - 10010000001110100011010000110000101110100001000000111010
    - 001101001011011010110010100101110"} - - //Fake messages - if(3) - dat += "
    Back - Reset

    " - - dat += {" - - - - "} - //Sender - Sender's Job - Recepient - Message - //Al Green- Your Dad - Your Mom - WHAT UP!? - - dat += {" - - - "} - dat += "
    SenderSender's JobRecipientMessage
    [customsender][customjob][customrecepient ? customrecepient.owner : "NONE"][custommessage]

    Send" - - //Request Console Logs - if(4) - - var/index = 0 - /* data_rc_msg - X - 5% - var/rec_dpt = "Unspecified" //name of the person - 15% - var/send_dpt = "Unspecified" //name of the sender- 15% - var/message = "Blank" //transferred message - 300px - var/stamp = "Unstamped" - 15% - var/id_auth = "Unauthenticated" - 15% - var/priority = "Normal" - 10% - */ - dat += "
    Back - Refresh

    " - dat += {" - "} - for(var/datum/data_rc_msg/rc in src.linkedServer.rc_msgs) - index++ - if(index > 3000) - break - // Del - Sender - Recepient - Message - // X - Al Green - Your Mom - WHAT UP!? - dat += {" - "} - dat += "
    XSending Dep.Receiving Dep.MessageStampID Auth.Priority.
    X
    [rc.send_dpt][rc.rec_dpt][rc.message][rc.stamp][rc.id_auth][rc.priority]
    " - - message = defaultmsg - var/datum/browser/popup = new(user, "hologram_console", name, 700, 700) - popup.set_content(dat) - popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) - popup.open() - return - -/obj/machinery/computer/message_monitor/proc/BruteForce(mob/user) - if(isnull(linkedServer)) - to_chat(user, "Could not complete brute-force: Linked Server Disconnected!") - else - var/currentKey = src.linkedServer.decryptkey - to_chat(user, "Brute-force completed! The key is '[currentKey]'.") - src.hacking = 0 - src.screen = 0 // Return the screen back to normal - -/obj/machinery/computer/message_monitor/proc/UnmagConsole() - emagged = FALSE - -/obj/machinery/computer/message_monitor/proc/ResetMessage() - customsender = "System Administrator" - customrecepient = null - custommessage = "This is a test, please ignore." - customjob = "Admin" - -/obj/machinery/computer/message_monitor/Topic(href, href_list) - if(..()) - return - - if(usr.contents.Find(src) || (in_range(src, usr) && isturf(loc)) || issilicon(usr)) - //Authenticate - if (href_list["auth"]) - if(!linkedServer || linkedServer.stat & (NOPOWER|BROKEN)) - message = noserver - else - if(auth) - auth = 0 - screen = 0 - else - var/dkey = trim(input(usr, "Please enter the decryption key.") as text|null) - if(dkey && dkey != "") - if(src.linkedServer.decryptkey == dkey) - auth = 1 - else - message = incorrectkey - - //Turn the server on/off. - if (href_list["active"]) - if(auth) - linkedServer.active = !linkedServer.active - //Find a server - if (href_list["find"]) - if(GLOB.message_servers && GLOB.message_servers.len > 1) - src.linkedServer = input(usr,"Please select a server.", "Select a server.", null) as null|anything in GLOB.message_servers - message = "NOTICE: Server selected." - else if(GLOB.message_servers && GLOB.message_servers.len > 0) - linkedServer = GLOB.message_servers[1] - message = "NOTICE: Only Single Server Detected - Server selected." - else - message = noserver - - //View the logs - KEY REQUIRED - if (href_list["view"]) - if(src.linkedServer == null || (src.linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - else - if(auth) - src.screen = 1 - - //Clears the logs - KEY REQUIRED - if (href_list["clear"]) - if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - else - if(auth) - src.linkedServer.pda_msgs = list() - message = "NOTICE: Logs cleared." - //Clears the request console logs - KEY REQUIRED - if (href_list["clearr"]) - if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - else - if(auth) - src.linkedServer.rc_msgs = list() - message = "NOTICE: Logs cleared." - //Change the password - KEY REQUIRED - if (href_list["pass"]) - if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - else - if(auth) - var/dkey = trim(stripped_input(usr, "Please enter the decryption key.")) - if(dkey && dkey != "") - if(src.linkedServer.decryptkey == dkey) - var/newkey = trim(input(usr,"Please enter the new key (3 - 16 characters max):")) - if(length(newkey) <= 3) - message = "NOTICE: Decryption key too short!" - else if(length(newkey) > 16) - message = "NOTICE: Decryption key too long!" - else if(newkey && newkey != "") - src.linkedServer.decryptkey = newkey - message = "NOTICE: Decryption key set." - else - message = incorrectkey - - //Hack the Console to get the password - if (href_list["hack"]) - if(issilicon(usr) && is_special_character(usr)) - src.hacking = 1 - src.screen = 2 - //Time it takes to bruteforce is dependant on the password length. - spawn(100*length(src.linkedServer.decryptkey)) - if(src && src.linkedServer && usr) - BruteForce(usr) - //Delete the log. - if (href_list["delete"]) - //Are they on the view logs screen? - if(screen == 1) - if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - else //if(istype(href_list["delete"], /datum/data_pda_msg)) - src.linkedServer.pda_msgs -= locate(href_list["delete"]) - message = "NOTICE: Log Deleted!" - //Delete the request console log. - if (href_list["deleter"]) - //Are they on the view logs screen? - if(screen == 4) - if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - else //if(istype(href_list["delete"], /datum/data_pda_msg)) - src.linkedServer.rc_msgs -= locate(href_list["deleter"]) - message = "NOTICE: Log Deleted!" - //Create a custom message - if (href_list["msg"]) - if(src.linkedServer == null || (src.linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - else - if(auth) - src.screen = 3 - //Fake messaging selection - KEY REQUIRED - if (href_list["select"]) - if(src.linkedServer == null || (src.linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - screen = 0 - else - switch(href_list["select"]) - - //Reset - if("Reset") - ResetMessage() - - //Select Your Name - if("Sender") - customsender = stripped_input(usr, "Please enter the sender's name.") - - //Select Receiver - if("Recepient") - //Get out list of viable PDAs - var/list/obj/item/device/pda/sendPDAs = get_viewable_pdas() - if(GLOB.PDAs && GLOB.PDAs.len > 0) - customrecepient = input(usr, "Select a PDA from the list.") as null|anything in sortNames(sendPDAs) - else - customrecepient = null - - //Enter custom job - if("RecJob") - customjob = stripped_input(usr, "Please enter the sender's job.") - - //Enter message - if("Message") - custommessage = stripped_input(usr, "Please enter your message.") - - //Send message - if("Send") - - if(isnull(customsender) || customsender == "") - customsender = "UNKNOWN" - - if(isnull(customrecepient)) - message = "NOTICE: No recepient selected!" - return src.attack_hand(usr) - - if(isnull(custommessage) || custommessage == "") - message = "NOTICE: No message entered!" - return src.attack_hand(usr) - - var/obj/item/device/pda/PDARec = null - for (var/obj/item/device/pda/P in get_viewable_pdas()) - if(P.owner == customsender) - PDARec = P - //Sender isn't faking as someone who exists - if(isnull(PDARec)) - src.linkedServer.send_pda_message("[customrecepient.owner]", "[customsender]","[custommessage]") - customrecepient.tnote += "← From
    [customsender] ([customjob]):
    [custommessage]
    " - if (!customrecepient.silent) - playsound(customrecepient.loc, 'sound/machines/twobeep.ogg', 50, 1) - customrecepient.audible_message("[icon2html(customrecepient, viewers(customrecepient))] *[customrecepient.ttone]*", null, 3) - if( customrecepient.loc && ishuman(customrecepient.loc) ) - var/mob/living/carbon/human/H = customrecepient.loc - to_chat(H, "[icon2html(customrecepient, viewers(H))] Message from [customsender] ([customjob]), \"[custommessage]\" (Reply)") - log_talk(usr,"[key_name(usr)] (PDA: [customsender]) sent \"[custommessage]\" to [customrecepient.owner]",LOGPDA) - customrecepient.cut_overlays() - customrecepient.add_overlay(mutable_appearance('icons/obj/pda.dmi', "pda-r")) - //Sender is faking as someone who exists - else - src.linkedServer.send_pda_message("[customrecepient.owner]", "[PDARec.owner]","[custommessage]") - customrecepient.tnote += "← From [PDARec.owner] ([customjob]):
    [custommessage]
    " - if (!customrecepient.silent) - playsound(customrecepient.loc, 'sound/machines/twobeep.ogg', 50, 1) - customrecepient.audible_message("[icon2html(customrecepient, viewers(customrecepient))] *[customrecepient.ttone]*", null, 3) - if( customrecepient.loc && ishuman(customrecepient.loc) ) - var/mob/living/carbon/human/H = customrecepient.loc - to_chat(H, "[icon2html(customrecepient, H)] Message from [PDARec.owner] ([customjob]), \"[custommessage]\" (Reply)") - log_talk(usr,"[key_name(usr)] (PDA: [PDARec.owner]) sent \"[custommessage]\" to [customrecepient.owner]",LOGPDA) - customrecepient.cut_overlays() - customrecepient.add_overlay(mutable_appearance('icons/obj/pda.dmi', "pda-r")) - //Finally.. - ResetMessage() - - //Request Console Logs - KEY REQUIRED - if(href_list["viewr"]) - if(src.linkedServer == null || (src.linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - else - if(auth) - src.screen = 4 - - if (href_list["back"]) - src.screen = 0 - - return src.attack_hand(usr) - - -/obj/item/paper/monitorkey - //..() - name = "monitor decryption key" - var/obj/machinery/message_server/server = null - -/obj/item/paper/monitorkey/Initialize() - ..() - return INITIALIZE_HINT_LATELOAD - -/obj/item/paper/monitorkey/LateInitialize() - if(GLOB.message_servers) - for(var/obj/machinery/message_server/server in GLOB.message_servers) - if(!isnull(server)) - if(!isnull(server.decryptkey)) - info = "

    Daily Key Reset


    The new message monitor key is '[server.decryptkey]'.
    Please keep this a secret and away from the clown.
    If necessary, change the password to a more secure one." - info_links = info - add_overlay("paper_words") - break +// Allows you to monitor messages that passes the server. + + + + +/obj/machinery/computer/message_monitor + name = "message monitor console" + desc = "Used to Monitor the crew's messages, that are sent via PDA. Can also be used to view Request Console messages." + icon_screen = "comm_logs" + circuit = /obj/item/circuitboard/computer/message_monitor + //Server linked to. + var/obj/machinery/message_server/linkedServer = null + //Sparks effect - For emag + var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread + //Messages - Saves me time if I want to change something. + var/noserver = "ALERT: No server detected." + var/incorrectkey = "ALERT: Incorrect decryption key!" + var/defaultmsg = "Welcome. Please select an option." + var/rebootmsg = "%$&(�: Critical %$$@ Error // !RestArting! - ?pLeaSe wAit!" + //Computer properties + var/screen = 0 // 0 = Main menu, 1 = Message Logs, 2 = Hacked screen, 3 = Custom Message + var/hacking = 0 // Is it being hacked into by the AI/Cyborg + var/message = "System bootup complete. Please select an option." // The message that shows on the main menu. + var/auth = 0 // Are they authenticated? + var/optioncount = 7 + // Custom Message Properties + var/customsender = "System Administrator" + var/obj/item/device/pda/customrecepient = null + var/customjob = "Admin" + var/custommessage = "This is a test, please ignore." + + light_color = LIGHT_COLOR_GREEN + +/obj/machinery/computer/message_monitor/attackby(obj/item/O, mob/living/user, params) + if(istype(O, /obj/item/screwdriver) && emagged) + //Stops people from just unscrewing the monitor and putting it back to get the console working again. + to_chat(user, "It is too hot to mess with!") + else + return ..() + +/obj/machinery/computer/message_monitor/emag_act(mob/user) + if(emagged) + return + if(!isnull(src.linkedServer)) + emagged = TRUE + screen = 2 + spark_system.set_up(5, 0, src) + src.spark_system.start() + var/obj/item/paper/monitorkey/MK = new/obj/item/paper/monitorkey + MK.loc = src.loc + // Will help make emagging the console not so easy to get away with. + MK.info += "

    �%@%(*$%&(�&?*(%&�/{}" + var/time = 100 * length(src.linkedServer.decryptkey) + addtimer(CALLBACK(src, .proc/UnmagConsole), time) + message = rebootmsg + else + to_chat(user, "A no server error appears on the screen.") + +/obj/machinery/computer/message_monitor/Initialize() + . = ..() + //Is the server isn't linked to a server, and there's a server available, default it to the first one in the list. + if(!linkedServer) + if(GLOB.message_servers && GLOB.message_servers.len > 0) + linkedServer = GLOB.message_servers[1] + +/obj/machinery/computer/message_monitor/attack_hand(mob/living/user) + if(..()) + return + //If the computer is being hacked or is emagged, display the reboot message. + if(hacking || emagged) + message = rebootmsg + var/dat = "
    /
    " + + if(auth) + dat += "

    \[Authenticated\] /" + dat += " Server Power: [src.linkedServer && src.linkedServer.active ? "\[On\]":"\[Off\]"]

    " + else + dat += "

    \[Unauthenticated\] /" + dat += " Server Power: [src.linkedServer && src.linkedServer.active ? "\[On\]":"\[Off\]"]

    " + + if(hacking || emagged) + screen = 2 + else if(!auth || !linkedServer || (linkedServer.stat & (NOPOWER|BROKEN))) + if(!linkedServer || (linkedServer.stat & (NOPOWER|BROKEN))) + message = noserver + screen = 0 + + switch(screen) + //Main menu + if(0) + // = TAB + var/i = 0 + dat += "
    [++i]. Link To A Server
    " + if(auth) + if(!linkedServer || (linkedServer.stat & (NOPOWER|BROKEN))) + dat += "
    ERROR: Server not found!
    " + else + dat += "
    [++i]. View Message Logs
    " + dat += "
    [++i]. View Request Console Logs
    " + dat += "
    [++i]. Clear Message Logs
    " + dat += "
    [++i]. Clear Request Console Logs
    " + dat += "
    [++i]. Set Custom Key
    " + dat += "
    [++i]. Send Admin Message
    " + else + for(var/n = ++i; n <= optioncount; n++) + dat += "
    [n]. ---------------
    " + if(issilicon(usr) && is_special_character(usr)) + //Malf/Traitor AIs can bruteforce into the system to gain the Key. + dat += "
    *&@#. Bruteforce Key
    " + else + dat += "
    " + + //Bottom message + if(!auth) + dat += "

    Please authenticate with the server in order to show additional options." + else + dat += "

    Reg, #514 forbids sending messages to a Head of Staff containing Erotic Rendering Properties." + + //Message Logs + if(1) + var/index = 0 + //var/recipient = "Unspecified" //name of the person + //var/sender = "Unspecified" //name of the sender + //var/message = "Blank" //transferred message + dat += "
    Back - Refresh

    " + dat += "" + for(var/datum/data_pda_msg/pda in src.linkedServer.pda_msgs) + index++ + if(index > 3000) + break + // Del - Sender - Recepient - Message + // X - Al Green - Your Mom - WHAT UP!? + dat += "" + dat += "
    XSenderRecipientMessage
    X
    [pda.sender][pda.recipient][pda.message][pda.photo ? "(Photo)":""]
    " + //Hacking screen. + if(2) + if(isAI(user) || iscyborg(user)) + dat += "Brute-forcing for server key.
    It will take 20 seconds for every character that the password has." + dat += "In the meantime, this console can reveal your true intentions if you let someone access it. Make sure no humans enter the room during that time." + else + //It's the same message as the one above but in binary. Because robots understand binary and humans don't... well I thought it was clever. + dat += {"01000010011100100111010101110100011001010010110
    + 10110011001101111011100100110001101101001011011100110011
    + 10010000001100110011011110111001000100000011100110110010
    + 10111001001110110011001010111001000100000011010110110010
    + 10111100100101110001000000100100101110100001000000111011
    + 10110100101101100011011000010000001110100011000010110101
    + 10110010100100000001100100011000000100000011100110110010
    + 10110001101101111011011100110010001110011001000000110011
    + 00110111101110010001000000110010101110110011001010111001
    + 00111100100100000011000110110100001100001011100100110000
    + 10110001101110100011001010111001000100000011101000110100
    + 00110000101110100001000000111010001101000011001010010000
    + 00111000001100001011100110111001101110111011011110111001
    + 00110010000100000011010000110000101110011001011100010000
    + 00100100101101110001000000111010001101000011001010010000
    + 00110110101100101011000010110111001110100011010010110110
    + 10110010100101100001000000111010001101000011010010111001
    + 10010000001100011011011110110111001110011011011110110110
    + 00110010100100000011000110110000101101110001000000111001
    + 00110010101110110011001010110000101101100001000000111100
    + 10110111101110101011100100010000001110100011100100111010
    + 10110010100100000011010010110111001110100011001010110111
    + 00111010001101001011011110110111001110011001000000110100
    + 10110011000100000011110010110111101110101001000000110110
    + 00110010101110100001000000111001101101111011011010110010
    + 10110111101101110011001010010000001100001011000110110001
    + 10110010101110011011100110010000001101001011101000010111
    + 00010000001001101011000010110101101100101001000000111001
    + 10111010101110010011001010010000001101110011011110010000
    + 00110100001110101011011010110000101101110011100110010000
    + 00110010101101110011101000110010101110010001000000111010
    + 00110100001100101001000000111001001101111011011110110110
    + 10010000001100100011101010111001001101001011011100110011
    + 10010000001110100011010000110000101110100001000000111010
    + 001101001011011010110010100101110"} + + //Fake messages + if(3) + dat += "
    Back - Reset

    " + + dat += {" + + + + "} + //Sender - Sender's Job - Recepient - Message + //Al Green- Your Dad - Your Mom - WHAT UP!? + + dat += {" + + + "} + dat += "
    SenderSender's JobRecipientMessage
    [customsender][customjob][customrecepient ? customrecepient.owner : "NONE"][custommessage]

    Send" + + //Request Console Logs + if(4) + + var/index = 0 + /* data_rc_msg + X - 5% + var/rec_dpt = "Unspecified" //name of the person - 15% + var/send_dpt = "Unspecified" //name of the sender- 15% + var/message = "Blank" //transferred message - 300px + var/stamp = "Unstamped" - 15% + var/id_auth = "Unauthenticated" - 15% + var/priority = "Normal" - 10% + */ + dat += "
    Back - Refresh

    " + dat += {" + "} + for(var/datum/data_rc_msg/rc in src.linkedServer.rc_msgs) + index++ + if(index > 3000) + break + // Del - Sender - Recepient - Message + // X - Al Green - Your Mom - WHAT UP!? + dat += {" + "} + dat += "
    XSending Dep.Receiving Dep.MessageStampID Auth.Priority.
    X
    [rc.send_dpt][rc.rec_dpt][rc.message][rc.stamp][rc.id_auth][rc.priority]
    " + + message = defaultmsg + var/datum/browser/popup = new(user, "hologram_console", name, 700, 700) + popup.set_content(dat) + popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) + popup.open() + return + +/obj/machinery/computer/message_monitor/proc/BruteForce(mob/user) + if(isnull(linkedServer)) + to_chat(user, "Could not complete brute-force: Linked Server Disconnected!") + else + var/currentKey = src.linkedServer.decryptkey + to_chat(user, "Brute-force completed! The key is '[currentKey]'.") + src.hacking = 0 + src.screen = 0 // Return the screen back to normal + +/obj/machinery/computer/message_monitor/proc/UnmagConsole() + emagged = FALSE + +/obj/machinery/computer/message_monitor/proc/ResetMessage() + customsender = "System Administrator" + customrecepient = null + custommessage = "This is a test, please ignore." + customjob = "Admin" + +/obj/machinery/computer/message_monitor/Topic(href, href_list) + if(..()) + return + + if(usr.contents.Find(src) || (in_range(src, usr) && isturf(loc)) || issilicon(usr)) + //Authenticate + if (href_list["auth"]) + if(!linkedServer || linkedServer.stat & (NOPOWER|BROKEN)) + message = noserver + else + if(auth) + auth = 0 + screen = 0 + else + var/dkey = trim(input(usr, "Please enter the decryption key.") as text|null) + if(dkey && dkey != "") + if(src.linkedServer.decryptkey == dkey) + auth = 1 + else + message = incorrectkey + + //Turn the server on/off. + if (href_list["active"]) + if(auth) + linkedServer.active = !linkedServer.active + //Find a server + if (href_list["find"]) + if(GLOB.message_servers && GLOB.message_servers.len > 1) + src.linkedServer = input(usr,"Please select a server.", "Select a server.", null) as null|anything in GLOB.message_servers + message = "NOTICE: Server selected." + else if(GLOB.message_servers && GLOB.message_servers.len > 0) + linkedServer = GLOB.message_servers[1] + message = "NOTICE: Only Single Server Detected - Server selected." + else + message = noserver + + //View the logs - KEY REQUIRED + if (href_list["view"]) + if(src.linkedServer == null || (src.linkedServer.stat & (NOPOWER|BROKEN))) + message = noserver + else + if(auth) + src.screen = 1 + + //Clears the logs - KEY REQUIRED + if (href_list["clear"]) + if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN))) + message = noserver + else + if(auth) + src.linkedServer.pda_msgs = list() + message = "NOTICE: Logs cleared." + //Clears the request console logs - KEY REQUIRED + if (href_list["clearr"]) + if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN))) + message = noserver + else + if(auth) + src.linkedServer.rc_msgs = list() + message = "NOTICE: Logs cleared." + //Change the password - KEY REQUIRED + if (href_list["pass"]) + if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN))) + message = noserver + else + if(auth) + var/dkey = trim(stripped_input(usr, "Please enter the decryption key.")) + if(dkey && dkey != "") + if(src.linkedServer.decryptkey == dkey) + var/newkey = trim(input(usr,"Please enter the new key (3 - 16 characters max):")) + if(length(newkey) <= 3) + message = "NOTICE: Decryption key too short!" + else if(length(newkey) > 16) + message = "NOTICE: Decryption key too long!" + else if(newkey && newkey != "") + src.linkedServer.decryptkey = newkey + message = "NOTICE: Decryption key set." + else + message = incorrectkey + + //Hack the Console to get the password + if (href_list["hack"]) + if(issilicon(usr) && is_special_character(usr)) + src.hacking = 1 + src.screen = 2 + //Time it takes to bruteforce is dependant on the password length. + spawn(100*length(src.linkedServer.decryptkey)) + if(src && src.linkedServer && usr) + BruteForce(usr) + //Delete the log. + if (href_list["delete"]) + //Are they on the view logs screen? + if(screen == 1) + if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN))) + message = noserver + else //if(istype(href_list["delete"], /datum/data_pda_msg)) + src.linkedServer.pda_msgs -= locate(href_list["delete"]) + message = "NOTICE: Log Deleted!" + //Delete the request console log. + if (href_list["deleter"]) + //Are they on the view logs screen? + if(screen == 4) + if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN))) + message = noserver + else //if(istype(href_list["delete"], /datum/data_pda_msg)) + src.linkedServer.rc_msgs -= locate(href_list["deleter"]) + message = "NOTICE: Log Deleted!" + //Create a custom message + if (href_list["msg"]) + if(src.linkedServer == null || (src.linkedServer.stat & (NOPOWER|BROKEN))) + message = noserver + else + if(auth) + src.screen = 3 + //Fake messaging selection - KEY REQUIRED + if (href_list["select"]) + if(src.linkedServer == null || (src.linkedServer.stat & (NOPOWER|BROKEN))) + message = noserver + screen = 0 + else + switch(href_list["select"]) + + //Reset + if("Reset") + ResetMessage() + + //Select Your Name + if("Sender") + customsender = stripped_input(usr, "Please enter the sender's name.") + + //Select Receiver + if("Recepient") + //Get out list of viable PDAs + var/list/obj/item/device/pda/sendPDAs = get_viewable_pdas() + if(GLOB.PDAs && GLOB.PDAs.len > 0) + customrecepient = input(usr, "Select a PDA from the list.") as null|anything in sortNames(sendPDAs) + else + customrecepient = null + + //Enter custom job + if("RecJob") + customjob = stripped_input(usr, "Please enter the sender's job.") + + //Enter message + if("Message") + custommessage = stripped_input(usr, "Please enter your message.") + + //Send message + if("Send") + + if(isnull(customsender) || customsender == "") + customsender = "UNKNOWN" + + if(isnull(customrecepient)) + message = "NOTICE: No recepient selected!" + return src.attack_hand(usr) + + if(isnull(custommessage) || custommessage == "") + message = "NOTICE: No message entered!" + return src.attack_hand(usr) + + var/obj/item/device/pda/PDARec = null + for (var/obj/item/device/pda/P in get_viewable_pdas()) + if(P.owner == customsender) + PDARec = P + //Sender isn't faking as someone who exists + if(isnull(PDARec)) + src.linkedServer.send_pda_message("[customrecepient.owner]", "[customsender]","[custommessage]") + customrecepient.tnote += "← From
    [customsender] ([customjob]):
    [custommessage]
    " + if (!customrecepient.silent) + playsound(customrecepient.loc, 'sound/machines/twobeep.ogg', 50, 1) + customrecepient.audible_message("[icon2html(customrecepient, viewers(customrecepient))] *[customrecepient.ttone]*", null, 3) + if( customrecepient.loc && ishuman(customrecepient.loc) ) + var/mob/living/carbon/human/H = customrecepient.loc + to_chat(H, "[icon2html(customrecepient, viewers(H))] Message from [customsender] ([customjob]), \"[custommessage]\" (Reply)") + log_talk(usr,"[key_name(usr)] (PDA: [customsender]) sent \"[custommessage]\" to [customrecepient.owner]",LOGPDA) + customrecepient.cut_overlays() + customrecepient.add_overlay(mutable_appearance('icons/obj/pda.dmi', "pda-r")) + //Sender is faking as someone who exists + else + src.linkedServer.send_pda_message("[customrecepient.owner]", "[PDARec.owner]","[custommessage]") + customrecepient.tnote += "← From [PDARec.owner] ([customjob]):
    [custommessage]
    " + if (!customrecepient.silent) + playsound(customrecepient.loc, 'sound/machines/twobeep.ogg', 50, 1) + customrecepient.audible_message("[icon2html(customrecepient, viewers(customrecepient))] *[customrecepient.ttone]*", null, 3) + if( customrecepient.loc && ishuman(customrecepient.loc) ) + var/mob/living/carbon/human/H = customrecepient.loc + to_chat(H, "[icon2html(customrecepient, H)] Message from [PDARec.owner] ([customjob]), \"[custommessage]\" (Reply)") + log_talk(usr,"[key_name(usr)] (PDA: [PDARec.owner]) sent \"[custommessage]\" to [customrecepient.owner]",LOGPDA) + customrecepient.cut_overlays() + customrecepient.add_overlay(mutable_appearance('icons/obj/pda.dmi', "pda-r")) + //Finally.. + ResetMessage() + + //Request Console Logs - KEY REQUIRED + if(href_list["viewr"]) + if(src.linkedServer == null || (src.linkedServer.stat & (NOPOWER|BROKEN))) + message = noserver + else + if(auth) + src.screen = 4 + + if (href_list["back"]) + src.screen = 0 + + return src.attack_hand(usr) + + +/obj/item/paper/monitorkey + //..() + name = "monitor decryption key" + var/obj/machinery/message_server/server = null + +/obj/item/paper/monitorkey/Initialize() + ..() + return INITIALIZE_HINT_LATELOAD + +/obj/item/paper/monitorkey/LateInitialize() + if(GLOB.message_servers) + for(var/obj/machinery/message_server/server in GLOB.message_servers) + if(!isnull(server)) + if(!isnull(server.decryptkey)) + info = "

    Daily Key Reset


    The new message monitor key is '[server.decryptkey]'.
    Please keep this a secret and away from the clown.
    If necessary, change the password to a more secure one." + info_links = info + add_overlay("paper_words") + break diff --git a/code/game/machinery/computer/pod.dm b/code/game/machinery/computer/pod.dm index 61bf091af3..c13e80e48b 100644 --- a/code/game/machinery/computer/pod.dm +++ b/code/game/machinery/computer/pod.dm @@ -48,21 +48,21 @@ if(connected) var/d2 if(timing) //door controls do not need timers. - d2 = "Stop Time Launch" + d2 = "Stop Time Launch" else - d2 = "Initiate Time Launch" - dat += "
    \nTimer System: [d2]\nTime Left: [DisplayTimeText(time)] - - + +" + d2 = "Initiate Time Launch" + dat += "
    \nTimer System: [d2]\nTime Left: [DisplayTimeText(time)] - - + +" var/temp = "" var/list/L = list( 0.25, 0.5, 1, 2, 4, 8, 16 ) for(var/t in L) if(t == connected.power) temp += "[t] " else - temp += "[t] " - dat += "
    \nPower Level: [temp]
    \nFiring Sequence
    \nTest Fire Driver
    \nToggle Outer Door
    " + temp += "[t] " + dat += "
    \nPower Level: [temp]
    \nFiring Sequence
    \nTest Fire Driver
    \nToggle Outer Door
    " else - dat += "
    \nToggle Outer Door
    " - dat += "

    Close" + dat += "
    \nToggle Outer Door
    " + dat += "

    Close" add_fingerprint(usr) var/datum/browser/popup = new(user, "computer", title, 400, 500) popup.set_content(dat) diff --git a/code/game/machinery/computer/prisoner.dm b/code/game/machinery/computer/prisoner.dm index 3e9d6df42a..d2005d0a55 100644 --- a/code/game/machinery/computer/prisoner.dm +++ b/code/game/machinery/computer/prisoner.dm @@ -21,16 +21,16 @@ user.set_machine(src) var/dat = "" if(screen == 0) - dat += "
    Unlock Console" + dat += "
    Unlock Console" else if(screen == 1) dat += "

    Prisoner ID Management

    " if(inserted_id) - dat += text("[inserted_id]
    ") - dat += text("Collected Points: [inserted_id.points]. Reset.
    ") - dat += text("Card goal: [inserted_id.goal]. Set
    ") + dat += text("[inserted_id]
    ") + dat += text("Collected Points: [inserted_id.points]. Reset.
    ") + dat += text("Card goal: [inserted_id.goal]. Set
    ") dat += text("Space Law recommends quotas of 100 points per minute they would normally serve in the brig.
    ") else - dat += text("Insert Prisoner ID.
    ") + dat += text("Insert Prisoner ID.
    ") dat += "

    Prisoner Implant Management

    " dat += "
    Chemical Implants
    " var/turf/Tr = null @@ -42,9 +42,9 @@ continue dat += "ID: [C.imp_in.name] | Remaining Units: [C.reagents.total_volume]
    " dat += "| Inject: " - dat += "((1))" - dat += "((5))" - dat += "((10))
    " + dat += "((1))" + dat += "((5))" + dat += "((10))
    " dat += "********************************
    " dat += "
    Tracking Implants
    " for(var/obj/item/implant/tracking/T in GLOB.tracked_implants) @@ -61,9 +61,9 @@ loc_display = mob_loc.loc dat += "ID: [T.imp_in.name] | Location: [loc_display]
    " - dat += "(Message Holder) |
    " + dat += "(Message Holder) |
    " dat += "********************************
    " - dat += "
    Lock Console" + dat += "
    Lock Console" var/datum/browser/popup = new(user, "computer", "Prisoner Management Console", 400, 500) popup.set_content(dat) popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm index 9960032d1d..51188989f1 100644 --- a/code/game/machinery/computer/robot.dm +++ b/code/game/machinery/computer/robot.dm @@ -1,176 +1,176 @@ - - - -/obj/machinery/computer/robotics - name = "robotics control console" - desc = "Used to remotely lockdown or detonate linked Cyborgs." - icon_screen = "robot" - icon_keyboard = "rd_key" + + + +/obj/machinery/computer/robotics + name = "robotics control console" + desc = "Used to remotely lockdown or detonate linked Cyborgs." + icon_screen = "robot" + icon_keyboard = "rd_key" req_access = list(ACCESS_ROBOTICS) - circuit = /obj/item/circuitboard/computer/robotics - var/temp = null - - light_color = LIGHT_COLOR_PINK - -/obj/machinery/computer/robotics/proc/can_control(mob/user, mob/living/silicon/robot/R) - if(!istype(R)) - return 0 - if(isAI(user)) - if (R.connected_ai != user) - return 0 - if(iscyborg(user)) - if (R != user) - return 0 - if(R.scrambledcodes) - return 0 - return 1 - -/obj/machinery/computer/robotics/attack_hand(mob/user) - if(..()) - return - interact(user) - -/obj/machinery/computer/robotics/interact(mob/user) - if (src.z > 6) - to_chat(user, "Unable to establish a connection: \black You're too far away from the station!") - return - user.set_machine(src) - var/dat - var/robots = 0 - for(var/mob/living/silicon/robot/R in GLOB.mob_list) - if(!can_control(user, R)) - continue - robots++ - dat += "[R.name] |" - if(R.stat) - dat += " Not Responding |" - else if (!R.canmove) - dat += " Locked Down |" - else - dat += " Operating Normally |" - if (!R.canmove) - else if(R.cell) - dat += " Battery Installed ([R.cell.charge]/[R.cell.maxcharge]) |" - else - dat += " No Cell Installed |" - if(R.module) - dat += " Module Installed ([R.module.name]) |" - else - dat += " No Module Installed |" - if(R.connected_ai) - dat += " Slaved to [R.connected_ai.name] |" - else - dat += " Independent from AI |" - if(issilicon(user) || IsAdminGhost(user)) - if(is_servant_of_ratvar(user) && user != R) - dat += "(Convert) " - else if(((issilicon(user) && is_special_character(user)) || IsAdminGhost(user)) && !R.emagged && (user != R || R.syndicate)) - dat += "(Hack) " - dat += "([R.canmove ? "Lockdown" : "Release"]) " - dat += "(Destroy)" - dat += "
    " - - if(!robots) - dat += "No Cyborg Units detected within access parameters." - dat += "
    " - - var/drones = 0 - for(var/mob/living/simple_animal/drone/D in GLOB.mob_list) - if(D.hacked) - continue - drones++ - dat += "[D.name] |" - if(D.stat) - dat += " Not Responding |" - dat += "(Destroy)" - dat += "
    " - - if(!drones) - dat += "No Drone Units detected within access parameters." - - var/datum/browser/popup = new(user, "computer", "Cyborg Control Console", 400, 500) - popup.set_content(dat) - popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) - popup.open() - return - -/obj/machinery/computer/robotics/Topic(href, href_list) - if(..()) - return - - if (href_list["temp"]) - src.temp = null - - else if (href_list["killbot"]) - if(src.allowed(usr)) - var/mob/living/silicon/robot/R = locate(href_list["killbot"]) in GLOB.silicon_mobs - if(can_control(usr, R)) - var/choice = input("Are you certain you wish to detonate [R.name]?") in list("Confirm", "Abort") - if(choice == "Confirm" && can_control(usr, R) && !..()) - if(R.syndicate && R.emagged) - to_chat(R, "Extreme danger. Termination codes detected. Scrambling security codes and automatic AI unlink triggered.") - if(R.connected_ai) - to_chat(R.connected_ai, "

    ALERT - Cyborg detonation detected: [R.name]
    ") - R.ResetSecurityCodes() - else - var/turf/T = get_turf(R) - message_admins("[ADMIN_LOOKUPFLW(usr)] detonated [key_name(R, R.client)][ADMIN_JMP(T)]!") - log_game("\[key_name(usr)] detonated [key_name(R)]!") - if(R.connected_ai) - to_chat(R.connected_ai, "

    ALERT - Cyborg detonation detected: [R.name]
    ") - R.self_destruct() - else - to_chat(usr, "Access Denied.") - - else if (href_list["stopbot"]) - if(src.allowed(usr)) - var/mob/living/silicon/robot/R = locate(href_list["stopbot"]) in GLOB.silicon_mobs - if(can_control(usr, R)) - var/choice = input("Are you certain you wish to [R.canmove ? "lock down" : "release"] [R.name]?") in list("Confirm", "Abort") - if(choice == "Confirm" && can_control(usr, R) && !..()) - message_admins("[ADMIN_LOOKUPFLW(usr)] [R.canmove ? "locked down" : "released"] [key_name(R, R.client)][ADMIN_LOOKUPFLW(R)]!") - log_game("[key_name(usr)] [R.canmove ? "locked down" : "released"] [key_name(R)]!") - R.SetLockdown(!R.lockcharge) - to_chat(R, "[!R.lockcharge ? "Your lockdown has been lifted!" : "You have been locked down!"]") - if(R.connected_ai) - to_chat(R.connected_ai, "[!R.lockcharge ? "NOTICE - Cyborg lockdown lifted" : "ALERT - Cyborg lockdown detected"]: [R.name]
    ") - - else - to_chat(usr, "Access Denied.") - - else if (href_list["magbot"]) - if((issilicon(usr) && is_special_character(usr)) || IsAdminGhost(usr)) - var/mob/living/silicon/robot/R = locate(href_list["magbot"]) in GLOB.silicon_mobs - if(istype(R) && !R.emagged && ((R.syndicate && R == usr) || R.connected_ai == usr || IsAdminGhost(usr)) && !R.scrambledcodes && can_control(usr, R)) - log_game("[key_name(usr)] emagged [R.name] using robotic console!") - message_admins("[key_name_admin(usr)] emagged cyborg [key_name_admin(R)] using robotic console!") - R.SetEmagged(1) - if(is_special_character(R)) - R.verbs += /mob/living/silicon/robot/proc/ResetSecurityCodes - - else if(href_list["convert"]) - if(issilicon(usr) && is_special_character(usr)) - var/mob/living/silicon/robot/R = locate(href_list["convert"]) in GLOB.silicon_mobs - if(istype(R) && !is_servant_of_ratvar(R) && is_servant_of_ratvar(usr) && R.connected_ai == usr) - log_game("[key_name(usr)] converted [R.name] using robotic console!") - message_admins("[key_name_admin(usr)] converted cyborg [key_name_admin(R)] using robotic console!") - add_servant_of_ratvar(R) - - else if (href_list["killdrone"]) - if(src.allowed(usr)) + circuit = /obj/item/circuitboard/computer/robotics + var/temp = null + + light_color = LIGHT_COLOR_PINK + +/obj/machinery/computer/robotics/proc/can_control(mob/user, mob/living/silicon/robot/R) + if(!istype(R)) + return 0 + if(isAI(user)) + if (R.connected_ai != user) + return 0 + if(iscyborg(user)) + if (R != user) + return 0 + if(R.scrambledcodes) + return 0 + return 1 + +/obj/machinery/computer/robotics/attack_hand(mob/user) + if(..()) + return + interact(user) + +/obj/machinery/computer/robotics/interact(mob/user) + if (src.z > 6) + to_chat(user, "Unable to establish a connection: \black You're too far away from the station!") + return + user.set_machine(src) + var/dat + var/robots = 0 + for(var/mob/living/silicon/robot/R in GLOB.silicon_mobs) + if(!can_control(user, R)) + continue + robots++ + dat += "[R.name] |" + if(R.stat) + dat += " Not Responding |" + else if (!R.canmove) + dat += " Locked Down |" + else + dat += " Operating Normally |" + if (!R.canmove) + else if(R.cell) + dat += " Battery Installed ([R.cell.charge]/[R.cell.maxcharge]) |" + else + dat += " No Cell Installed |" + if(R.module) + dat += " Module Installed ([R.module.name]) |" + else + dat += " No Module Installed |" + if(R.connected_ai) + dat += " Slaved to [R.connected_ai.name] |" + else + dat += " Independent from AI |" + if(issilicon(user) || IsAdminGhost(user)) + if(is_servant_of_ratvar(user) && user != R) + dat += "(Convert) " + else if(((issilicon(user) && is_special_character(user)) || IsAdminGhost(user)) && !R.emagged && (user != R || R.syndicate)) + dat += "(Hack) " + dat += "([R.canmove ? "Lockdown" : "Release"]) " + dat += "(Destroy)" + dat += "
    " + + if(!robots) + dat += "No Cyborg Units detected within access parameters." + dat += "
    " + + var/drones = 0 + for(var/mob/living/simple_animal/drone/D in GLOB.drones_list) + if(D.hacked) + continue + drones++ + dat += "[D.name] |" + if(D.stat) + dat += " Not Responding |" + dat += "(Destroy)" + dat += "
    " + + if(!drones) + dat += "No Drone Units detected within access parameters." + + var/datum/browser/popup = new(user, "computer", "Cyborg Control Console", 400, 500) + popup.set_content(dat) + popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) + popup.open() + return + +/obj/machinery/computer/robotics/Topic(href, href_list) + if(..()) + return + + if (href_list["temp"]) + src.temp = null + + else if (href_list["killbot"]) + if(src.allowed(usr)) + var/mob/living/silicon/robot/R = locate(href_list["killbot"]) in GLOB.silicon_mobs + if(can_control(usr, R)) + var/choice = input("Are you certain you wish to detonate [R.name]?") in list("Confirm", "Abort") + if(choice == "Confirm" && can_control(usr, R) && !..()) + if(R.syndicate && R.emagged) + to_chat(R, "Extreme danger. Termination codes detected. Scrambling security codes and automatic AI unlink triggered.") + if(R.connected_ai) + to_chat(R.connected_ai, "

    ALERT - Cyborg detonation detected: [R.name]
    ") + R.ResetSecurityCodes() + else + var/turf/T = get_turf(R) + message_admins("[ADMIN_LOOKUPFLW(usr)] detonated [key_name(R, R.client)][ADMIN_JMP(T)]!") + log_game("\[key_name(usr)] detonated [key_name(R)]!") + if(R.connected_ai) + to_chat(R.connected_ai, "

    ALERT - Cyborg detonation detected: [R.name]
    ") + R.self_destruct() + else + to_chat(usr, "Access Denied.") + + else if (href_list["stopbot"]) + if(src.allowed(usr)) + var/mob/living/silicon/robot/R = locate(href_list["stopbot"]) in GLOB.silicon_mobs + if(can_control(usr, R)) + var/choice = input("Are you certain you wish to [R.canmove ? "lock down" : "release"] [R.name]?") in list("Confirm", "Abort") + if(choice == "Confirm" && can_control(usr, R) && !..()) + message_admins("[ADMIN_LOOKUPFLW(usr)] [R.canmove ? "locked down" : "released"] [key_name(R, R.client)][ADMIN_LOOKUPFLW(R)]!") + log_game("[key_name(usr)] [R.canmove ? "locked down" : "released"] [key_name(R)]!") + R.SetLockdown(!R.lockcharge) + to_chat(R, "[!R.lockcharge ? "Your lockdown has been lifted!" : "You have been locked down!"]") + if(R.connected_ai) + to_chat(R.connected_ai, "[!R.lockcharge ? "NOTICE - Cyborg lockdown lifted" : "ALERT - Cyborg lockdown detected"]: [R.name]
    ") + + else + to_chat(usr, "Access Denied.") + + else if (href_list["magbot"]) + if((issilicon(usr) && is_special_character(usr)) || IsAdminGhost(usr)) + var/mob/living/silicon/robot/R = locate(href_list["magbot"]) in GLOB.silicon_mobs + if(istype(R) && !R.emagged && ((R.syndicate && R == usr) || R.connected_ai == usr || IsAdminGhost(usr)) && !R.scrambledcodes && can_control(usr, R)) + log_game("[key_name(usr)] emagged [R.name] using robotic console!") + message_admins("[key_name_admin(usr)] emagged cyborg [key_name_admin(R)] using robotic console!") + R.SetEmagged(1) + if(is_special_character(R)) + R.verbs += /mob/living/silicon/robot/proc/ResetSecurityCodes + + else if(href_list["convert"]) + if(issilicon(usr) && is_special_character(usr)) + var/mob/living/silicon/robot/R = locate(href_list["convert"]) in GLOB.silicon_mobs + if(istype(R) && !is_servant_of_ratvar(R) && is_servant_of_ratvar(usr) && R.connected_ai == usr) + log_game("[key_name(usr)] converted [R.name] using robotic console!") + message_admins("[key_name_admin(usr)] converted cyborg [key_name_admin(R)] using robotic console!") + add_servant_of_ratvar(R) + + else if (href_list["killdrone"]) + if(src.allowed(usr)) var/mob/living/simple_animal/drone/D = locate(href_list["killdrone"]) in GLOB.mob_list - if(D.hacked) - to_chat(usr, "ERROR: [D] is not responding to external commands.") - else + if(D.hacked) + to_chat(usr, "ERROR: [D] is not responding to external commands.") + else var/turf/T = get_turf(D) message_admins("[ADMIN_LOOKUPFLW(usr)] detonated [key_name_admin(D)][ADMIN_JMP(T)]!") log_game("[key_name(usr)] detonated [key_name(D)]!") - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, D) - s.start() - D.visible_message("\the [D] self destructs!") - D.gib() + var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread + s.set_up(3, 1, D) + s.start() + D.visible_message("\the [D] self destructs!") + D.gib() - - src.updateUsrDialog() - return + + src.updateUsrDialog() + return diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 81204a69f0..7e73ef0c64 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -63,9 +63,9 @@ var/dat if(temp) - dat = text("[]

    Clear Screen", temp, src) + dat = text("[]

    Clear Screen", temp) else - dat = text("Confirm Identity: []
    ", src, (scan ? text("[]", scan.name) : "----------")) + dat = text("Confirm Identity: []
    ", (scan ? text("[]", scan.name) : "----------")) if(authenticated) switch(screen) if(1) @@ -111,7 +111,7 @@ "} dat += {"

    "} - dat += text("New Record
    ", src) + dat += "New Record
    " //search bar dat += {" @@ -133,10 +133,10 @@
    - - - - + + + +"} if(!isnull(GLOB.data_core.general)) @@ -161,7 +161,7 @@ background = "''" //"'background-color:#FFFFFF;'" crimstat = "No Record." dat += "" - dat += text("", R.fields["name"], R.fields["id"], R.fields["rank"], R.fields["fingerprint"], src, R, R.fields["name"]) + dat += text("", R.fields["name"], R.fields["id"], R.fields["rank"], R.fields["fingerprint"], R.fields["name"]) dat += text("", R.fields["id"]) dat += text("", R.fields["rank"]) dat += text("", R.fields["fingerprint"]) @@ -173,11 +173,11 @@ var complete_list = maintable.innerHTML;
    "} - dat += text("Record Maintenance

    ", src) - dat += text("{Log Out}",src) + dat += "Record Maintenance

    " + dat += "{Log Out}" if(2) dat += "Records Maintenance
    " - dat += "
    Delete All Records

    Back" + dat += "
    Delete All Records

    Back" if(3) dat += "Security Record
    " if(istype(active1, /datum/data/record) && GLOB.data_core.general.Find(active1)) @@ -188,27 +188,27 @@ var/obj/item/photo/P2 = active1.fields["photo_side"] user << browse_rsc(P2.img, "photo_side") dat += {"
    NameIDRankFingerprintsNameIDRankFingerprints Criminal Status
    [][][][][]
    -
    - - - - "} - dat += "" - dat += {" - + + + + "} + dat += "" + dat += {" +
    Name: [active1.fields["name"]] 
    ID: [active1.fields["id"]] 
    Sex: [active1.fields["sex"]] 
    Age: [active1.fields["age"]] 
    Species: [active1.fields["species"]] 
    Rank: [active1.fields["rank"]] 
    Fingerprint: [active1.fields["fingerprint"]] 
    Name: [active1.fields["name"]] 
    ID: [active1.fields["id"]] 
    Sex: [active1.fields["sex"]] 
    Age: [active1.fields["age"]] 
    Species: [active1.fields["species"]] 
    Rank: [active1.fields["rank"]] 
    Fingerprint: [active1.fields["fingerprint"]] 
    Physical Status: [active1.fields["p_stat"]] 
    Mental Status: [active1.fields["m_stat"]] 
    -

    - Update front photo

    - Update side photo
    +
    +

    + Update front photo

    + Update side photo
    "} else dat += "
    General Record Lost!
    " if((istype(active2, /datum/data/record) && GLOB.data_core.security.Find(active2))) dat += "Security Data" - dat += "
    Criminal Status: [active2.fields["criminal"]]" - dat += "

    Minor Crimes: Add New" + dat += "
    Criminal Status: [active2.fields["criminal"]]" + dat += "

    Minor Crimes: Add New" dat +={" @@ -224,12 +224,12 @@ dat += "" dat += "" dat += "" - dat += "" + dat += "" dat += "" dat += "
    [c.crimeDetails][c.author][c.time]\[X\]\[X\]
    " - dat += "
    Major Crimes: Add New" + dat += "
    Major Crimes: Add New" dat +={" @@ -244,27 +244,27 @@ dat += "" dat += "" dat += "" - dat += "" + dat += "" dat += "" dat += "
    [c.crimeDetails][c.author][c.time]\[X\]\[X\]
    " - dat += "
    \nImportant Notes:
    \n\t [active2.fields["notes"]] " + dat += "
    \nImportant Notes:
    \n\t [active2.fields["notes"]] " dat += "

    Comments/Log
    " var/counter = 1 while(active2.fields[text("com_[]", counter)]) dat += (active2.fields[text("com_[]", counter)] + "
    ") if(active2.fields[text("com_[]", counter)] != "Deleted") - dat += text("Delete Entry

    ", src, counter) + dat += text("Delete Entry

    ", counter) counter++ - dat += text("Add Entry

    ", src) - dat += text("Delete Record (Security Only)
    ", src) + dat += "Add Entry

    " + dat += "Delete Record (Security Only)
    " else dat += "Security Record Lost!
    " - dat += text("New Security Record

    ", src) - dat += text("Delete Record (ALL)
    Print Record
    Print Wanted Poster
    Back
    ", src, src, src, src) + dat += "New Security Record

    " + dat += "Delete Record (ALL)
    Print Record
    Print Wanted Poster
    Back
    " else else - dat += text("{Log In}", src) + dat += "{Log In}" var/datum/browser/popup = new(user, "secure_rec", "Security Records Console", 600, 400) popup.set_content(dat) popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) @@ -451,8 +451,8 @@ What a mess.*/ if("Delete All Records") temp = "" temp += "Are you sure you wish to delete all Security records?
    " - temp += "Yes
    " - temp += "No" + temp += "Yes
    " + temp += "No" if("Purge All Records") investigate_log("[usr.name] ([usr.key]) has purged all the security records.", INVESTIGATE_RECORDS) @@ -476,14 +476,14 @@ What a mess.*/ if("Delete Record (ALL)") if(active1) temp = "

    Are you sure you wish to delete the record (ALL)?
    " - temp += "Yes
    " - temp += "No" + temp += "Yes
    " + temp += "No" if("Delete Record (Security)") if(active2) temp = "
    Are you sure you wish to delete the record (Security Portion Only)?
    " - temp += "Yes
    " - temp += "No" + temp += "Yes
    " + temp += "No" if("Delete Entry") if((istype(active2, /datum/data/record) && active2.fields[text("com_[]", href_list["del_c"])])) @@ -657,11 +657,11 @@ What a mess.*/ if(istype(active2, /datum/data/record)) temp = "
    Criminal Status:
    " temp += "" if("rank") var/list/L = list( "Head of Personnel", "Captain", "AI", "Central Command" ) @@ -670,7 +670,7 @@ What a mess.*/ temp = "
    Rank:
    " temp += "
      " for(var/rank in get_all_jobs()) - temp += "
    • [rank]
    • " + temp += "
    • [rank]
    • " temp += "
    " else alert(usr, "You do not have the required rank to do this!") @@ -699,7 +699,7 @@ What a mess.*/ if("released") active2.fields["criminal"] = "Discharged" investigate_log("[active1.fields["name"]] has been set from [old_field] to [active2.fields["criminal"]] by [usr.name] ([usr.key]).", INVESTIGATE_RECORDS) - for(var/mob/living/carbon/human/H in GLOB.mob_list) //thanks for forcing me to do this, whoever wrote this shitty records system + for(var/mob/living/carbon/human/H in GLOB.carbon_list) H.sec_hud_set_security_status() if("Delete Record (Security) Execute") investigate_log("[usr.name] ([usr.key]) has deleted the security records for [active1.fields["name"]].", INVESTIGATE_RECORDS) diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index 019d52fe86..6769244335 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -1,85 +1,87 @@ -/obj/machinery/computer/station_alert - name = "station alert console" - desc = "Used to access the station's automated alert system." - icon_screen = "alert:0" - icon_keyboard = "atmos_key" - circuit = /obj/item/circuitboard/computer/stationalert - var/alarms = list("Fire" = list(), "Atmosphere" = list(), "Power" = list()) - - light_color = LIGHT_COLOR_CYAN - +/obj/machinery/computer/station_alert + name = "station alert console" + desc = "Used to access the station's automated alert system." + icon_screen = "alert:0" + icon_keyboard = "atmos_key" + circuit = /obj/item/circuitboard/computer/stationalert + var/alarms = list("Fire" = list(), "Atmosphere" = list(), "Power" = list()) + + light_color = LIGHT_COLOR_CYAN + +/obj/machinery/computer/station_alert/Initialize() + . = ..() + GLOB.alert_consoles += src + +/obj/machinery/computer/station_alert/Destroy() + GLOB.alert_consoles -= src + return ..() + /obj/machinery/computer/station_alert/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \ - datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) - ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) - if(!ui) - ui = new(user, src, ui_key, "station_alert", name, 300, 500, master_ui, state) - ui.open() - -/obj/machinery/computer/station_alert/ui_data(mob/user) - var/list/data = list() - - data["alarms"] = list() - for(var/class in alarms) - data["alarms"][class] = list() - for(var/area in alarms[class]) - data["alarms"][class] += area - - return data - -/obj/machinery/computer/station_alert/proc/triggerAlarm(class, area/A, O, obj/source) - if(source.z != z) - return - if(stat & (BROKEN)) - return - - var/list/L = alarms[class] - for(var/I in L) - if (I == A.name) - var/list/alarm = L[I] - var/list/sources = alarm[3] - if (!(source in sources)) - sources += source - return 1 - var/obj/machinery/camera/C = null - var/list/CL = null - if(O && islist(O)) - CL = O - if (CL.len == 1) - C = CL[1] - else if(O && istype(O, /obj/machinery/camera)) - C = O - L[A.name] = list(A, (C ? C : O), list(source)) - return 1 - - -/obj/machinery/computer/station_alert/proc/cancelAlarm(class, area/A, obj/origin) - if(stat & (BROKEN)) - return - var/list/L = alarms[class] - var/cleared = 0 - for (var/I in L) - if (I == A.name) - var/list/alarm = L[I] - var/list/srcs = alarm[3] - if (origin in srcs) - srcs -= origin - if (srcs.len == 0) - cleared = 1 - L -= I - return !cleared - - -/obj/machinery/computer/station_alert/process() - ..() - -/obj/machinery/computer/station_alert/update_icon() - ..() - if(stat & (NOPOWER|BROKEN)) - return - var/active_alarms = FALSE - for(var/cat in alarms) - var/list/L = alarms[cat] - if(L.len) - active_alarms = TRUE - if(active_alarms) - add_overlay("alert:2") + datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) + if(!ui) + ui = new(user, src, ui_key, "station_alert", name, 300, 500, master_ui, state) + ui.open() + +/obj/machinery/computer/station_alert/ui_data(mob/user) + . = list() + + .["alarms"] = list() + for(var/class in alarms) + .["alarms"][class] = list() + for(var/area in alarms[class]) + .["alarms"][class] += area + +/obj/machinery/computer/station_alert/proc/triggerAlarm(class, area/A, O, obj/source) + if(source.z != z) + return + if(stat & (BROKEN)) + return + + var/list/L = alarms[class] + for(var/I in L) + if (I == A.name) + var/list/alarm = L[I] + var/list/sources = alarm[3] + if (!(source in sources)) + sources += source + return 1 + var/obj/machinery/camera/C = null + var/list/CL = null + if(O && islist(O)) + CL = O + if (CL.len == 1) + C = CL[1] + else if(O && istype(O, /obj/machinery/camera)) + C = O + L[A.name] = list(A, (C ? C : O), list(source)) + return 1 + + +/obj/machinery/computer/station_alert/proc/cancelAlarm(class, area/A, obj/origin) + if(stat & (BROKEN)) + return + var/list/L = alarms[class] + var/cleared = 0 + for (var/I in L) + if (I == A.name) + var/list/alarm = L[I] + var/list/srcs = alarm[3] + if (origin in srcs) + srcs -= origin + if (srcs.len == 0) + cleared = 1 + L -= I + return !cleared + +/obj/machinery/computer/station_alert/update_icon() + ..() + if(stat & (NOPOWER|BROKEN)) + return + var/active_alarms = FALSE + for(var/cat in alarms) + var/list/L = alarms[cat] + if(L.len) + active_alarms = TRUE + if(active_alarms) + add_overlay("alert:2") diff --git a/code/game/machinery/computer/telecrystalconsoles.dm b/code/game/machinery/computer/telecrystalconsoles.dm index 4fefdb044e..c879bc175a 100644 --- a/code/game/machinery/computer/telecrystalconsoles.dm +++ b/code/game/machinery/computer/telecrystalconsoles.dm @@ -97,8 +97,8 @@ GLOBAL_LIST_INIT(possible_uplinker_IDs, list("Alfa","Bravo","Charlie","Delta","E if(uplinkholder) dat += "[uplinkholder.hidden_uplink.telecrystals] telecrystals remain in this uplink.
    " if(linkedboss) - dat += "Donate TC: 1 | 5 | All" - dat += "
    Eject Uplink" + dat += "Donate TC: 1 | 5 | All" + dat += "
    Eject Uplink" var/datum/browser/popup = new(user, "computer", "Telecrystal Upload/Receive Station", 700, 500) @@ -167,7 +167,7 @@ GLOBAL_LIST_INIT(possible_uplinker_IDs, list("Alfa","Bravo","Charlie","Delta","E var/dat = "" - dat += "Scan for TC stations.
    " + dat += "Scan for TC stations.
    " dat += "[storedcrystals] telecrystals are available for distribution.
    " dat += "

    " @@ -177,11 +177,11 @@ GLOBAL_LIST_INIT(possible_uplinker_IDs, list("Alfa","Bravo","Charlie","Delta","E if(A.uplinkholder) dat += "[A.uplinkholder.hidden_uplink.telecrystals] telecrystals." if(storedcrystals) - dat+= "
    Add TC: 1 | 5 | 10 | All" + dat+= "
    Add TC: 1 | 5 | 10 | All" dat += "
    " if(TCstations.len && storedcrystals) - dat += "

    Evenly distribute remaining TC.

    " + dat += "

    Evenly distribute remaining TC.

    " for(var/entry in transferlog) diff --git a/code/game/machinery/computer/teleporter.dm b/code/game/machinery/computer/teleporter.dm index ab4c72ab41..7261c44fc5 100644 --- a/code/game/machinery/computer/teleporter.dm +++ b/code/game/machinery/computer/teleporter.dm @@ -27,8 +27,8 @@ /obj/machinery/computer/teleporter/proc/link_power_station() if(power_station) return - for(dir in GLOB.cardinals) - power_station = locate(/obj/machinery/teleport/station, get_step(src, dir)) + for(var/direction in GLOB.cardinals) + power_station = locate(/obj/machinery/teleport/station, get_step(src, direction)) if(power_station) break return power_station @@ -70,16 +70,16 @@ data += "Calibration: Sub-Optimal" data += "

    " - data += "Change regime
    " - data += "Set target
    " + data += "Change regime
    " + data += "Set target
    " if(locked) - data += "
    Get target from memory
    " - data += "Eject GPS device
    " + data += "
    Get target from memory
    " + data += "Eject GPS device
    " else data += "
    Get target from memory
    " data += "Eject GPS device
    " - data += "
    Calibrate Hub" + data += "
    Calibrate Hub" var/datum/browser/popup = new(user, "teleporter", name, 400, 400) popup.set_content(data) diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index de26806273..ec8779b7d2 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -92,21 +92,21 @@ user.set_machine(src) var/list/dat = list() dat +="
    " - dat += " Select Track
    " + dat += " Select Track
    " dat += "Track Selected: [selection.song_name]
    " dat += "Track Length: [DisplayTimeText(selection.song_length)]

    " dat += "
    DJ's Soundboard:
    " dat +="
    " - dat += "Air Horn " - dat += "Station Alert " - dat += "Warning Siren " - dat += "Honk
    " - dat += "Shotgun Pump" - dat += "Gunshot" - dat += "Esword" - dat += "Harm Alarm" + dat += "Air Horn " + dat += "Station Alert " + dat += "Warning Siren " + dat += "Honk
    " + dat += "Shotgun Pump" + dat += "Gunshot" + dat += "Esword" + dat += "Harm Alarm" var/datum/browser/popup = new(user, "vending", "Radiance Dance Machine - Mark IV", 400, 350) popup.set_content(dat.Join()) popup.open() diff --git a/code/game/machinery/dna_scanner.dm b/code/game/machinery/dna_scanner.dm index 889fe42cf7..780b7ac1f2 100644 --- a/code/game/machinery/dna_scanner.dm +++ b/code/game/machinery/dna_scanner.dm @@ -84,8 +84,8 @@ open_machine() /obj/machinery/dna_scannernew/proc/locate_computer(type_) - for(dir in list(NORTH,EAST,SOUTH,WEST)) - var/C = locate(type_, get_step(src, dir)) + for(var/direction in GLOB.cardinals) + var/C = locate(type_, get_step(src, direction)) if(C) return C return null diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index aac80cc1a0..4b8da75d87 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -39,8 +39,7 @@ #define NOT_ELECTRIFIED 0 #define ELECTRIFIED_PERMANENT -1 - - +#define AI_ELECTRIFY_DOOR_TIME 30 /obj/machinery/door/airlock name = "airlock" @@ -68,7 +67,7 @@ var/justzap = FALSE normalspeed = 1 var/obj/item/electronics/airlock/electronics = null - var/hasShocked = FALSE //Prevents multiple shocks from happening + var/shockCooldown = FALSE //Prevents multiple shocks from happening autoclose = TRUE var/obj/item/device/doorCharge/charge = null //If applied, causes an explosion upon opening the door var/obj/item/note //Any papers pinned to the airlock @@ -118,6 +117,15 @@ max_integrity = normal_integrity if(damage_deflection == AIRLOCK_DAMAGE_DEFLECTION_N && security_level > AIRLOCK_SECURITY_METAL) damage_deflection = AIRLOCK_DAMAGE_DEFLECTION_R + prepare_huds() + var/datum/atom_hud/data/diagnostic/diag_hud = GLOB.huds[DATA_HUD_DIAGNOSTIC] + diag_hud.add_to_hud(src) + diag_hud_set_electrified() + + return INITIALIZE_HINT_LATELOAD + +/obj/machinery/door/airlock/LateInitialize() + . = ..() if(abandoned) var/outcome = rand(1,100) switch(outcome) @@ -136,10 +144,6 @@ welded = TRUE if(24 to 30) panel_open = TRUE - prepare_huds() - var/datum/atom_hud/data/diagnostic/diag_hud = GLOB.huds[DATA_HUD_DIAGNOSTIC] - diag_hud.add_to_hud(src) - diag_hud_set_electrified() update_icon() @@ -359,6 +363,9 @@ /obj/machinery/door/airlock/proc/loseBackupPower() if(src.secondsBackupPowerLost < 60) src.secondsBackupPowerLost = 60 + if(!spawnPowerRestoreRunning) + spawnPowerRestoreRunning = TRUE + INVOKE_ASYNC(src, .proc/handlePowerRestore) /obj/machinery/door/airlock/proc/regainBackupPower() if(src.secondsBackupPowerLost > 0) @@ -370,14 +377,14 @@ /obj/machinery/door/airlock/proc/shock(mob/user, prb) if(!hasPower()) // unpowered, no shock return FALSE - if(hasShocked > world.time) + if(shockCooldown > world.time) return FALSE //Already shocked someone recently? if(!prob(prb)) return FALSE //you lucked out, no shock for you do_sparks(5, TRUE, src) var/tmp/check_range = TRUE if(electrocute_mob(user, get_area(src), src, 1, check_range)) - hasShocked = world.time + 10 + shockCooldown = world.time + 10 return TRUE else return FALSE @@ -607,110 +614,7 @@ to_chat(user, "Unable to interface. Airlock control panel damaged.") return - //Separate interface for the AI. - user.set_machine(src) - var/t1 = text("Airlock Control
    \n") - if(src.secondsMainPowerLost > 0) - if(!wires.is_cut(WIRE_POWER1) && !wires.is_cut(WIRE_POWER2)) - t1 += text("Main power is offline for [] seconds.
    \n", src.secondsMainPowerLost) - else - t1 += text("Main power is offline indefinitely.
    \n") - else - t1 += text("Main power is online.") - - if(src.secondsBackupPowerLost > 0) - if(!wires.is_cut(WIRE_BACKUP1) && !wires.is_cut(WIRE_BACKUP2)) - t1 += text("Backup power is offline for [] seconds.
    \n", src.secondsBackupPowerLost) - else - t1 += text("Backup power is offline indefinitely.
    \n") - else if(src.secondsMainPowerLost > 0) - t1 += text("Backup power is online.") - else - t1 += text("Backup power is offline, but will turn on if main power fails.") - t1 += "
    \n" - - if(wires.is_cut(WIRE_IDSCAN)) - t1 += text("IdScan wire is cut.
    \n") - else if(src.aiDisabledIdScanner) - t1 += text("IdScan disabled. Enable?
    \n", src) - else - t1 += text("IdScan enabled. Disable?
    \n", src) - - if(src.emergency) - t1 += text("Emergency Access Override is enabled. Disable?
    \n", src) - else - t1 += text("Emergency Access Override is disabled. Enable?
    \n", src) - - if(wires.is_cut(WIRE_POWER1)) - t1 += text("Main Power Input wire is cut.
    \n") - if(wires.is_cut(WIRE_POWER2)) - t1 += text("Main Power Output wire is cut.
    \n") - if(!secondsMainPowerLost) - t1 += text("Temporarily disrupt main power?.
    \n", src) - if(!secondsBackupPowerLost) - t1 += text("Temporarily disrupt backup power?.
    \n", src) - - if(wires.is_cut(WIRE_BACKUP1)) - t1 += text("Backup Power Input wire is cut.
    \n") - if(wires.is_cut(WIRE_BACKUP2)) - t1 += text("Backup Power Output wire is cut.
    \n") - - if(wires.is_cut(WIRE_BOLTS)) - t1 += text("Door bolt drop wire is cut.
    \n") - else if(!src.locked) - t1 += text("Door bolts are up. Drop them?
    \n", src) - else - t1 += text("Door bolts are down.") - if(src.hasPower()) - t1 += text(" Raise?
    \n", src) - else - t1 += text(" Cannot raise door bolts due to power failure.
    \n") - - if(wires.is_cut(WIRE_LIGHT)) - t1 += text("Door bolt lights wire is cut.
    \n") - else if(!src.lights) - t1 += text("Door bolt lights are off. Enable?
    \n", src) - else - t1 += text("Door bolt lights are on. Disable?
    \n", src) - - if(wires.is_cut(WIRE_SHOCK)) - t1 += text("Electrification wire is cut.
    \n") - if(secondsElectrified==ELECTRIFIED_PERMANENT) - t1 += text("Door is electrified indefinitely. Un-electrify it?
    \n", src) - else if(secondsElectrified>NOT_ELECTRIFIED) - t1 += text("Door is electrified temporarily ([] seconds). Un-electrify it?
    \n", secondsElectrified, src) - else - t1 += text("Door is not electrified. Electrify it for 30 seconds? Or, Electrify it indefinitely until someone cancels the electrification?
    \n", src, src) - - if(wires.is_cut(WIRE_SAFETY)) - t1 += text("Door force sensors not responding.
    \n") - else if(src.safe) - t1 += text("Door safeties operating normally. Override?
    \n",src) - else - t1 += text("Danger. Door safeties disabled. Restore?
    \n",src) - - if(wires.is_cut(WIRE_TIMING)) - t1 += text("Door timing circuitry not responding.
    \n") - else if(src.normalspeed) - t1 += text("Door timing circuitry operating normally. Override?
    \n",src) - else - t1 += text("Warning. Door timing circuitry operating abnormally. Restore?
    \n",src) - - if(src.welded) - t1 += text("Door appears to have been welded shut.
    \n") - else if(!src.locked) - if(src.density) - t1 += text("Open door
    \n", src) - else - t1 += text("Close door
    \n", src) - - t1 += text("

    Close

    \n", src) - user << browse(t1, "window=airlock") - onclose(user, "airlock") - -//aiDisable - 1 idscan, 2 disrupt main power, 3 disrupt backup power, 4 drop door bolts, 5 un-electrify door, 7 close door, 11 lift access override -//aiEnable - 1 idscan, 4 raise door bolts, 5 electrify door for 30 seconds, 6 electrify door indefinitely, 7 open door, 11 enable access override - + ui_interact(user) /obj/machinery/door/airlock/proc/hack(mob/user) set waitfor = 0 @@ -797,11 +701,18 @@ /obj/machinery/door/airlock/proc/electrified_loop() while (secondsElectrified > 0) - secondsElectrified-- - if(secondsElectrified <= 0) - set_electrified(NOT_ELECTRIFIED) - updateUsrDialog() - sleep(10) + sleep(10) + if(QDELETED(src)) + return + + secondsElectrified -= 1 + updateDialog() + // This is to protect against changing to permanent, mid loop. + if(secondsElectrified==0) + set_electrified(NOT_ELECTRIFIED) + else + set_electrified(ELECTRIFIED_PERMANENT) + updateDialog() /obj/machinery/door/airlock/Topic(href, href_list, var/nowindow = 0) // If you add an if(..()) check you must first remove the var/nowindow parameter. @@ -811,206 +722,16 @@ if(!usr.canUseTopic(src) && !IsAdminGhost(usr)) return add_fingerprint(usr) - if(href_list["close"]) - usr << browse(null, "window=airlock") - if(usr.machine==src) - usr.unset_machine() - return if((in_range(src, usr) && isturf(loc)) && panel_open) usr.set_machine(src) - - - if((issilicon(usr) && src.canAIControl(usr)) || IsAdminGhost(usr)) - //AI - //aiDisable - 1 idscan, 2 disrupt main power, 3 disrupt backup power, 4 drop door bolts, 5 un-electrify door, 7 close door, 8 door safties, 9 door speed, 11 emergency access - //aiEnable - 1 idscan, 4 raise door bolts, 5 electrify door for 30 seconds, 6 electrify door indefinitely, 7 open door, 8 door safties, 9 door speed, 11 emergency access - if(href_list["aiDisable"]) - var/code = text2num(href_list["aiDisable"]) - switch (code) - if(1) - //disable idscan - if(wires.is_cut(WIRE_IDSCAN)) - to_chat(usr, "The IdScan wire has been cut - So, you can't disable it, but it is already disabled anyways.") - else if(src.aiDisabledIdScanner) - to_chat(usr, "You've already disabled the IdScan feature.") - else - aiDisabledIdScanner = TRUE - if(2) - //disrupt main power - if(!secondsMainPowerLost) - src.loseMainPower() - update_icon() - else - to_chat(usr, "Main power is already offline.") - if(3) - //disrupt backup power - if(!secondsBackupPowerLost) - src.loseBackupPower() - update_icon() - else - to_chat(usr, "Backup power is already offline.") - if(4) - //drop door bolts - if(wires.is_cut(WIRE_BOLTS)) - to_chat(usr, "You can't drop the door bolts - The door bolt dropping wire has been cut.") - else - bolt() - if(5) - //un-electrify door - if(wires.is_cut(WIRE_SHOCK)) - to_chat(usr, text("Can't un-electrify the airlock - The electrification wire is cut.")) - else if(isElectrified()) - set_electrified(0) - - if(8) - // Safeties! We don't need no stinking safeties! - if(wires.is_cut(WIRE_SAFETY)) - to_chat(usr, text("Control to door sensors is disabled.")) - else if (src.safe) - safe = FALSE - else - to_chat(usr, text("Firmware reports safeties already overriden.")) - - if(9) - // Door speed control - if(wires.is_cut(WIRE_TIMING)) - to_chat(usr, text("Control to door timing circuitry has been severed.")) - else if (src.normalspeed) - normalspeed = 0 - else - to_chat(usr, text("Door timing circuitry already accelerated.")) - if(7) - //close door - if(src.welded) - to_chat(usr, text("The airlock has been welded shut!")) - else if(src.locked) - to_chat(usr, text("The door bolts are down!")) - else if(!src.density) - close() - else - open() - - if(10) - // Bolt lights - if(wires.is_cut(WIRE_LIGHT)) - to_chat(usr, text("Control to door bolt lights has been severed.")) - else if (src.lights) - lights = FALSE - update_icon() - else - to_chat(usr, text("Door bolt lights are already disabled!")) - - if(11) - // Emergency access - if (src.emergency) - emergency = FALSE - update_icon() - else - to_chat(usr, text("Emergency access is already disabled!")) - - - else if(href_list["aiEnable"]) - var/code = text2num(href_list["aiEnable"]) - switch (code) - if(1) - //enable idscan - if(wires.is_cut(WIRE_IDSCAN)) - to_chat(usr, "You can't enable IdScan - The IdScan wire has been cut.") - else if(src.aiDisabledIdScanner) - aiDisabledIdScanner = FALSE - else - to_chat(usr, "The IdScan feature is not disabled.") - if(4) - //raise door bolts - if(wires.is_cut(WIRE_BOLTS)) - to_chat(usr, text("The door bolt drop wire is cut - you can't raise the door bolts.
    \n")) - else if(!src.locked) - to_chat(usr, text("The door bolts are already up.
    \n")) - else - if(src.hasPower()) - unbolt() - else - to_chat(usr, text("Cannot raise door bolts due to power failure.
    \n")) - - if(5) - //electrify door for 30 seconds - if(wires.is_cut(WIRE_SHOCK)) - to_chat(usr, text("The electrification wire has been cut.
    \n")) - else if(secondsElectrified==ELECTRIFIED_PERMANENT) - to_chat(usr, text("The door is already indefinitely electrified. You'd have to un-electrify it before you can re-electrify it with a non-forever duration.
    \n")) - else if(isElectrified()) - to_chat(usr, text("The door is already electrified. You can't re-electrify it while it's already electrified.
    \n")) - else - shockedby += "\[[time_stamp()]\][usr](ckey:[usr.ckey])" - add_logs(usr, src, "electrified") - set_electrified(30) - addtimer(CALLBACK(src, .proc/electrified_loop), 10) - if(6) - //electrify door indefinitely - if(wires.is_cut(WIRE_SHOCK)) - to_chat(usr, text("The electrification wire has been cut.
    \n")) - else if(secondsElectrified==ELECTRIFIED_PERMANENT) - to_chat(usr, text("The door is already indefinitely electrified.
    \n")) - else if(isElectrified()) - to_chat(usr, text("The door is already electrified. You can't re-electrify it while it's already electrified.
    \n")) - else - shockedby += text("\[[time_stamp()]\][usr](ckey:[usr.ckey])") - add_logs(usr, src, "electrified") - set_electrified(ELECTRIFIED_PERMANENT) - - if (8) // Not in order >.> - // Safeties! Maybe we do need some stinking safeties! - if(wires.is_cut(WIRE_SAFETY)) - to_chat(usr, text("Control to door sensors is disabled.")) - else if (!src.safe) - safe = TRUE - src.updateUsrDialog() - else - to_chat(usr, text("Firmware reports safeties already in place.")) - - if(9) - // Door speed control - if(wires.is_cut(WIRE_TIMING)) - to_chat(usr, text("Control to door timing circuitry has been severed.")) - else if (!src.normalspeed) - normalspeed = 1 - src.updateUsrDialog() - else - to_chat(usr, text("Door timing circuitry currently operating normally.")) - - if(7) - //open door - if(src.welded) - to_chat(usr, text("The airlock has been welded shut!")) - else if(src.locked) - to_chat(usr, text("The door bolts are down!")) - else if(src.density) - open() - else - close() - if(10) - // Bolt lights - if(wires.is_cut(WIRE_LIGHT)) - to_chat(usr, text("Control to door bolt lights has been severed.")) - else if (!src.lights) - lights = TRUE - update_icon() - src.updateUsrDialog() - else - to_chat(usr, text("Door bolt lights are already enabled!")) - if(11) - // Emergency access - if (!src.emergency) - emergency = TRUE - update_icon() - else - to_chat(usr, text("Emergency access is already enabled!")) - add_fingerprint(usr) if(!nowindow) updateUsrDialog() + else + updateDialog() + /obj/machinery/door/airlock/attackby(obj/item/C, mob/user, params) if(!issilicon(user) && !IsAdminGhost(user)) @@ -1566,6 +1287,8 @@ /obj/machinery/door/airlock/proc/set_electrified(seconds) secondsElectrified = seconds diag_hud_set_electrified() + if(secondsElectrified > 0) + INVOKE_ASYNC(src, .proc/electrified_loop) /obj/machinery/door/airlock/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) . = ..() @@ -1631,6 +1354,243 @@ else if(istype(note, /obj/item/photo)) return "photo" +/obj/machinery/door/airlock/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \ + datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) + SStgui.try_update_ui(user, src, ui_key, ui, force_open) + if(!ui) + ui = new(user, src, ui_key, "ai_airlock", name, 550, 456, master_ui, state) + ui.open() + +/obj/machinery/door/airlock/ui_data() + var/list/data = list() + + var/list/power = list() + power["main"] = src.secondsMainPowerLost ? 0 : 2 // boolean + power["main_timeleft"] = src.secondsMainPowerLost + power["backup"] = src.secondsBackupPowerLost ? 0 : 2 // boolean + power["backup_timeleft"] = src.secondsBackupPowerLost + data["power"] = power + + data["shock"] = secondsElectrified == 0 ? 2 : 0 + data["shock_timeleft"] = secondsElectrified + data["id_scanner"] = !aiDisabledIdScanner + data["emergency"] = emergency // access + data["locked"] = locked // bolted + data["lights"] = lights // bolt lights + data["safe"] = safe // safeties + data["speed"] = normalspeed // safe speed + data["welded"] = welded // welded + data["opened"] = !density // opened + + var/list/wire = list() + wire["main_1"] = !wires.is_cut(WIRE_POWER1) + wire["main_2"] = !wires.is_cut(WIRE_POWER2) + wire["backup_1"] = !wires.is_cut(WIRE_BACKUP1) + wire["backup_2"] = !wires.is_cut(WIRE_BACKUP2) + wire["shock"] = !wires.is_cut(WIRE_SHOCK) + wire["id_scanner"] = !wires.is_cut(WIRE_IDSCAN) + wire["bolts"] = !wires.is_cut(WIRE_BOLTS) + wire["lights"] = !wires.is_cut(WIRE_LIGHT) + wire["safe"] = !wires.is_cut(WIRE_SAFETY) + wire["timing"] = !wires.is_cut(WIRE_TIMING) + + data["wires"] = wire + return data + +/obj/machinery/door/airlock/ui_act(action, params) + if(..()) + return + if(!user_allowed(usr)) + return + switch(action) + if("disrupt-main") + if(!secondsMainPowerLost) + loseMainPower() + update_icon() + else + to_chat(usr, "Main power is already offline.") + . = TRUE + if("disrupt-backup") + if(!secondsBackupPowerLost) + loseBackupPower() + update_icon() + else + to_chat(usr, "Backup power is already offline.") + . = TRUE + if("shock-restore") + shock_restore(usr) + . = TRUE + if("shock-temp") + shock_temp(usr) + . = TRUE + if("shock-perm") + shock_perm(usr) + . = TRUE + if("idscan-on") + if(wires.is_cut(WIRE_IDSCAN)) + to_chat(usr, "You can't enable IdScan - The IdScan wire has been cut.") + else if(src.aiDisabledIdScanner) + aiDisabledIdScanner = FALSE + else + to_chat(usr, "The IdScan feature is not disabled.") + . = TRUE + if("idscan-off") + if(wires.is_cut(WIRE_IDSCAN)) + to_chat(usr, "The IdScan wire has been cut - So, you can't disable it, but it is already disabled anyways.") + else if(aiDisabledIdScanner) + to_chat(usr, "You've already disabled the IdScan feature.") + else + aiDisabledIdScanner = TRUE + . = TRUE + if("emergency-on") + emergency_on(usr) + . = TRUE + if("emergency-off") + emergency_off(usr) + . = TRUE + if("bolt-raise") + bolt_raise(usr) + . = TRUE + if("bolt-drop") + bolt_drop(usr) + . = TRUE + if("light-on") + if(wires.is_cut(WIRE_LIGHT)) + to_chat(usr, "Control to door bolt lights has been severed.") + else if (!src.lights) + lights = TRUE + update_icon() + else + to_chat(usr, text("Door bolt lights are already enabled!")) + . = TRUE + if("light-off") + if(wires.is_cut(WIRE_LIGHT)) + to_chat(usr, "Control to door bolt lights has been severed.") + else if (lights) + lights = FALSE + update_icon() + else + to_chat(usr, "Door bolt lights are already disabled!") + . = TRUE + if("safe-on") + if(wires.is_cut(WIRE_SAFETY)) + to_chat(usr, "Control to door sensors is disabled.") + else if (!src.safe) + safe = TRUE + else + to_chat(usr, "Firmware reports safeties already in place.") + . = TRUE + if("safe-off") + if(wires.is_cut(WIRE_SAFETY)) + to_chat(usr, "Control to door sensors is disabled.") + else if (safe) + safe = FALSE + else + to_chat(usr, "Firmware reports safeties already overriden.") + . = TRUE + if("speed-on") + if(wires.is_cut(WIRE_TIMING)) + to_chat(usr, "Control to door timing circuitry has been severed.") + else if (!src.normalspeed) + normalspeed = 1 + else + to_chat(usr,"Door timing circuitry currently operating normally.") + . = TRUE + if("speed-off") + if(wires.is_cut(WIRE_TIMING)) + to_chat(usr, "Control to door timing circuitry has been severed.") + else if (normalspeed) + normalspeed = 0 + else + to_chat(usr, "Door timing circuitry already accelerated.") + + . = TRUE + if("open-close") + user_toggle_open(usr) + . = TRUE + +/obj/machinery/door/airlock/proc/user_allowed(mob/user) + return (issilicon(user) && canAIControl(user)) || IsAdminGhost(user) + +/obj/machinery/door/airlock/proc/shock_restore(mob/user) + if(!user_allowed(user)) + return + if(wires.is_cut(WIRE_SHOCK)) + to_chat(user, "Can't un-electrify the airlock - The electrification wire is cut.") + else if(isElectrified()) + set_electrified(0) + +/obj/machinery/door/airlock/proc/shock_temp(mob/user) + if(!user_allowed(user)) + return + if(wires.is_cut(WIRE_SHOCK)) + to_chat(user, "The electrification wire has been cut") + else + shockedby += "\[[time_stamp()]\][user](ckey:[user.ckey])" + add_logs(user, src, "electrified") + set_electrified(AI_ELECTRIFY_DOOR_TIME) + +/obj/machinery/door/airlock/proc/shock_perm(mob/user) + if(!user_allowed(user)) + return + if(wires.is_cut(WIRE_SHOCK)) + to_chat(user, "The electrification wire has been cut") + else + shockedby += text("\[[time_stamp()]\][user](ckey:[user.ckey])") + add_logs(user, src, "electrified") + set_electrified(ELECTRIFIED_PERMANENT) + +/obj/machinery/door/airlock/proc/emergency_on(mob/user) + if(!user_allowed(user)) + return + if (!emergency) + emergency = TRUE + update_icon() + else + to_chat(user, "Emergency access is already enabled!") + +/obj/machinery/door/airlock/proc/emergency_off(mob/user) + if(!user_allowed(user)) + return + if (emergency) + emergency = FALSE + update_icon() + else + to_chat(user, "Emergency access is already disabled!") + +/obj/machinery/door/airlock/proc/bolt_raise(mob/user) + if(!user_allowed(user)) + return + if(wires.is_cut(WIRE_BOLTS)) + to_chat(user, "The door bolt drop wire is cut - you can't raise the door bolts") + else if(!src.locked) + to_chat(user, "The door bolts are already up") + else + if(src.hasPower()) + unbolt() + else + to_chat(user, "Cannot raise door bolts due to power failure") + +/obj/machinery/door/airlock/proc/bolt_drop(mob/user) + if(!user_allowed(user)) + return + if(wires.is_cut(WIRE_BOLTS)) + to_chat(user, "You can't drop the door bolts - The door bolt dropping wire has been cut.") + else + bolt() + +/obj/machinery/door/airlock/proc/user_toggle_open(mob/user) + if(!user_allowed(user)) + return + if(welded) + to_chat(user, text("The airlock has been welded shut!")) + else if(locked) + to_chat(user, text("The door bolts are down!")) + else if(!density) + close() + else + open() + #undef AIRLOCK_CLOSED #undef AIRLOCK_CLOSING #undef AIRLOCK_OPEN @@ -1653,3 +1613,4 @@ #undef NOT_ELECTRIFIED #undef ELECTRIFIED_PERMANENT +#undef AI_ELECTRIFY_DOOR_TIME diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 883cc3986f..fa6275809d 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -103,7 +103,7 @@ move_update_air(T) /obj/machinery/door/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return !opacity return !density diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 63da575fc1..ad746d089f 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -212,7 +212,7 @@ CanAtmosPass = ATMOS_PASS_PROC /obj/machinery/door/firedoor/border_only/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return 1 if(get_dir(loc, target) == dir) //Make sure looking at appropriate border return !density @@ -220,7 +220,7 @@ return 1 /obj/machinery/door/firedoor/border_only/CheckExit(atom/movable/mover as mob|obj, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return 1 if(get_dir(loc, target) == dir) return !density diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 4809f3ff49..2313afec3b 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -90,7 +90,7 @@ return /obj/machinery/door/window/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return 1 if(get_dir(loc, target) == dir) //Make sure looking at appropriate border return !density @@ -118,7 +118,7 @@ return !density || (dir != to_dir) || (check_access(ID) && hasPower()) /obj/machinery/door/window/CheckExit(atom/movable/mover as mob|obj, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return 1 if(get_dir(loc, target) == dir) return !density diff --git a/code/game/machinery/embedded_controller/access_controller.dm b/code/game/machinery/embedded_controller/access_controller.dm index 5e0d018554..e243494f2b 100644 --- a/code/game/machinery/embedded_controller/access_controller.dm +++ b/code/game/machinery/embedded_controller/access_controller.dm @@ -277,29 +277,29 @@ if(!exteriorAirlock || !interiorAirlock) if(!exteriorAirlock) if(interiorAirlock.density) - output = "Open Interior Airlock
    " + output = "Open Interior Airlock
    " else - output = "Close Interior Airlock
    " + output = "Close Interior Airlock
    " else if(exteriorAirlock.density) - output = "Open Exterior Airlock
    " + output = "Open Exterior Airlock
    " else - output = "Close Exterior Airlock
    " + output = "Close Exterior Airlock
    " else if(exteriorAirlock.density) if(interiorAirlock.density) - output = {"Open Exterior Airlock
    - Open Interior Airlock
    "} + output = {"Open Exterior Airlock
    + Open Interior Airlock
    "} else - output = {"Cycle to Exterior Airlock
    - Close Interior Airlock
    "} + output = {"Cycle to Exterior Airlock
    + Close Interior Airlock
    "} else if(interiorAirlock.density) - output = {"Close Exterior Airlock
    - Cycle to Interior Airlock
    "} + output = {"Close Exterior Airlock
    + Cycle to Interior Airlock
    "} else - output = {"Close Exterior Airlock
    - Close Interior Airlock
    "} + output = {"Close Exterior Airlock
    + Close Interior Airlock
    "} output = {"Access Control Console
    diff --git a/code/game/machinery/embedded_controller/airlock_controller.dm b/code/game/machinery/embedded_controller/airlock_controller.dm index 59d58bc9a5..f34191370d 100644 --- a/code/game/machinery/embedded_controller/airlock_controller.dm +++ b/code/game/machinery/embedded_controller/airlock_controller.dm @@ -1,296 +1,296 @@ -//States for airlock_control -#define AIRLOCK_STATE_INOPEN -2 -#define AIRLOCK_STATE_PRESSURIZE -1 -#define AIRLOCK_STATE_CLOSED 0 -#define AIRLOCK_STATE_DEPRESSURIZE 1 -#define AIRLOCK_STATE_OUTOPEN 2 - -/datum/computer/file/embedded_program/airlock_controller - var/id_tag - var/exterior_door_tag - var/interior_door_tag - var/airpump_tag - var/sensor_tag - var/sanitize_external - - state = AIRLOCK_STATE_CLOSED - var/target_state = AIRLOCK_STATE_CLOSED - var/sensor_pressure = null - -/datum/computer/file/embedded_program/airlock_controller/receive_signal(datum/signal/signal, receive_method, receive_param) - var/receive_tag = signal.data["tag"] - if(!receive_tag) - return - - if(receive_tag==sensor_tag) - if(signal.data["pressure"]) - sensor_pressure = text2num(signal.data["pressure"]) - - else if(receive_tag==exterior_door_tag) - memory["exterior_status"] = signal.data["door_status"] - - else if(receive_tag==interior_door_tag) - memory["interior_status"] = signal.data["door_status"] - - else if(receive_tag==airpump_tag) - if(signal.data["power"]) - memory["pump_status"] = signal.data["direction"] - else - memory["pump_status"] = "off" - - else if(receive_tag==id_tag) - switch(signal.data["command"]) - if("cycle") - if(state < AIRLOCK_STATE_CLOSED) - target_state = AIRLOCK_STATE_OUTOPEN - else - target_state = AIRLOCK_STATE_INOPEN - -/datum/computer/file/embedded_program/airlock_controller/receive_user_command(command) - switch(command) - if("cycle_closed") - target_state = AIRLOCK_STATE_CLOSED - if("cycle_exterior") - target_state = AIRLOCK_STATE_OUTOPEN - if("cycle_interior") - target_state = AIRLOCK_STATE_INOPEN - if("abort") - target_state = AIRLOCK_STATE_CLOSED - -/datum/computer/file/embedded_program/airlock_controller/process() - var/process_again = 1 - while(process_again) - process_again = 0 - switch(state) - if(AIRLOCK_STATE_INOPEN) // state -2 - if(target_state > state) - if(memory["interior_status"] == "closed") - state = AIRLOCK_STATE_CLOSED - process_again = 1 - else - var/datum/signal/signal = new - signal.data["tag"] = interior_door_tag - signal.data["command"] = "secure_close" - post_signal(signal) - else - if(memory["pump_status"] != "off") - var/datum/signal/signal = new - signal.data = list( - "tag" = airpump_tag, - "power" = 0, - "sigtype"="command" - ) - post_signal(signal) - - if(AIRLOCK_STATE_PRESSURIZE) - if(target_state < state) - if(sensor_pressure >= ONE_ATMOSPHERE*0.95) - if(memory["interior_status"] == "open") - state = AIRLOCK_STATE_INOPEN - process_again = 1 - else - var/datum/signal/signal = new - signal.data["tag"] = interior_door_tag - signal.data["command"] = "secure_open" - post_signal(signal) - else - var/datum/signal/signal = new - signal.data = list( - "tag" = airpump_tag, - "sigtype"="command" - ) - if(memory["pump_status"] == "siphon") - signal.data["stabalize"] = 1 - else if(memory["pump_status"] != "release") - signal.data["power"] = 1 - post_signal(signal) - else if(target_state > state) - state = AIRLOCK_STATE_CLOSED - process_again = 1 - - if(AIRLOCK_STATE_CLOSED) - if(target_state > state) - if(memory["interior_status"] == "closed") - state = AIRLOCK_STATE_DEPRESSURIZE - process_again = 1 - else - var/datum/signal/signal = new - signal.data["tag"] = interior_door_tag - signal.data["command"] = "secure_close" - post_signal(signal) - else if(target_state < state) - if(memory["exterior_status"] == "closed") - state = AIRLOCK_STATE_PRESSURIZE - process_again = 1 - else - var/datum/signal/signal = new - signal.data["tag"] = exterior_door_tag - signal.data["command"] = "secure_close" - post_signal(signal) - - else - if(memory["pump_status"] != "off") - var/datum/signal/signal = new - signal.data = list( - "tag" = airpump_tag, - "power" = 0, - "sigtype"="command" - ) - post_signal(signal) - - if(AIRLOCK_STATE_DEPRESSURIZE) - var/target_pressure = ONE_ATMOSPHERE*0.05 - if(sanitize_external) - target_pressure = ONE_ATMOSPHERE*0.01 - - if(sensor_pressure <= target_pressure) - if(target_state > state) - if(memory["exterior_status"] == "open") - state = AIRLOCK_STATE_OUTOPEN - else - var/datum/signal/signal = new - signal.data["tag"] = exterior_door_tag - signal.data["command"] = "secure_open" - post_signal(signal) - else if(target_state < state) - state = AIRLOCK_STATE_CLOSED - process_again = 1 - else if((target_state < state) && !sanitize_external) - state = AIRLOCK_STATE_CLOSED - process_again = 1 - else - var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal - signal.data = list( - "tag" = airpump_tag, - "sigtype"="command" - ) - if(memory["pump_status"] == "release") - signal.data["purge"] = 1 - else if(memory["pump_status"] != "siphon") - signal.data["power"] = 1 - post_signal(signal) - - if(AIRLOCK_STATE_OUTOPEN) //state 2 - if(target_state < state) - if(memory["exterior_status"] == "closed") - if(sanitize_external) - state = AIRLOCK_STATE_DEPRESSURIZE - process_again = 1 - else - state = AIRLOCK_STATE_CLOSED - process_again = 1 - else - var/datum/signal/signal = new - signal.data["tag"] = exterior_door_tag - signal.data["command"] = "secure_close" - post_signal(signal) - else - if(memory["pump_status"] != "off") - var/datum/signal/signal = new - signal.data = list( - "tag" = airpump_tag, - "power" = 0, - "sigtype"="command" - ) - post_signal(signal) - - memory["sensor_pressure"] = sensor_pressure - memory["processing"] = state != target_state - //sensor_pressure = null //not sure if we can comment this out. Uncomment in case of problems -rastaf0 - - return 1 - - -/obj/machinery/embedded_controller/radio/airlock_controller - icon = 'icons/obj/airlock_machines.dmi' - icon_state = "airlock_control_standby" - - name = "airlock console" - density = FALSE - - frequency = 1449 - power_channel = ENVIRON - - // Setup parameters only - var/id_tag - var/exterior_door_tag - var/interior_door_tag - var/airpump_tag - var/sensor_tag - var/sanitize_external - -/obj/machinery/embedded_controller/radio/airlock_controller/Initialize(mapload) - . = ..() - if(!mapload) - return - - var/datum/computer/file/embedded_program/airlock_controller/new_prog = new - - new_prog.id_tag = id_tag - new_prog.exterior_door_tag = exterior_door_tag - new_prog.interior_door_tag = interior_door_tag - new_prog.airpump_tag = airpump_tag - new_prog.sensor_tag = sensor_tag - new_prog.sanitize_external = sanitize_external - - new_prog.master = src - program = new_prog - -/obj/machinery/embedded_controller/radio/airlock_controller/update_icon() - if(on && program) - if(program.memory["processing"]) - icon_state = "airlock_control_process" - else - icon_state = "airlock_control_standby" - else - icon_state = "airlock_control_off" - - -/obj/machinery/embedded_controller/radio/airlock_controller/return_text() - var/state_options = null - - var/state = 0 - var/sensor_pressure = "----" - var/exterior_status = "----" - var/interior_status = "----" - var/pump_status = "----" - var/current_status = "Inactive
     " - if(program) - state = program.state - sensor_pressure = program.memory["sensor_pressure"] ? program.memory["sensor_pressure"] : "----" - exterior_status = program.memory["exterior_status"] ? program.memory["exterior_status"] : "----" - interior_status = program.memory["interior_status"] ? program.memory["interior_status"] : "----" - pump_status = program.memory["pump_status"] ? program.memory["pump_status"] : "----" - - switch(state) - if(AIRLOCK_STATE_INOPEN) - state_options = {"Close Interior Airlock
    -Cycle to Exterior Airlock
    "} - current_status = "Interior Airlock Open
    Chamber Pressurized" - if(AIRLOCK_STATE_PRESSURIZE) - state_options = "Abort Cycling
    " - current_status = "Cycling to Interior Airlock
    Chamber Pressurizing" - if(AIRLOCK_STATE_CLOSED) - state_options = {"Open Interior Airlock
    -Open Exterior Airlock
    "} - if(AIRLOCK_STATE_DEPRESSURIZE) - state_options = "Abort Cycling
    " - current_status = "Cycling to Exterior Airlock
    Chamber Depressurizing" - if(AIRLOCK_STATE_OUTOPEN) - state_options = {"Cycle to Interior Airlock
    -Close Exterior Airlock
    "} - current_status = "Exterior Airlock Open
    Chamber Depressurized" - - var/output = {"

    Airlock Status

    -
    -
    Current Status:
    [current_status]
    -
     
    -
    \> Chamber Pressure:
    [sensor_pressure] kPa
    -
    \> Control Pump:
    [pump_status]
    -
    \> Interior Door:
    [interior_status]
    -
    \> Exterior Door:
    [exterior_status]
    -
    -[state_options]"} - - return output +//States for airlock_control +#define AIRLOCK_STATE_INOPEN -2 +#define AIRLOCK_STATE_PRESSURIZE -1 +#define AIRLOCK_STATE_CLOSED 0 +#define AIRLOCK_STATE_DEPRESSURIZE 1 +#define AIRLOCK_STATE_OUTOPEN 2 + +/datum/computer/file/embedded_program/airlock_controller + var/id_tag + var/exterior_door_tag + var/interior_door_tag + var/airpump_tag + var/sensor_tag + var/sanitize_external + + state = AIRLOCK_STATE_CLOSED + var/target_state = AIRLOCK_STATE_CLOSED + var/sensor_pressure = null + +/datum/computer/file/embedded_program/airlock_controller/receive_signal(datum/signal/signal, receive_method, receive_param) + var/receive_tag = signal.data["tag"] + if(!receive_tag) + return + + if(receive_tag==sensor_tag) + if(signal.data["pressure"]) + sensor_pressure = text2num(signal.data["pressure"]) + + else if(receive_tag==exterior_door_tag) + memory["exterior_status"] = signal.data["door_status"] + + else if(receive_tag==interior_door_tag) + memory["interior_status"] = signal.data["door_status"] + + else if(receive_tag==airpump_tag) + if(signal.data["power"]) + memory["pump_status"] = signal.data["direction"] + else + memory["pump_status"] = "off" + + else if(receive_tag==id_tag) + switch(signal.data["command"]) + if("cycle") + if(state < AIRLOCK_STATE_CLOSED) + target_state = AIRLOCK_STATE_OUTOPEN + else + target_state = AIRLOCK_STATE_INOPEN + +/datum/computer/file/embedded_program/airlock_controller/receive_user_command(command) + switch(command) + if("cycle_closed") + target_state = AIRLOCK_STATE_CLOSED + if("cycle_exterior") + target_state = AIRLOCK_STATE_OUTOPEN + if("cycle_interior") + target_state = AIRLOCK_STATE_INOPEN + if("abort") + target_state = AIRLOCK_STATE_CLOSED + +/datum/computer/file/embedded_program/airlock_controller/process() + var/process_again = 1 + while(process_again) + process_again = 0 + switch(state) + if(AIRLOCK_STATE_INOPEN) // state -2 + if(target_state > state) + if(memory["interior_status"] == "closed") + state = AIRLOCK_STATE_CLOSED + process_again = 1 + else + var/datum/signal/signal = new + signal.data["tag"] = interior_door_tag + signal.data["command"] = "secure_close" + post_signal(signal) + else + if(memory["pump_status"] != "off") + var/datum/signal/signal = new + signal.data = list( + "tag" = airpump_tag, + "power" = 0, + "sigtype"="command" + ) + post_signal(signal) + + if(AIRLOCK_STATE_PRESSURIZE) + if(target_state < state) + if(sensor_pressure >= ONE_ATMOSPHERE*0.95) + if(memory["interior_status"] == "open") + state = AIRLOCK_STATE_INOPEN + process_again = 1 + else + var/datum/signal/signal = new + signal.data["tag"] = interior_door_tag + signal.data["command"] = "secure_open" + post_signal(signal) + else + var/datum/signal/signal = new + signal.data = list( + "tag" = airpump_tag, + "sigtype"="command" + ) + if(memory["pump_status"] == "siphon") + signal.data["stabalize"] = 1 + else if(memory["pump_status"] != "release") + signal.data["power"] = 1 + post_signal(signal) + else if(target_state > state) + state = AIRLOCK_STATE_CLOSED + process_again = 1 + + if(AIRLOCK_STATE_CLOSED) + if(target_state > state) + if(memory["interior_status"] == "closed") + state = AIRLOCK_STATE_DEPRESSURIZE + process_again = 1 + else + var/datum/signal/signal = new + signal.data["tag"] = interior_door_tag + signal.data["command"] = "secure_close" + post_signal(signal) + else if(target_state < state) + if(memory["exterior_status"] == "closed") + state = AIRLOCK_STATE_PRESSURIZE + process_again = 1 + else + var/datum/signal/signal = new + signal.data["tag"] = exterior_door_tag + signal.data["command"] = "secure_close" + post_signal(signal) + + else + if(memory["pump_status"] != "off") + var/datum/signal/signal = new + signal.data = list( + "tag" = airpump_tag, + "power" = 0, + "sigtype"="command" + ) + post_signal(signal) + + if(AIRLOCK_STATE_DEPRESSURIZE) + var/target_pressure = ONE_ATMOSPHERE*0.05 + if(sanitize_external) + target_pressure = ONE_ATMOSPHERE*0.01 + + if(sensor_pressure <= target_pressure) + if(target_state > state) + if(memory["exterior_status"] == "open") + state = AIRLOCK_STATE_OUTOPEN + else + var/datum/signal/signal = new + signal.data["tag"] = exterior_door_tag + signal.data["command"] = "secure_open" + post_signal(signal) + else if(target_state < state) + state = AIRLOCK_STATE_CLOSED + process_again = 1 + else if((target_state < state) && !sanitize_external) + state = AIRLOCK_STATE_CLOSED + process_again = 1 + else + var/datum/signal/signal = new + signal.transmission_method = 1 //radio signal + signal.data = list( + "tag" = airpump_tag, + "sigtype"="command" + ) + if(memory["pump_status"] == "release") + signal.data["purge"] = 1 + else if(memory["pump_status"] != "siphon") + signal.data["power"] = 1 + post_signal(signal) + + if(AIRLOCK_STATE_OUTOPEN) //state 2 + if(target_state < state) + if(memory["exterior_status"] == "closed") + if(sanitize_external) + state = AIRLOCK_STATE_DEPRESSURIZE + process_again = 1 + else + state = AIRLOCK_STATE_CLOSED + process_again = 1 + else + var/datum/signal/signal = new + signal.data["tag"] = exterior_door_tag + signal.data["command"] = "secure_close" + post_signal(signal) + else + if(memory["pump_status"] != "off") + var/datum/signal/signal = new + signal.data = list( + "tag" = airpump_tag, + "power" = 0, + "sigtype"="command" + ) + post_signal(signal) + + memory["sensor_pressure"] = sensor_pressure + memory["processing"] = state != target_state + //sensor_pressure = null //not sure if we can comment this out. Uncomment in case of problems -rastaf0 + + return 1 + + +/obj/machinery/embedded_controller/radio/airlock_controller + icon = 'icons/obj/airlock_machines.dmi' + icon_state = "airlock_control_standby" + + name = "airlock console" + density = FALSE + + frequency = 1449 + power_channel = ENVIRON + + // Setup parameters only + var/id_tag + var/exterior_door_tag + var/interior_door_tag + var/airpump_tag + var/sensor_tag + var/sanitize_external + +/obj/machinery/embedded_controller/radio/airlock_controller/Initialize(mapload) + . = ..() + if(!mapload) + return + + var/datum/computer/file/embedded_program/airlock_controller/new_prog = new + + new_prog.id_tag = id_tag + new_prog.exterior_door_tag = exterior_door_tag + new_prog.interior_door_tag = interior_door_tag + new_prog.airpump_tag = airpump_tag + new_prog.sensor_tag = sensor_tag + new_prog.sanitize_external = sanitize_external + + new_prog.master = src + program = new_prog + +/obj/machinery/embedded_controller/radio/airlock_controller/update_icon() + if(on && program) + if(program.memory["processing"]) + icon_state = "airlock_control_process" + else + icon_state = "airlock_control_standby" + else + icon_state = "airlock_control_off" + + +/obj/machinery/embedded_controller/radio/airlock_controller/return_text() + var/state_options = null + + var/state = 0 + var/sensor_pressure = "----" + var/exterior_status = "----" + var/interior_status = "----" + var/pump_status = "----" + var/current_status = "Inactive
     " + if(program) + state = program.state + sensor_pressure = program.memory["sensor_pressure"] ? program.memory["sensor_pressure"] : "----" + exterior_status = program.memory["exterior_status"] ? program.memory["exterior_status"] : "----" + interior_status = program.memory["interior_status"] ? program.memory["interior_status"] : "----" + pump_status = program.memory["pump_status"] ? program.memory["pump_status"] : "----" + + switch(state) + if(AIRLOCK_STATE_INOPEN) + state_options = {"Close Interior Airlock
    +Cycle to Exterior Airlock
    "} + current_status = "Interior Airlock Open
    Chamber Pressurized" + if(AIRLOCK_STATE_PRESSURIZE) + state_options = "Abort Cycling
    " + current_status = "Cycling to Interior Airlock
    Chamber Pressurizing" + if(AIRLOCK_STATE_CLOSED) + state_options = {"Open Interior Airlock
    +Open Exterior Airlock
    "} + if(AIRLOCK_STATE_DEPRESSURIZE) + state_options = "Abort Cycling
    " + current_status = "Cycling to Exterior Airlock
    Chamber Depressurizing" + if(AIRLOCK_STATE_OUTOPEN) + state_options = {"Cycle to Interior Airlock
    +Close Exterior Airlock
    "} + current_status = "Exterior Airlock Open
    Chamber Depressurized" + + var/output = {"

    Airlock Status

    +
    +
    Current Status:
    [current_status]
    +
     
    +
    \> Chamber Pressure:
    [sensor_pressure] kPa
    +
    \> Control Pump:
    [pump_status]
    +
    \> Interior Door:
    [interior_status]
    +
    \> Exterior Door:
    [exterior_status]
    +
    +[state_options]"} + + return output diff --git a/code/game/machinery/embedded_controller/simple_vent_controller.dm b/code/game/machinery/embedded_controller/simple_vent_controller.dm index 063e81354c..af945c7ccb 100644 --- a/code/game/machinery/embedded_controller/simple_vent_controller.dm +++ b/code/game/machinery/embedded_controller/simple_vent_controller.dm @@ -1,79 +1,79 @@ -/datum/computer/file/embedded_program/simple_vent_controller - - var/airpump_tag - -/datum/computer/file/embedded_program/simple_vent_controller/receive_user_command(command) - switch(command) - if("vent_inactive") - var/datum/signal/signal = new - signal.data = list( - "tag" = airpump_tag, - "sigtype"="command" - ) - signal.data["power"] = 0 - post_signal(signal) - - if("vent_pump") - var/datum/signal/signal = new - signal.data = list( - "tag" = airpump_tag, - "sigtype"="command" - ) - signal.data["stabalize"] = 1 - signal.data["power"] = 1 - post_signal(signal) - - if("vent_clear") - var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal - signal.data = list( - "tag" = airpump_tag, - "sigtype"="command" - ) - signal.data["purge"] = 1 - signal.data["power"] = 1 - post_signal(signal) - -/datum/computer/file/embedded_program/simple_vent_controller/process() - return 0 - - -/obj/machinery/embedded_controller/radio/simple_vent_controller - icon = 'icons/obj/airlock_machines.dmi' - icon_state = "airlock_control_standby" - - name = "vent controller" +/datum/computer/file/embedded_program/simple_vent_controller + + var/airpump_tag + +/datum/computer/file/embedded_program/simple_vent_controller/receive_user_command(command) + switch(command) + if("vent_inactive") + var/datum/signal/signal = new + signal.data = list( + "tag" = airpump_tag, + "sigtype"="command" + ) + signal.data["power"] = 0 + post_signal(signal) + + if("vent_pump") + var/datum/signal/signal = new + signal.data = list( + "tag" = airpump_tag, + "sigtype"="command" + ) + signal.data["stabalize"] = 1 + signal.data["power"] = 1 + post_signal(signal) + + if("vent_clear") + var/datum/signal/signal = new + signal.transmission_method = 1 //radio signal + signal.data = list( + "tag" = airpump_tag, + "sigtype"="command" + ) + signal.data["purge"] = 1 + signal.data["power"] = 1 + post_signal(signal) + +/datum/computer/file/embedded_program/simple_vent_controller/process() + return 0 + + +/obj/machinery/embedded_controller/radio/simple_vent_controller + icon = 'icons/obj/airlock_machines.dmi' + icon_state = "airlock_control_standby" + + name = "vent controller" density = FALSE - - frequency = 1229 - power_channel = ENVIRON - - // Setup parameters only - var/airpump_tag - -/obj/machinery/embedded_controller/radio/simple_vent_controller/Initialize(mapload) + + frequency = 1229 + power_channel = ENVIRON + + // Setup parameters only + var/airpump_tag + +/obj/machinery/embedded_controller/radio/simple_vent_controller/Initialize(mapload) . = ..() - if(!mapload) - return - var/datum/computer/file/embedded_program/simple_vent_controller/new_prog = new - - new_prog.airpump_tag = airpump_tag - new_prog.master = src - program = new_prog - -/obj/machinery/embedded_controller/radio/simple_vent_controller/update_icon() - if(on && program) - icon_state = "airlock_control_standby" - else - icon_state = "airlock_control_off" - - -/obj/machinery/embedded_controller/radio/simple_vent_controller/return_text() - var/state_options = null - state_options = {"Deactivate Vent
    -Activate Vent / Pump
    -Activate Vent / Clear
    "} - var/output = {"Vent Control Console
    -[state_options]
    "} - - return output + if(!mapload) + return + var/datum/computer/file/embedded_program/simple_vent_controller/new_prog = new + + new_prog.airpump_tag = airpump_tag + new_prog.master = src + program = new_prog + +/obj/machinery/embedded_controller/radio/simple_vent_controller/update_icon() + if(on && program) + icon_state = "airlock_control_standby" + else + icon_state = "airlock_control_off" + + +/obj/machinery/embedded_controller/radio/simple_vent_controller/return_text() + var/state_options = null + state_options = {"Deactivate Vent
    +Activate Vent / Pump
    +Activate Vent / Clear
    "} + var/output = {"Vent Control Console
    +[state_options]
    "} + + return output diff --git a/code/game/machinery/exonet_node.dm b/code/game/machinery/exonet_node.dm new file mode 100644 index 0000000000..b521f404ce --- /dev/null +++ b/code/game/machinery/exonet_node.dm @@ -0,0 +1,106 @@ +/obj/machinery/exonet_node + name = "exonet node" + icon = 'icons/obj/stationobjs.dmi' + icon_state = "exonet_node" + idle_power_usage = 25 + var/on = TRUE + var/toggle = TRUE + density = TRUE + anchored = TRUE + circuit = /obj/item/circuitboard/machine/exonet_node + max_integrity = 300 + integrity_failure = 100 + armor = list("melee" = 20, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 70) + desc = "This machine is exonet node." + var/list/logs = list() // Gets written to by exonet's send_message() function. + var/opened = FALSE + +/obj/machinery/exonet_node/Initialize() + . = ..() + SScircuit.all_exonet_nodes += src + +/obj/machinery/exonet_node/Destroy() + SScircuit.all_exonet_nodes -= src + return ..() + +/obj/machinery/exonet_node/proc/is_operating() + return on && !stat + +// Proc: update_icon() +// Parameters: None +// Description: Self explanatory. +/obj/machinery/exonet_node/update_icon() + icon_state = "[initial(icon_state)][on? "" : "_off"]" + +// Proc: update_power() +// Parameters: None +// Description: Sets the device on/off and adjusts power draw based on stat and toggle variables. +/obj/machinery/exonet_node/proc/update_power() + on = is_operational() && toggle + use_power = on + update_icon() + +// Proc: emp_act() +// Parameters: 1 (severity - how strong the EMP is, with lower numbers being stronger) +// Description: Shuts off the machine for awhile if an EMP hits it. Ion anomalies also call this to turn it off. +/obj/machinery/exonet_node/emp_act(severity) + if(!(stat & EMPED)) + stat |= EMPED + var/duration = (300 * 10)/severity + addtimer(CALLBACK(src, /obj/machinery/exonet_node/proc/unemp_act), rand(duration - 20, duration + 20)) + update_icon() + ..() + +/obj/machinery/exonet_node/proc/unemp_act(severity) + stat &= ~EMPED + +// Proc: attackby() +// Parameters: 2 (I - the item being whacked against the machine, user - the person doing the whacking) +// Description: Handles deconstruction. +/obj/machinery/exonet_node/attackby(obj/item/I, mob/user) + if(istype(I, /obj/item/screwdriver)) + default_deconstruction_screwdriver(user, I) + else if(istype(I, /obj/item/crowbar)) + default_deconstruction_crowbar(user, I) + else + return ..() + +// Proc: attack_ai() +// Parameters: 1 (user - the AI clicking on the machine) +// Description: Redirects to attack_hand() +/obj/machinery/exonet_node/attack_ai(mob/user) + ui_interact(user) + + +/obj/machinery/exonet_node/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, var/force_open = 1,datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) + if(!ui) + ui = new(user, src, ui_key, "exonet_node", name, 600, 300, master_ui, state) + ui.open() + +/obj/machinery/exonet_node/ui_data(mob/user) + var/list/data = list() + data["toggle"] = toggle + data["logs"] = logs + return data + +/obj/machinery/exonet_node/ui_act(action, params) + if(..()) + return + switch(action) + if("toggle_power") + toggle = !toggle + update_power() + if(!toggle) + investigate_log("has been turned off by [key_name(usr)].", INVESTIGATE_EXONET) + . = TRUE + update_icon() + add_fingerprint(usr) + +// Proc: get_exonet_node() +// Parameters: None +// Description: Helper proc to get a reference to an Exonet node. + +/obj/machinery/exonet_node/proc/write_log(var/origin_address, var/target_address, var/data_type, var/content) + var/msg = "[time2text(world.time, "hh:mm:ss")] | FROM [origin_address] TO [target_address] | TYPE: [data_type] | CONTENT: [content]" + logs.Add(msg) diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 83d51bae0c..39df6f409e 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -1,3 +1,5 @@ +#define FIREALARM_COOLDOWN 67 // Chosen fairly arbitrarily, it is the length of the audio in FireAlarm.ogg. The actual track length is 7 seconds 8ms but but the audio stops at 6s 700ms + /obj/item/electronics/firealarm name = "fire alarm electronics" desc = "A fire alarm circuit. Can handle heat levels up to 40 degrees celsius." @@ -25,7 +27,8 @@ var/detecting = 1 var/buildstage = 2 // 2 = complete, 1 = no wires, 0 = circuit gone resistance_flags = FIRE_PROOF - + var/last_alarm = 0 + var/area/myarea = null /obj/machinery/firealarm/New(loc, dir, building) ..() @@ -37,6 +40,12 @@ pixel_x = (dir & 3)? 0 : (dir == 4 ? -24 : 24) pixel_y = (dir & 3)? (dir ==1 ? -24 : 24) : 0 update_icon() + myarea = get_area(src) + LAZYADD(myarea.firealarms, src) + +/obj/machinery/firealarm/Destroy() + LAZYREMOVE(myarea.firealarms, src) + return ..() /obj/machinery/firealarm/power_change() ..() @@ -87,29 +96,24 @@ playsound(src, "sparks", 50, 1) /obj/machinery/firealarm/temperature_expose(datum/gas_mixture/air, temperature, volume) - if(!emagged && detecting && !stat && (temperature > T0C + 200 || temperature < BODYTEMP_COLD_DAMAGE_LIMIT)) + if((temperature > T0C + 200 || temperature < BODYTEMP_COLD_DAMAGE_LIMIT) && (last_alarm+FIREALARM_COOLDOWN < world.time) && !emagged && detecting && !stat) alarm() ..() /obj/machinery/firealarm/proc/alarm() - if(!is_operational()) + if(!is_operational() && (last_alarm+FIREALARM_COOLDOWN < world.time)) return + last_alarm = world.time var/area/A = get_area(src) A.firealert(src) playsound(src.loc, 'goon/sound/machinery/FireAlarm.ogg', 75) -/obj/machinery/firealarm/proc/alarm_in(time) - addtimer(CALLBACK(src, .proc/alarm), time) - /obj/machinery/firealarm/proc/reset() if(!is_operational()) return var/area/A = get_area(src) A.firereset(src) -/obj/machinery/firealarm/proc/reset_in(time) - addtimer(CALLBACK(src, .proc/reset), time) - /obj/machinery/firealarm/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) @@ -248,8 +252,14 @@ if(prob(33)) alarm() +/obj/machinery/firealarm/singularity_pull(S, current_size) + if (current_size >= STAGE_FIVE) // If the singulo is strong enough to pull anchored objects, the fire alarm experiences integrity failure + deconstruct() + ..() + /obj/machinery/firealarm/obj_break(damage_flag) if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1) && buildstage != 0) //can't break the electronics if there isn't any inside. + LAZYREMOVE(myarea.firealarms, src) stat |= BROKEN update_icon() diff --git a/code/game/machinery/gulag_item_reclaimer.dm b/code/game/machinery/gulag_item_reclaimer.dm index 3b4503c3c8..7de077c016 100644 --- a/code/game/machinery/gulag_item_reclaimer.dm +++ b/code/game/machinery/gulag_item_reclaimer.dm @@ -67,7 +67,7 @@ var/mob/thismob = i var/list/mob_info = list() mob_info["name"] = thismob.real_name - mob_info["mob"] = "\ref[thismob]" + mob_info["mob"] = "[REF(thismob)]" mobs += list(mob_info) data["mobs"] = mobs diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index f7a4138348..afc463a60e 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -120,8 +120,8 @@ Possible to do for anyone motivated enough: if(temp) dat = temp else - dat = "Request an AI's presence.
    " - dat += "Call another holopad.
    " + dat = "Request an AI's presence.
    " + dat += "Call another holopad.
    " if(LAZYLEN(holo_calls)) dat += "=====================================================
    " @@ -131,7 +131,7 @@ Possible to do for anyone motivated enough: for(var/I in holo_calls) var/datum/holocall/HC = I if(HC.connected_holopad != src) - dat += "Answer call from [get_area(HC.calling_holopad)].
    " + dat += "Answer call from [get_area(HC.calling_holopad)].
    " one_unanswered_call = TRUE else one_answered_call = TRUE @@ -142,7 +142,7 @@ Possible to do for anyone motivated enough: for(var/I in holo_calls) var/datum/holocall/HC = I if(HC.connected_holopad == src) - dat += "Disconnect call from [HC.user].
    " + dat += "Disconnect call from [HC.user].
    " var/datum/browser/popup = new(user, "holopad", name, 300, 130) @@ -166,22 +166,22 @@ Possible to do for anyone motivated enough: if(last_request + 200 < world.time) last_request = world.time temp = "You requested an AI's presence.
    " - temp += "Main Menu" + temp += "Main Menu" var/area/area = get_area(src) for(var/mob/living/silicon/ai/AI in GLOB.silicon_mobs) if(!AI.client) continue - to_chat(AI, "Your presence is requested at \the [area].") + to_chat(AI, "Your presence is requested at \the [area].") else temp = "A request for AI presence was already sent recently.
    " - temp += "Main Menu" + temp += "Main Menu" else if(href_list["Holocall"]) if(outgoing_call) return temp = "You must stand on the holopad to make a call!
    " - temp += "Main Menu" + temp += "Main Menu" if(usr.loc == loc) var/list/callnames = list() for(var/I in holopads) @@ -196,7 +196,7 @@ Possible to do for anyone motivated enough: if(usr.loc == loc) temp = "Dialing...
    " - temp += "Main Menu" + temp += "Main Menu" new /datum/holocall(usr, src, callnames[result]) else if(href_list["connectcall"]) diff --git a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm index b37be1c4c2..f31a2d2436 100644 --- a/code/game/machinery/limbgrower.dm +++ b/code/game/machinery/limbgrower.dm @@ -160,7 +160,7 @@ /obj/machinery/limbgrower/proc/main_win(mob/user) var/dat = "

    Limb Grower Menu:


    " - dat += "Chemical Storage" + dat += "Chemical Storage" dat += materials_printout() dat += "" @@ -168,7 +168,7 @@ if(C=="special" && !emagged) //Only want to show special when console is emagged continue - dat += "" + dat += "" dat += "" //one category per line @@ -176,7 +176,7 @@ return dat /obj/machinery/limbgrower/proc/category_win(mob/user,selected_category) - var/dat = "Return to main menu" + var/dat = "Return to main menu" dat += "

    Browsing [selected_category]:


    " dat += materials_printout() @@ -187,7 +187,7 @@ if(disabled || !can_build(D)) dat += "[D.name]" else - dat += "[D.name]" + dat += "[D.name]" dat += "[get_design_cost(D)]
    " dat += "
    " @@ -195,13 +195,13 @@ /obj/machinery/limbgrower/proc/chemical_win(mob/user) - var/dat = "Return to main menu" + var/dat = "Return to main menu" dat += "

    Browsing Chemical Storage:


    " dat += materials_printout() for(var/datum/reagent/R in reagents.reagent_list) dat += "[R.name]: [R.volume]" - dat += "Purge
    " + dat += "Purge
    " dat += "
    " return dat diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm index 7808e7ed05..aa3bf465f2 100644 --- a/code/game/machinery/magnet.dm +++ b/code/game/machinery/magnet.dm @@ -249,9 +249,9 @@ var/dat = "Magnetic Control Console

    " if(!autolink) dat += {" - Frequency: [frequency]
    - Code: [code]
    - Probe Generators
    + Frequency: [frequency]
    + Code: [code]
    + Probe Generators
    "} if(magnets.len >= 1) @@ -260,11 +260,11 @@ var/i = 0 for(var/obj/machinery/magnetic_module/M in magnets) i++ - dat += "     < \[[i]\] ([M.on ? "On":"Off"]) | Electricity level: - [M.electricity_level] +; Magnetic field: - [M.magnetic_field] +
    " + dat += "     < \[[i]\] ([M.on ? "On":"Off"]) | Electricity level: - [M.electricity_level] +; Magnetic field: - [M.magnetic_field] +
    " - dat += "
    Speed: - [speed] +
    " - dat += "Path: {[path]}
    " - dat += "Moving: [moving ? "Enabled":"Disabled"]" + dat += "
    Speed: - [speed] +
    " + dat += "Path: {[path]}
    " + dat += "Moving: [moving ? "Enabled":"Disabled"]" user << browse(dat, "window=magnet;size=400x500") diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index c79630a58c..e62d25e5fa 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -1,208 +1,208 @@ -// Navigation beacon for AI robots -// No longer exists on the radio controller, it is managed by a global list. - -/obj/machinery/navbeacon - - icon = 'icons/obj/objects.dmi' - icon_state = "navbeacon0-f" - name = "navigation beacon" - desc = "A radio beacon used for bot navigation." - level = 1 // underfloor - layer = LOW_OBJ_LAYER +// Navigation beacon for AI robots +// No longer exists on the radio controller, it is managed by a global list. + +/obj/machinery/navbeacon + + icon = 'icons/obj/objects.dmi' + icon_state = "navbeacon0-f" + name = "navigation beacon" + desc = "A radio beacon used for bot navigation." + level = 1 // underfloor + layer = LOW_OBJ_LAYER anchored = TRUE - max_integrity = 500 - armor = list(melee = 70, bullet = 70, laser = 70, energy = 70, bomb = 0, bio = 0, rad = 0, fire = 80, acid = 80) - + max_integrity = 500 + armor = list(melee = 70, bullet = 70, laser = 70, energy = 70, bomb = 0, bio = 0, rad = 0, fire = 80, acid = 80) + var/open = FALSE // true if cover is open var/locked = TRUE // true if controls are locked - var/freq = 1445 // radio frequency - var/location = "" // location response text - var/list/codes // assoc. list of transponder codes - var/codes_txt = "" // codes as set on map: "tag1;tag2" or "tag1=value;tag2=value" - + var/freq = 1445 // radio frequency + var/location = "" // location response text + var/list/codes // assoc. list of transponder codes + var/codes_txt = "" // codes as set on map: "tag1;tag2" or "tag1=value;tag2=value" + req_access = list(ACCESS_ENGINE, ACCESS_ROBOTICS) - + /obj/machinery/navbeacon/Initialize() . = ..() - - set_codes() - - var/turf/T = loc - hide(T.intact) - if(codes["patrol"]) - if(!GLOB.navbeacons["[z]"]) - GLOB.navbeacons["[z]"] = list() - GLOB.navbeacons["[z]"] += src //Register with the patrol list! - if(codes["delivery"]) - GLOB.deliverybeacons += src - GLOB.deliverybeacontags += location - -/obj/machinery/navbeacon/Destroy() - GLOB.navbeacons["[z]"] -= src //Remove from beacon list, if in one. - GLOB.deliverybeacons -= src - return ..() - -// set the transponder codes assoc list from codes_txt -/obj/machinery/navbeacon/proc/set_codes() - if(!codes_txt) - return - - codes = new() - - var/list/entries = splittext(codes_txt, ";") // entries are separated by semicolons - - for(var/e in entries) - var/index = findtext(e, "=") // format is "key=value" - if(index) - var/key = copytext(e, 1, index) - var/val = copytext(e, index+1) - codes[key] = val - else - codes[e] = "1" - - -// called when turf state changes -// hide the object if turf is intact -/obj/machinery/navbeacon/hide(intact) - invisibility = intact ? INVISIBILITY_MAXIMUM : 0 - updateicon() - -// update the icon_state -/obj/machinery/navbeacon/proc/updateicon() - var/state="navbeacon[open]" - - if(invisibility) - icon_state = "[state]-f" // if invisible, set icon to faded version - // in case revealed by T-scanner - else - icon_state = "[state]" - -/obj/machinery/navbeacon/attackby(obj/item/I, mob/user, params) - var/turf/T = loc - if(T.intact) - return // prevent intraction when T-scanner revealed - - if(istype(I, /obj/item/screwdriver)) - open = !open - - user.visible_message("[user] [open ? "opens" : "closes"] the beacon's cover.", "You [open ? "open" : "close"] the beacon's cover.") - - updateicon() - - else if (istype(I, /obj/item/card/id)||istype(I, /obj/item/device/pda)) - if(open) - if (src.allowed(user)) - src.locked = !src.locked - to_chat(user, "Controls are now [src.locked ? "locked" : "unlocked"].") - else - to_chat(user, "Access denied.") - updateDialog() - else - to_chat(user, "You must open the cover first!") - else - return ..() - -/obj/machinery/navbeacon/attack_ai(mob/user) - interact(user, 1) - -/obj/machinery/navbeacon/attack_paw() - return - -/obj/machinery/navbeacon/attack_hand(mob/user) - interact(user, 0) - -/obj/machinery/navbeacon/interact(mob/user, ai = 0) - var/turf/T = loc - if(T.intact) - return // prevent intraction when T-scanner revealed - - if(!open && !ai) // can't alter controls if not open, unless you're an AI - to_chat(user, "The beacon's control cover is closed!") - return - - - var/t - - if(locked && !ai) - t = {"Navigation Beacon

    -(swipe card to unlock controls)
    -Location: [location ? location : "(none)"]
    -Transponder Codes:
      "} - - for(var/key in codes) - t += "
    • [key] ... [codes[key]]" - t+= "
        " - - else - - t = {"Navigation Beacon

        -(swipe card to lock controls)
        - -
        -Location: [location ? location : "None"]
        -Transponder Codes:
          "} - - for(var/key in codes) - t += "
        • [key] ... [codes[key]]" - t += " Edit" - t += " Delete
          " - t += " Add New
          " - t+= "
            " - - var/datum/browser/popup = new(user, "navbeacon", "Navigation Beacon", 300, 400) - popup.set_content(t) - popup.open() - return - -/obj/machinery/navbeacon/Topic(href, href_list) - if(..()) - return - if(open && !locked) - usr.set_machine(src) - - if(href_list["locedit"]) - var/newloc = copytext(sanitize(input("Enter New Location", "Navigation Beacon", location) as text|null),1,MAX_MESSAGE_LEN) - if(newloc) - location = newloc - updateDialog() - - else if(href_list["edit"]) - var/codekey = href_list["code"] - - var/newkey = stripped_input(usr, "Enter Transponder Code Key", "Navigation Beacon", codekey) - if(!newkey) - return - - var/codeval = codes[codekey] - var/newval = stripped_input(usr, "Enter Transponder Code Value", "Navigation Beacon", codeval) - if(!newval) - newval = codekey - return - - codes.Remove(codekey) - codes[newkey] = newval - - updateDialog() - - else if(href_list["delete"]) - var/codekey = href_list["code"] - codes.Remove(codekey) - updateDialog() - - else if(href_list["add"]) - - var/newkey = stripped_input(usr, "Enter New Transponder Code Key", "Navigation Beacon") - if(!newkey) - return - - var/newval = stripped_input(usr, "Enter New Transponder Code Value", "Navigation Beacon") - if(!newval) - newval = "1" - return - - if(!codes) - codes = new() - - codes[newkey] = newval - - updateDialog() \ No newline at end of file + + set_codes() + + var/turf/T = loc + hide(T.intact) + if(codes["patrol"]) + if(!GLOB.navbeacons["[z]"]) + GLOB.navbeacons["[z]"] = list() + GLOB.navbeacons["[z]"] += src //Register with the patrol list! + if(codes["delivery"]) + GLOB.deliverybeacons += src + GLOB.deliverybeacontags += location + +/obj/machinery/navbeacon/Destroy() + GLOB.navbeacons["[z]"] -= src //Remove from beacon list, if in one. + GLOB.deliverybeacons -= src + return ..() + +// set the transponder codes assoc list from codes_txt +/obj/machinery/navbeacon/proc/set_codes() + if(!codes_txt) + return + + codes = new() + + var/list/entries = splittext(codes_txt, ";") // entries are separated by semicolons + + for(var/e in entries) + var/index = findtext(e, "=") // format is "key=value" + if(index) + var/key = copytext(e, 1, index) + var/val = copytext(e, index+1) + codes[key] = val + else + codes[e] = "1" + + +// called when turf state changes +// hide the object if turf is intact +/obj/machinery/navbeacon/hide(intact) + invisibility = intact ? INVISIBILITY_MAXIMUM : 0 + updateicon() + +// update the icon_state +/obj/machinery/navbeacon/proc/updateicon() + var/state="navbeacon[open]" + + if(invisibility) + icon_state = "[state]-f" // if invisible, set icon to faded version + // in case revealed by T-scanner + else + icon_state = "[state]" + +/obj/machinery/navbeacon/attackby(obj/item/I, mob/user, params) + var/turf/T = loc + if(T.intact) + return // prevent intraction when T-scanner revealed + + if(istype(I, /obj/item/screwdriver)) + open = !open + + user.visible_message("[user] [open ? "opens" : "closes"] the beacon's cover.", "You [open ? "open" : "close"] the beacon's cover.") + + updateicon() + + else if (istype(I, /obj/item/card/id)||istype(I, /obj/item/device/pda)) + if(open) + if (src.allowed(user)) + src.locked = !src.locked + to_chat(user, "Controls are now [src.locked ? "locked" : "unlocked"].") + else + to_chat(user, "Access denied.") + updateDialog() + else + to_chat(user, "You must open the cover first!") + else + return ..() + +/obj/machinery/navbeacon/attack_ai(mob/user) + interact(user, 1) + +/obj/machinery/navbeacon/attack_paw() + return + +/obj/machinery/navbeacon/attack_hand(mob/user) + interact(user, 0) + +/obj/machinery/navbeacon/interact(mob/user, ai = 0) + var/turf/T = loc + if(T.intact) + return // prevent intraction when T-scanner revealed + + if(!open && !ai) // can't alter controls if not open, unless you're an AI + to_chat(user, "The beacon's control cover is closed!") + return + + + var/t + + if(locked && !ai) + t = {"Navigation Beacon

            +(swipe card to unlock controls)
            +Location: [location ? location : "(none)"]
            +Transponder Codes:
              "} + + for(var/key in codes) + t += "
            • [key] ... [codes[key]]" + t+= "
                " + + else + + t = {"Navigation Beacon

                +(swipe card to lock controls)
                + +
                +Location: [location ? location : "None"]
                +Transponder Codes:
                  "} + + for(var/key in codes) + t += "
                • [key] ... [codes[key]]" + t += " Edit" + t += " Delete
                  " + t += " Add New
                  " + t+= "
                    " + + var/datum/browser/popup = new(user, "navbeacon", "Navigation Beacon", 300, 400) + popup.set_content(t) + popup.open() + return + +/obj/machinery/navbeacon/Topic(href, href_list) + if(..()) + return + if(open && !locked) + usr.set_machine(src) + + if(href_list["locedit"]) + var/newloc = copytext(sanitize(input("Enter New Location", "Navigation Beacon", location) as text|null),1,MAX_MESSAGE_LEN) + if(newloc) + location = newloc + updateDialog() + + else if(href_list["edit"]) + var/codekey = href_list["code"] + + var/newkey = stripped_input(usr, "Enter Transponder Code Key", "Navigation Beacon", codekey) + if(!newkey) + return + + var/codeval = codes[codekey] + var/newval = stripped_input(usr, "Enter Transponder Code Value", "Navigation Beacon", codeval) + if(!newval) + newval = codekey + return + + codes.Remove(codekey) + codes[newkey] = newval + + updateDialog() + + else if(href_list["delete"]) + var/codekey = href_list["code"] + codes.Remove(codekey) + updateDialog() + + else if(href_list["add"]) + + var/newkey = stripped_input(usr, "Enter New Transponder Code Key", "Navigation Beacon") + if(!newkey) + return + + var/newval = stripped_input(usr, "Enter New Transponder Code Value", "Navigation Beacon") + if(!newval) + newval = "1" + return + + if(!codes) + codes = new() + + codes[newkey] = newval + + updateDialog() diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 863eb3286b..577e7d23eb 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -267,21 +267,21 @@ GLOBAL_LIST_EMPTY(allCasters) dat += "Welcome to Newscasting Unit #[unit_no].
                    Interface & News networks Operational." dat += "
                    Property of Nanotrasen Inc" if(GLOB.news_network.wanted_issue.active) - dat+= "
                    Read Wanted Issue" - dat+= "

                    Create Feed Channel" - dat+= "
                    View Feed Channels" - dat+= "
                    Submit new Feed story" - dat+= "
                    Print newspaper" - dat+= "
                    Re-scan User" - dat+= "

                    Exit" + dat+= "
                    Read Wanted Issue" + dat+= "

                    Create Feed Channel" + dat+= "
                    View Feed Channels" + dat+= "
                    Submit new Feed story" + dat+= "
                    Print newspaper" + dat+= "
                    Re-scan User" + dat+= "

                    Exit" if(securityCaster) var/wanted_already = 0 if(GLOB.news_network.wanted_issue.active) wanted_already = 1 dat+="
                    Feed Security functions:
                    " - dat+="
                    [(wanted_already) ? ("Manage") : ("Publish")] \"Wanted\" Issue" - dat+="
                    Censor Feed Stories" - dat+="
                    Mark Feed Channel with Nanotrasen D-Notice" + dat+="
                    [(wanted_already) ? ("Manage") : ("Publish")] \"Wanted\" Issue" + dat+="
                    Censor Feed Stories" + dat+="
                    Mark Feed Channel with Nanotrasen D-Notice" dat+="

                    The newscaster recognises you as: [scanned_user]" if(1) dat+= "Station Feed Channels
                    " @@ -290,31 +290,31 @@ GLOBAL_LIST_EMPTY(allCasters) else for(var/datum/newscaster/feed_channel/CHANNEL in GLOB.news_network.network_channels) if(CHANNEL.is_admin_channel) - dat+="[CHANNEL.channel_name]
                    " + dat+="[CHANNEL.channel_name]
                    " else - dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
                    " - dat+="

                    Refresh" - dat+="
                    Back" + dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
                    " + dat+="

                    Refresh" + dat+="
                    Back" if(2) dat+="Creating new Feed Channel..." - dat+="
                    Channel Name: [channel_name]
                    " + dat+="
                    Channel Name: [channel_name]
                    " dat+="Channel Author: [scanned_user]
                    " - dat+="Will Accept Public Feeds: [(c_locked) ? ("NO") : ("YES")]

                    " - dat+="
                    Submit

                    Cancel
                    " + dat+="Will Accept Public Feeds: [(c_locked) ? ("NO") : ("YES")]

                    " + dat+="
                    Submit

                    Cancel
                    " if(3) dat+="Creating new Feed Message..." - dat+="
                    Receiving Channel: [channel_name]
                    " + dat+="
                    Receiving Channel: [channel_name]
                    " dat+="Message Author: [scanned_user]
                    " - dat+="Message Body:
                    [parsemarkdown(msg, user)]
                    " - dat+="Attach Photo: [(photo ? "Photo Attached" : "No Photo")]
                    " - dat+="Comments [allow_comments ? "Enabled" : "Disabled"]
                    " - dat+="
                    Submit

                    Cancel
                    " + dat+="Message Body:
                    [parsemarkdown(msg, user)]
                    " + dat+="Attach Photo: [(photo ? "Photo Attached" : "No Photo")]
                    " + dat+="Comments [allow_comments ? "Enabled" : "Disabled"]
                    " + dat+="
                    Submit

                    Cancel
                    " if(4) dat+="Feed story successfully submitted to [channel_name].

                    " - dat+="
                    Return
                    " + dat+="
                    Return
                    " if(5) dat+="Feed Channel [channel_name] created successfully.

                    " - dat+="
                    Return
                    " + dat+="
                    Return
                    " if(6) dat+="ERROR: Could not submit Feed story to Network.

                    " if(channel_name=="") @@ -323,7 +323,7 @@ GLOBAL_LIST_EMPTY(allCasters) dat+="Channel author unverified.
                    " if(msg == "" || msg == "\[REDACTED\]") dat+="Invalid message body.
                    " - dat+="
                    Return
                    " + dat+="
                    Return
                    " if(7) dat+="ERROR: Could not submit Feed Channel to Network.

                    " var/list/existing_authors = list() @@ -345,7 +345,7 @@ GLOBAL_LIST_EMPTY(allCasters) dat+="Channel name already in use.
                    " if(scanned_user=="Unknown") dat+="Channel author unverified.
                    " - dat+="
                    Return
                    " + dat+="
                    Return
                    " if(8) var/total_num=length(GLOB.news_network.network_channels) var/active_num=total_num @@ -357,8 +357,8 @@ GLOBAL_LIST_EMPTY(allCasters) active_num-- dat+="Network currently serves a total of [total_num] Feed channels, [active_num] of which are active, and a total of [message_num] Feed Stories." dat+="

                    Liquid Paper remaining: [(paper_remaining) *100 ] cm^3" - dat+="

                    Print Paper" - dat+="
                    Cancel" + dat+="

                    Print Paper" + dat+="
                    Cancel" if(9) dat+="[viewing_channel.channel_name]: \[created by: [viewing_channel.returnAuthor(-1)]\]
                    " if(viewing_channel.censored) @@ -385,9 +385,9 @@ GLOBAL_LIST_EMPTY(allCasters) if(MESSAGE.locked) dat+="Comments locked
                    " else - dat+="Comment
                    " - dat+="

                    Refresh" - dat+="
                    Back" + dat+="Comment
                    " + dat+="

                    Refresh" + dat+="
                    Back" if(10) dat+="Nanotrasen Feed Censorship Tool
                    " dat+="NOTE: Due to the nature of news Feeds, total deletion of a Feed Story is not possible.
                    " @@ -397,8 +397,8 @@ GLOBAL_LIST_EMPTY(allCasters) dat+="No feed channels found active...
                    " else for(var/datum/newscaster/feed_channel/CHANNEL in GLOB.news_network.network_channels) - dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
                    " - dat+="
                    Cancel" + dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
                    " + dat+="
                    Cancel" if(11) dat+="Nanotrasen D-Notice Handler
                    " dat+="A D-Notice is to be bestowed upon the channel if the handling Authority deems it as harmful for the station's" @@ -408,24 +408,24 @@ GLOBAL_LIST_EMPTY(allCasters) dat+="No feed channels found active...
                    " else for(var/datum/newscaster/feed_channel/CHANNEL in GLOB.news_network.network_channels) - dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
                    " - dat+="
                    Back" + dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
                    " + dat+="
                    Back" if(12) dat+="[viewing_channel.channel_name]: \[ created by: [viewing_channel.returnAuthor(-1)] \]
                    " - dat+="[(viewing_channel.authorCensor) ? ("Undo Author censorship") : ("Censor channel Author")]
                    " + dat+="[(viewing_channel.authorCensor) ? ("Undo Author censorship") : ("Censor channel Author")]
                    " if(isemptylist(viewing_channel.messages)) dat+="No feed messages found in channel...
                    " else for(var/datum/newscaster/feed_message/MESSAGE in viewing_channel.messages) dat+="-[MESSAGE.returnBody(-1)]
                    \[Story by [MESSAGE.returnAuthor(-1)]\]
                    " - dat+="[(MESSAGE.bodyCensor) ? ("Undo story censorship") : ("Censor story")] - [(MESSAGE.authorCensor) ? ("Undo Author Censorship") : ("Censor message Author")]
                    " - dat+="[MESSAGE.comments.len] comment[MESSAGE.comments.len > 1 ? "s" : ""]: [MESSAGE.locked ? "Unlock" : "Lock"]
                    " + dat+="[(MESSAGE.bodyCensor) ? ("Undo story censorship") : ("Censor story")] - [(MESSAGE.authorCensor) ? ("Undo Author Censorship") : ("Censor message Author")]
                    " + dat+="[MESSAGE.comments.len] comment[MESSAGE.comments.len > 1 ? "s" : ""]: [MESSAGE.locked ? "Unlock" : "Lock"]
                    " for(var/datum/newscaster/feed_comment/comment in MESSAGE.comments) - dat+="[comment.body] X
                    [comment.author] [comment.time_stamp]
                    " - dat+="
                    Back" + dat+="[comment.body] X
                    [comment.author] [comment.time_stamp]
                    " + dat+="
                    Back" if(13) dat+="[viewing_channel.channel_name]: \[ created by: [viewing_channel.returnAuthor(-1)] \]
                    " - dat+="Channel messages listed below. If you deem them dangerous to the station, you can Bestow a D-Notice upon the channel.
                    " + dat+="Channel messages listed below. If you deem them dangerous to the station, you can Bestow a D-Notice upon the channel.
                    " if(viewing_channel.censored) dat+="ATTENTION: This channel has been deemed as threatening to the welfare of the station, and marked with a Nanotrasen D-Notice.
                    " dat+="No further feed story additions are allowed while the D-Notice is in effect.


                    " @@ -435,7 +435,7 @@ GLOBAL_LIST_EMPTY(allCasters) else for(var/datum/newscaster/feed_message/MESSAGE in viewing_channel.messages) dat+="-[MESSAGE.returnBody(-1)]
                    \[Story by [MESSAGE.returnAuthor(-1)]\]
                    " - dat+="
                    Back" + dat+="
                    Back" if(14) dat+="Wanted Issue Handler:" var/wanted_already = 0 @@ -446,20 +446,20 @@ GLOBAL_LIST_EMPTY(allCasters) if(wanted_already) dat+="
                    A wanted issue is already in Feed Circulation. You can edit or cancel it below.
                    " dat+="
                    " - dat+="Criminal Name: [channel_name]
                    " - dat+="Description: [msg]
                    " - dat+="Attach Photo: [(photo ? "Photo Attached" : "No Photo")]
                    " + dat+="Criminal Name: [channel_name]
                    " + dat+="Description: [msg]
                    " + dat+="Attach Photo: [(photo ? "Photo Attached" : "No Photo")]
                    " if(wanted_already) dat+="Wanted Issue created by:[GLOB.news_network.wanted_issue.scannedUser]
                    " else dat+="Wanted Issue will be created under prosecutor:[scanned_user]
                    " - dat+="
                    [(wanted_already) ? ("Edit Issue") : ("Submit")]" + dat+="
                    [(wanted_already) ? ("Edit Issue") : ("Submit")]" if(wanted_already) - dat+="
                    Take down Issue" - dat+="
                    Cancel" + dat+="
                    Take down Issue" + dat+="
                    Cancel" if(15) dat+="Wanted issue for [channel_name] is now in Network Circulation.

                    " - dat+="
                    Return
                    " + dat+="
                    Return
                    " if(16) dat+="ERROR: Wanted Issue rejected by Network.

                    " if(channel_name=="" || channel_name == "\[REDACTED\]") @@ -468,10 +468,10 @@ GLOBAL_LIST_EMPTY(allCasters) dat+="Issue author unverified.
                    " if(msg == "" || msg == "\[REDACTED\]") dat+="Invalid description.
                    " - dat+="
                    Return
                    " + dat+="
                    Return
                    " if(17) dat+="Wanted Issue successfully deleted from Circulation
                    " - dat+="
                    Return
                    " + dat+="
                    Return
                    " if(18) if(GLOB.news_network.wanted_issue.active) dat+="-- STATIONWIDE WANTED ISSUE --
                    \[Submitted by: [GLOB.news_network.wanted_issue.scannedUser]\]
                    " @@ -485,16 +485,16 @@ GLOBAL_LIST_EMPTY(allCasters) dat+="None" else dat+="No current wanted issue found.

                    " - dat+="

                    Back
                    " + dat+="

                    Back
                    " if(19) dat+="Wanted issue for [channel_name] successfully edited.

                    " - dat+="
                    Return
                    " + dat+="
                    Return
                    " if(20) dat+="Printing successful. Please receive your newspaper from the bottom of the machine.

                    " - dat+="Return" + dat+="Return" if(21) dat+="Unable to print newspaper. Insufficient paper. Please notify maintenance personnel to refill machine storage.

                    " - dat+="Return" + dat+="Return" var/datum/browser/popup = new(human_or_robot_user, "newscaster_main", "Newscaster Unit #[unit_no]", 400, 600) popup.set_content(dat) popup.set_title_image(human_or_robot_user.browse_rsc_icon(icon, icon_state)) @@ -933,7 +933,7 @@ GLOBAL_LIST_EMPTY(allCasters) dat+="
                  " if(scribble_page==curr_page) dat+="
                  There is a small scribble near the end of this page... It reads: \"[scribble]\"" - dat+= "
                  " + dat+= "
                  " if(1) // X channel pages inbetween. for(var/datum/newscaster/feed_channel/NP in news_content) pages++ @@ -962,7 +962,7 @@ GLOBAL_LIST_EMPTY(allCasters) dat+="
                " if(scribble_page==curr_page) dat+="
                There is a small scribble near the end of this page... It reads: \"[scribble]\"" - dat+= "

                " + dat+= "

                " if(2) //Last page for(var/datum/newscaster/feed_channel/NP in news_content) pages++ @@ -980,7 +980,7 @@ GLOBAL_LIST_EMPTY(allCasters) dat+="Apart from some uninteresting classified ads, there's nothing on this page..." if(scribble_page==curr_page) dat+="
                There is a small scribble near the end of this page... It reads: \"[scribble]\"" - dat+= "
                " + dat+= "
                " dat+="

                [curr_page+1]
                " human_user << browse(dat, "window=newspaper_main;size=300x400") onclose(human_user, "newspaper_main") diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index 5d529defea..81546d2eac 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -20,12 +20,12 @@ Buildable meters w_class = WEIGHT_CLASS_NORMAL level = 2 var/piping_layer = PIPING_LAYER_DEFAULT - var/RPD_type //TEMP: kill this once RPDs get a rewrite pls + var/RPD_type /obj/item/pipe/directional RPD_type = PIPE_UNARY /obj/item/pipe/binary - RPD_type = PIPE_BINARY + RPD_type = PIPE_STRAIGHT /obj/item/pipe/binary/bendable RPD_type = PIPE_BENDABLE /obj/item/pipe/trinary @@ -34,7 +34,7 @@ Buildable meters RPD_type = PIPE_TRIN_M var/flipped = FALSE /obj/item/pipe/quaternary - RPD_type = PIPE_QUAD + RPD_type = PIPE_ONEDIR /obj/item/pipe/examine(mob/user) ..() @@ -69,9 +69,9 @@ Buildable meters return ..() /obj/item/pipe/proc/setPipingLayer(new_layer = PIPING_LAYER_DEFAULT) - var/obj/machinery/atmospherics/fakeA = get_pipe_cache(pipe_type) + var/obj/machinery/atmospherics/fakeA = pipe_type - if(fakeA.pipe_flags & PIPING_ALL_LAYER) + if(initial(fakeA.pipe_flags) & PIPING_ALL_LAYER) new_layer = PIPING_LAYER_DEFAULT piping_layer = new_layer @@ -80,9 +80,9 @@ Buildable meters layer = initial(layer) + ((piping_layer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_LCHANGE) /obj/item/pipe/proc/update() - var/obj/machinery/atmospherics/A = get_pipe_cache(pipe_type) - name = "[A.name] fitting" - icon_state = A.pipe_state + var/obj/machinery/atmospherics/fakeA = pipe_type + name = "[initial(fakeA.name)] fitting" + icon_state = initial(fakeA.pipe_state) // rotate the pipe item clockwise @@ -147,17 +147,6 @@ Buildable meters /obj/item/pipe/attack_self(mob/user) return rotate() -/obj/item/pipe/proc/get_pipe_cache(type, direction) - var/static/list/obj/machinery/atmospherics/check_cache - if(!islist(check_cache)) - check_cache = list() - if(!check_cache[type]) - check_cache[type] = list() - if(!check_cache[type]["[direction]"]) - check_cache[type]["[direction]"] = new type(null, null, direction) - - return check_cache[type]["[direction]"] - /obj/item/pipe/attackby(obj/item/W, mob/user, params) if (!istype(W, /obj/item/wrench)) return ..() @@ -167,15 +156,15 @@ Buildable meters fixdir() - var/obj/machinery/atmospherics/fakeA = get_pipe_cache(pipe_type, dir) - + var/obj/machinery/atmospherics/fakeA = pipe_type + var/flags = initial(fakeA.pipe_flags) for(var/obj/machinery/atmospherics/M in loc) - if((M.pipe_flags & fakeA.pipe_flags & PIPING_ONE_PER_TURF)) //Only one dense/requires density object per tile, eg connectors/cryo/heater/coolers. + if((M.pipe_flags & flags & PIPING_ONE_PER_TURF)) //Only one dense/requires density object per tile, eg connectors/cryo/heater/coolers. to_chat(user, "Something is hogging the tile!") return TRUE - if((M.piping_layer != piping_layer) && !((M.pipe_flags | fakeA.pipe_flags) & PIPING_ALL_LAYER)) //don't continue if either pipe goes across all layers + if((M.piping_layer != piping_layer) && !((M.pipe_flags | flags) & PIPING_ALL_LAYER)) //don't continue if either pipe goes across all layers continue - if(M.GetInitDirections() & fakeA.GetInitDirections()) // matches at least one direction on either type of pipe + if(M.GetInitDirections() & SSair.get_init_dirs(pipe_type, dir)) // matches at least one direction on either type of pipe to_chat(user, "There is already a pipe at that location!") return TRUE // no conflicts found diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index fda66624b7..06cdfcda7d 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -14,35 +14,19 @@ /obj/machinery/pipedispenser/attack_hand(mob/user) if(..()) return 1 - var/dat = {" -PIPING LAYER: --[piping_layer]++
                -Pipes:
                -Pipe
                -Bent Pipe
                -Manifold
                -Layer Manifold
                -4-Way Manifold
                -Manual Valve
                -Digital Valve
                -Devices:
                -Connector
                -Vent
                -Gas Pump
                -Passive Gate
                -Volume Pump
                -Scrubber
                -Meter
                -Gas Filter
                -Gas Mixer
                -Heat exchange:
                -Pipe
                -Bent Pipe
                -Manifold
                -4-Way Manifold
                -Junction
                -Heat Exchanger
                -"} + var/dat = "PIPING LAYER: --[piping_layer]++
                " + var/recipes = GLOB.atmos_pipe_recipes + + for(var/category in recipes) + var/list/cat_recipes = recipes[category] + dat += "[category]:
                  " + + for(var/i in cat_recipes) + var/datum/pipe_info/I = i + dat += I.Render(src) + + dat += "
                " user << browse("[src][dat]", "window=pipedispenser") onclose(user, "pipedispenser") @@ -56,9 +40,9 @@ PIPING LAYER: --[piping_layer]< return 1 usr.set_machine(src) add_fingerprint(usr) - if(href_list["make"]) + if(href_list["makepipe"]) if(wait < world.time) - var/p_type = text2path(href_list["make"]) + var/p_type = text2path(href_list["makepipe"]) var/p_dir = text2num(href_list["dir"]) var/obj/item/pipe/P = new (loc, p_type, p_dir) P.setPipingLayer(piping_layer) @@ -118,14 +102,6 @@ PIPING LAYER: --[piping_layer]< density = TRUE anchored = TRUE -/* -//Allow you to push disposal pipes into it (for those with density 1) -/obj/machinery/pipedispenser/disposal/Crossed(var/obj/structure/disposalconstruct/pipe as obj) - if(istype(pipe) && !pipe.anchored) - qdel(pipe) - -Nah -*/ //Allow you to drag-drop disposal pipes and transit tubes into it /obj/machinery/pipedispenser/disposal/MouseDrop_T(obj/structure/pipe, mob/usr) @@ -147,17 +123,18 @@ Nah if(..()) return 1 - var/dat = {"Disposal Pipes

                -Pipe
                -Bent Pipe
                -Junction
                -Y-Junction
                -Trunk
                -Bin
                -Outlet
                -Chute
                -Sort Junction
                -"} + var/dat = "" + var/recipes = GLOB.disposal_pipe_recipes + + for(var/category in recipes) + var/list/cat_recipes = recipes[category] + dat += "[category]:
                  " + + for(var/i in cat_recipes) + var/datum/pipe_info/I = i + dat += I.Render(src) + + dat += "
                " user << browse("[src][dat]", "window=pipedispenser") return @@ -170,14 +147,18 @@ Nah add_fingerprint(usr) if(href_list["dmake"]) if(wait < world.time) - var/p_type = text2num(href_list["dmake"]) - var/obj/structure/disposalconstruct/C = new (loc,p_type) + var/p_type = text2path(href_list["dmake"]) + var/obj/structure/disposalconstruct/C = new (loc, p_type) if(!C.can_place()) to_chat(usr, "There's not enough room to build that here!") qdel(C) return + + if(href_list["dir"]) + C.setDir(text2num(href_list["dir"])) + C.add_fingerprint(usr) C.update_icon() wait = world.time + 15 @@ -198,16 +179,16 @@ Nah return 1 var/dat = {"Transit Tubes:
                -Straight Tube
                -Straight Tube with Crossing
                -Curved Tube
                -Diagonal Tube
                -Diagonal Tube with Crossing
                -Junction
                +Straight Tube
                +Straight Tube with Crossing
                +Curved Tube
                +Diagonal Tube
                +Diagonal Tube with Crossing
                +Junction
                Station Equipment:
                -Through Tube Station
                -Terminus Tube Station
                -Transit Tube Pod
                +Through Tube Station
                +Terminus Tube Station
                +Transit Tube Pod
                "} user << browse("[src][dat]", "window=pipedispenser") diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 01f92e41d4..9aa0a8f4b0 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -16,7 +16,7 @@ use_power = IDLE_POWER_USE //this turret uses and requires power idle_power_usage = 50 //when inactive, this turret takes up constant 50 Equipment power active_power_usage = 300 //when active, this turret takes up constant 300 Equipment power - req_access = list(ACCESS_SECURITY) + req_access = list(ACCESS_SEC_DOORS) power_channel = EQUIP //drains power from the EQUIPMENT channel var/base_icon_state = "standard" @@ -166,15 +166,15 @@ /obj/machinery/porta_turret/interact(mob/user) var/dat - dat += "Status: [on ? "On" : "Off"]
                " + dat += "Status: [on ? "On" : "Off"]
                " dat += "Behaviour controls are [locked ? "locked" : "unlocked"]
                " if(!locked) - dat += "Check for Weapon Authorization: [auth_weapons ? "Yes" : "No"]
                " - dat += "Check Security Records: [check_records ? "Yes" : "No"]
                " - dat += "Neutralize Identified Criminals: [criminals ? "Yes" : "No"]
                " - dat += "Neutralize All Non-Security and Non-Command Personnel: [stun_all ? "Yes" : "No"]
                " - dat += "Neutralize All Unidentified Life Signs: [check_anomalies ? "Yes" : "No"]
                " + dat += "Check for Weapon Authorization: [auth_weapons ? "Yes" : "No"]
                " + dat += "Check Security Records: [check_records ? "Yes" : "No"]
                " + dat += "Neutralize Identified Criminals: [criminals ? "Yes" : "No"]
                " + dat += "Neutralize All Non-Security and Non-Command Personnel: [stun_all ? "Yes" : "No"]
                " + dat += "Neutralize All Unidentified Life Signs: [check_anomalies ? "Yes" : "No"]
                " var/datum/browser/popup = new(user, "autosec", "Automatic Portable Turret Installation", 300, 300) popup.set_content(dat) @@ -747,8 +747,8 @@ else if(!issilicon(user) && !IsAdminGhost(user)) t += "
                Swipe ID card to lock interface
                " - t += "Turrets [enabled?"activated":"deactivated"] - [enabled?"Disable":"Enable"]?
                " - t += "Currently set for [lethal?"lethal":"stun repeatedly"] - Change to [lethal?"Stun repeatedly":"Lethal"]?
                " + t += "Turrets [enabled?"activated":"deactivated"] - [enabled?"Disable":"Enable"]?
                " + t += "Currently set for [lethal?"lethal":"stun repeatedly"] - Change to [lethal?"Stun repeatedly":"Lethal"]?
                " var/datum/browser/popup = new(user, "turretid", "Turret Control Panel ([area.name])") popup.set_content(t) @@ -901,7 +901,7 @@ if(team_color == "red" && istype(H.wear_suit, /obj/item/clothing/suit/bluetag)) return - var/dat = "Status: [on ? "On" : "Off"]" + var/dat = "Status: [on ? "On" : "Off"]" var/datum/browser/popup = new(user, "autosec", "Automatic Portable Turret Installation", 300, 300) popup.set_content(dat) diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index 2f6fe2bdd0..f0e6eb2df0 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -145,13 +145,13 @@ GLOBAL_LIST_EMPTY(allConsoles) if (dpt != department) dat += "
    " dat += "" - dat += "" dat += "" dat += "
    [C][C]
    [dpt]Normal High" + dat += "Normal High" if(hackState) - dat += "EXTREME" + dat += "EXTREME" dat += "
    " - dat += "
    << Back
    " + dat += "
    << Back
    " if(2) //req. supplies dat += "Which department do you need supplies from?

    " @@ -160,13 +160,13 @@ GLOBAL_LIST_EMPTY(allConsoles) if (dpt != department) dat += "" dat += "[dpt]" - dat += "Normal High" + dat += "Normal High" if(hackState) - dat += "EXTREME" + dat += "EXTREME" dat += "" dat += "" dat += "" - dat += "
    << Back
    " + dat += "
    << Back
    " if(3) //relay information dat += "Which department would you like to send information to?

    " @@ -175,21 +175,21 @@ GLOBAL_LIST_EMPTY(allConsoles) if (dpt != department) dat += "" dat += "[dpt]" - dat += "Normal High" + dat += "Normal High" if(hackState) - dat += "EXTREME" + dat += "EXTREME" dat += "" dat += "" dat += "" - dat += "
    << Back
    " + dat += "
    << Back
    " if(6) //sent successfully dat += "Message sent.

    " - dat += "Continue
    " + dat += "Continue
    " if(7) //unsuccessful; not sent dat += "An error occurred.

    " - dat += "Continue
    " + dat += "Continue
    " if(8) //view messages for (var/obj/machinery/requests_console/Console in GLOB.allConsoles) @@ -203,7 +203,7 @@ GLOBAL_LIST_EMPTY(allConsoles) for(var/msg in messages) // This puts more recent messages at the *top*, where they belong. messageComposite = "
    [msg]
    " + messageComposite dat += messageComposite - dat += "
    << Back to Main Menu
    " + dat += "
    << Back to Main Menu
    " if(9) //authentication before sending dat += "Message Authentication

    " @@ -211,8 +211,8 @@ GLOBAL_LIST_EMPTY(allConsoles) dat += "
    You may authenticate your message now by scanning your ID or your stamp

    " dat += "Validated by: [msgVerified ? msgVerified : "Not Validated"]
    " dat += "Stamped by: [msgStamped ? msgStamped : "Not Stamped"]

    " - dat += "Send Message
    " - dat += "
    << Discard Message
    " + dat += "Send Message
    " + dat += "
    << Discard Message
    " if(10) //send announcement dat += "

    Station-wide Announcement

    " @@ -221,12 +221,12 @@ GLOBAL_LIST_EMPTY(allConsoles) else dat += "
    Swipe your card to authenticate yourself

    " dat += "Message: [message ? message : "No Message"]
    " - dat += "[message ? "Edit" : "Write"] Message

    " + dat += "[message ? "Edit" : "Write"] Message

    " if ((announceAuth || IsAdminGhost(user)) && message) - dat += "Announce Message
    " + dat += "Announce Message
    " else dat += "Announce Message
    " - dat += "
    << Back
    " + dat += "
    << Back
    " else //main menu screen = 0 @@ -237,25 +237,25 @@ GLOBAL_LIST_EMPTY(allConsoles) dat += "
    There are new PRIORITY messages

    " if (newmessagepriority == 3) dat += "
    There are new EXTREME PRIORITY messages

    " - dat += "View Messages

    " + dat += "View Messages

    " - dat += "Request Assistance
    " - dat += "Request Supplies
    " - dat += "Relay Anonymous Information

    " + dat += "Request Assistance
    " + dat += "Request Supplies
    " + dat += "Relay Anonymous Information

    " if(!emergency) - dat += "Emergency: Security
    " - dat += "Emergency: Engineering
    " - dat += "Emergency: Medical

    " + dat += "Emergency: Security
    " + dat += "Emergency: Engineering
    " + dat += "Emergency: Medical

    " else dat += "[emergency] has been dispatched to this location.

    " if(announcementConsole) - dat += "Send Station-wide Announcement

    " + dat += "Send Station-wide Announcement

    " if (silent) - dat += "Speaker OFF" + dat += "Speaker OFF" else - dat += "Speaker ON" + dat += "Speaker ON" var/datum/browser/popup = new(user, "req_console", "[department] Requests Console", 450, 440) popup.set_content(dat) popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) @@ -454,7 +454,7 @@ GLOBAL_LIST_EMPTY(allConsoles) var/linkedsender if(istype(source, /obj/machinery/requests_console)) var/obj/machinery/requests_console/sender = source - linkedsender = "[sender.department]" + linkedsender = "[sender.department]" else capitalize(source) linkedsender = source diff --git a/code/game/machinery/robot_fabricator.dm b/code/game/machinery/robot_fabricator.dm index 20fd729304..606f64c7f3 100644 --- a/code/game/machinery/robot_fabricator.dm +++ b/code/game/machinery/robot_fabricator.dm @@ -58,13 +58,13 @@ Please wait until completion...
    dat = {" Metal Amount: [min(150000, src.metal_amount)] cm3 (MAX: 150,000)


    -Left Arm (25,000 cc metal.)
    -
    Right Arm (25,000 cc metal.)
    -
    Left Leg (25,000 cc metal.)
    -
    Right Leg (25,000 cc metal).
    -
    Chest (50,000 cc metal).
    -
    Head (50,000 cc metal).
    -
    Robot Frame (75,000 cc metal).
    +
    Left Arm (25,000 cc metal.)
    +
    Right Arm (25,000 cc metal.)
    +
    Left Leg (25,000 cc metal.)
    +
    Right Leg (25,000 cc metal).
    +
    Chest (50,000 cc metal).
    +
    Head (50,000 cc metal).
    +
    Robot Frame (75,000 cc metal).
    "} user << browse("Robotic Fabricator Control Panel[dat]", "window=robot_fabricator") diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index d9362033a6..9356314973 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -434,7 +434,7 @@ gen_secondary.use_stored_power(drain_amount*0.5) /obj/machinery/shieldwall/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return prob(20) else if(istype(mover, /obj/item/projectile)) diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm index a9162b85f8..a538e4ec0c 100644 --- a/code/game/machinery/slotmachine.dm +++ b/code/game/machinery/slotmachine.dm @@ -134,11 +134,11 @@ Credit Remaining: [balance]
    [plays] players have tried their luck today, and [jackpots] have won a jackpot!


    -
    Play!
    + Play!

    [reeltext]
    - Refund balance
    "} + Refund balance
    "} var/datum/browser/popup = new(user, "slotmachine", "Slot Machine") popup.set_content(dat) diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm index 79d000a6ec..f8f980a1ee 100644 --- a/code/game/machinery/syndicatebeacon.dm +++ b/code/game/machinery/syndicatebeacon.dm @@ -1,133 +1,133 @@ -//////////////////////////////////////// -//Singularity beacon -//////////////////////////////////////// -/obj/machinery/power/singularity_beacon - name = "ominous beacon" - desc = "This looks suspicious..." - icon = 'icons/obj/singularity.dmi' - icon_state = "beacon" - - anchored = FALSE - density = TRUE - layer = BELOW_MOB_LAYER //so people can't hide it and it's REALLY OBVIOUS - stat = 0 - verb_say = "states" - var/cooldown = 0 - - var/active = 0 - var/icontype = "beacon" - - -/obj/machinery/power/singularity_beacon/proc/Activate(mob/user = null) - if(surplus() < 1500) - if(user) - to_chat(user, "The connected wire doesn't have enough current.") - return - for(var/obj/singularity/singulo in GLOB.singularities) - if(singulo.z == z) - singulo.target = src - icon_state = "[icontype]1" - active = 1 - if(user) - to_chat(user, "You activate the beacon.") - - -/obj/machinery/power/singularity_beacon/proc/Deactivate(mob/user = null) - for(var/obj/singularity/singulo in GLOB.singularities) - if(singulo.target == src) - singulo.target = null - icon_state = "[icontype]0" - active = 0 - if(user) - to_chat(user, "You deactivate the beacon.") - - -/obj/machinery/power/singularity_beacon/attack_ai(mob/user) - return - - -/obj/machinery/power/singularity_beacon/attack_hand(mob/user) - if(anchored) - return active ? Deactivate(user) : Activate(user) - else - to_chat(user, "You need to screw the beacon to the floor first!") - return - - -/obj/machinery/power/singularity_beacon/attackby(obj/item/W, mob/user, params) - if(istype(W, /obj/item/screwdriver)) - if(active) - to_chat(user, "You need to deactivate the beacon first!") - return - - if(anchored) - anchored = FALSE - to_chat(user, "You unscrew the beacon from the floor.") - disconnect_from_network() - return - else - if(!connect_to_network()) - to_chat(user, "This device must be placed over an exposed, powered cable node!") - return - anchored = TRUE - to_chat(user, "You screw the beacon to the floor and attach the cable.") - return - else - return ..() - -/obj/machinery/power/singularity_beacon/Destroy() - if(active) - Deactivate() - return ..() - -//stealth direct power usage -/obj/machinery/power/singularity_beacon/process() - if(!active) - return - - if(surplus() > 1500) - add_load(1500) - if(cooldown <= world.time) - cooldown = world.time + 100 - for(var/obj/singularity/singulo in GLOB.singularities) - if(singulo.z == z) - say("The [singulo] is now [get_dist(src,singulo)] standard lengths away to the [dir2text(get_dir(src,singulo))]") - else - Deactivate() - say("Insufficient charge detected - powering down") - - -/obj/machinery/power/singularity_beacon/syndicate - icontype = "beaconsynd" - icon_state = "beaconsynd0" - -// SINGULO BEACON SPAWNER -/obj/item/device/sbeacondrop - name = "suspicious beacon" - icon = 'icons/obj/radio.dmi' - icon_state = "beacon" - lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' - righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - desc = "A label on it reads: Warning: Activating this device will send a special beacon to your location." - origin_tech = "bluespace=6;syndicate=5" - w_class = WEIGHT_CLASS_SMALL - var/droptype = /obj/machinery/power/singularity_beacon/syndicate - - -/obj/item/device/sbeacondrop/attack_self(mob/user) - if(user) - to_chat(user, "Locked In.") - new droptype( user.loc ) - playsound(src, 'sound/effects/pop.ogg', 100, 1, 1) - qdel(src) - return - -/obj/item/device/sbeacondrop/bomb - desc = "A label on it reads: Warning: Activating this device will send a high-ordinance explosive to your location." - droptype = /obj/machinery/syndicatebomb - origin_tech = "bluespace=5;syndicate=5" - -/obj/item/device/sbeacondrop/powersink - desc = "A label on it reads: Warning: Activating this device will send a power draining device to your location." - droptype = /obj/item/device/powersink - origin_tech = "bluespace=4;syndicate=5" +//////////////////////////////////////// +//Singularity beacon +//////////////////////////////////////// +/obj/machinery/power/singularity_beacon + name = "ominous beacon" + desc = "This looks suspicious..." + icon = 'icons/obj/singularity.dmi' + icon_state = "beacon" + + anchored = FALSE + density = TRUE + layer = BELOW_MOB_LAYER //so people can't hide it and it's REALLY OBVIOUS + stat = 0 + verb_say = "states" + var/cooldown = 0 + + var/active = 0 + var/icontype = "beacon" + + +/obj/machinery/power/singularity_beacon/proc/Activate(mob/user = null) + if(surplus() < 1500) + if(user) + to_chat(user, "The connected wire doesn't have enough current.") + return + for(var/obj/singularity/singulo in GLOB.singularities) + if(singulo.z == z) + singulo.target = src + icon_state = "[icontype]1" + active = 1 + if(user) + to_chat(user, "You activate the beacon.") + + +/obj/machinery/power/singularity_beacon/proc/Deactivate(mob/user = null) + for(var/obj/singularity/singulo in GLOB.singularities) + if(singulo.target == src) + singulo.target = null + icon_state = "[icontype]0" + active = 0 + if(user) + to_chat(user, "You deactivate the beacon.") + + +/obj/machinery/power/singularity_beacon/attack_ai(mob/user) + return + + +/obj/machinery/power/singularity_beacon/attack_hand(mob/user) + if(anchored) + return active ? Deactivate(user) : Activate(user) + else + to_chat(user, "You need to screw the beacon to the floor first!") + return + + +/obj/machinery/power/singularity_beacon/attackby(obj/item/W, mob/user, params) + if(istype(W, /obj/item/screwdriver)) + if(active) + to_chat(user, "You need to deactivate the beacon first!") + return + + if(anchored) + anchored = FALSE + to_chat(user, "You unscrew the beacon from the floor.") + disconnect_from_network() + return + else + if(!connect_to_network()) + to_chat(user, "This device must be placed over an exposed, powered cable node!") + return + anchored = TRUE + to_chat(user, "You screw the beacon to the floor and attach the cable.") + return + else + return ..() + +/obj/machinery/power/singularity_beacon/Destroy() + if(active) + Deactivate() + return ..() + +//stealth direct power usage +/obj/machinery/power/singularity_beacon/process() + if(!active) + return + + if(surplus() > 1500) + add_load(1500) + if(cooldown <= world.time) + cooldown = world.time + 80 + for(var/obj/singularity/singulo in GLOB.singularities) + if(singulo.z == z) + say("[singulo] is now [get_dist(src,singulo)] standard lengths away to the [dir2text(get_dir(src,singulo))]") + else + Deactivate() + say("Insufficient charge detected - powering down") + + +/obj/machinery/power/singularity_beacon/syndicate + icontype = "beaconsynd" + icon_state = "beaconsynd0" + +// SINGULO BEACON SPAWNER +/obj/item/device/sbeacondrop + name = "suspicious beacon" + icon = 'icons/obj/radio.dmi' + icon_state = "beacon" + lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' + desc = "A label on it reads: Warning: Activating this device will send a special beacon to your location." + origin_tech = "bluespace=6;syndicate=5" + w_class = WEIGHT_CLASS_SMALL + var/droptype = /obj/machinery/power/singularity_beacon/syndicate + + +/obj/item/device/sbeacondrop/attack_self(mob/user) + if(user) + to_chat(user, "Locked In.") + new droptype( user.loc ) + playsound(src, 'sound/effects/pop.ogg', 100, 1, 1) + qdel(src) + return + +/obj/item/device/sbeacondrop/bomb + desc = "A label on it reads: Warning: Activating this device will send a high-ordinance explosive to your location." + droptype = /obj/machinery/syndicatebomb + origin_tech = "bluespace=5;syndicate=5" + +/obj/item/device/sbeacondrop/powersink + desc = "A label on it reads: Warning: Activating this device will send a power draining device to your location." + droptype = /obj/item/device/powersink + origin_tech = "bluespace=4;syndicate=5" diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index 0718548b03..bdd34e8d23 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -140,7 +140,7 @@ if(open_panel && wires.is_all_cut()) if(payload) to_chat(user, "You carefully pry out [payload].") - payload.loc = user.loc + payload.forceMove(drop_location()) payload = null else to_chat(user, "There isn't anything in here to remove!") @@ -206,14 +206,14 @@ var/new_timer = input(user, "Please set the timer.", "Timer", "[timer_set]") as num if(in_range(src, user) && isliving(user)) //No running off and setting bombs from across the station timer_set = Clamp(new_timer, minimum_timer, maximum_timer) - src.loc.visible_message("[icon2html(src, viewers(src))] timer set for [timer_set] seconds.") + loc.visible_message("[icon2html(src, viewers(src))] timer set for [timer_set] seconds.") if(alert(user,"Would you like to start the countdown now?",,"Yes","No") == "Yes" && in_range(src, user) && isliving(user)) if(defused || active) if(defused) - src.loc.visible_message("[icon2html(src, viewers(src))] Device error: User intervention required.") + visible_message("[icon2html(src, viewers(src))] Device error: User intervention required.") return else - src.loc.visible_message("[icon2html(src, viewers(loc))] [timer_set] seconds until detonation, please clear the area.") + visible_message("[icon2html(src, viewers(loc))] [timer_set] seconds until detonation, please clear the area.") activate() update_icon() add_fingerprint(user) @@ -223,7 +223,7 @@ if(payload && !istype(payload, /obj/item/bombcore/training)) message_admins("[ADMIN_LOOKUPFLW(user)] has primed a [name] ([payload]) for detonation at [A.name] [ADMIN_JMP(bombturf)].") log_game("[key_name(user)] has primed a [name] ([payload]) for detonation at [A.name][COORD(bombturf)]") - payload.adminlog = "The [src.name] that [key_name(user)] had primed detonated!" + payload.adminlog = "The [name] that [key_name(user)] had primed detonated!" ///Bomb Subtypes/// @@ -359,7 +359,7 @@ var/amt_summon = 1 /obj/item/bombcore/badmin/summon/detonate() - var/obj/machinery/syndicatebomb/B = src.loc + var/obj/machinery/syndicatebomb/B = loc spawn_and_random_walk(summon_path, src, amt_summon, walk_chance=50, admin_spawn=TRUE) qdel(B) qdel(src) @@ -369,7 +369,7 @@ amt_summon = 100 /obj/item/bombcore/badmin/summon/clown/defuse() - playsound(src.loc, 'sound/misc/sadtrombone.ogg', 50) + playsound(src, 'sound/misc/sadtrombone.ogg', 50) ..() /obj/item/bombcore/large @@ -454,7 +454,7 @@ if(istype(I, /obj/item/crowbar) && beakers.len > 0) playsound(loc, I.usesound, 50, 1) for (var/obj/item/B in beakers) - B.loc = get_turf(src) + B.forceMove(drop_location()) beakers -= B return else if(istype(I, /obj/item/reagent_containers/glass/beaker) || istype(I, /obj/item/reagent_containers/glass/bottle)) @@ -485,9 +485,9 @@ for(var/obj/item/slime_extract/S in LG.beakers) // And slime cores. if(beakers.len < max_beakers) beakers += S - S.loc = src + S.forceMove(src) else - S.loc = get_turf(src) + S.forceMove(drop_location()) if(istype(G, /obj/item/grenade/chem_grenade/cryo)) spread_range -= 1 // Reduced range, but increased density. @@ -502,9 +502,9 @@ for(var/obj/item/reagent_containers/glass/B in G) if(beakers.len < max_beakers) beakers += B - B.loc = src + B.forceMove(src) else - B.loc = get_turf(src) + B.forceMove(drop_location()) qdel(G) diff --git a/code/game/machinery/telecomms/computers/logbrowser.dm b/code/game/machinery/telecomms/computers/logbrowser.dm index 590c8d03a5..93f9d2b03a 100644 --- a/code/game/machinery/telecomms/computers/logbrowser.dm +++ b/code/game/machinery/telecomms/computers/logbrowser.dm @@ -30,23 +30,23 @@ if(0) dat += "
    [temp]
    " - dat += "
    Current Network: [network]
    " + dat += "
    Current Network: [network]
    " if(servers.len) dat += "
    Detected Telecommunication Servers:" - dat += "
    \[Flush Buffer\]" + dat += "
    \[Flush Buffer\]" else - dat += "
    No servers detected. Scan for servers: \[Scan\]" + dat += "
    No servers detected. Scan for servers: \[Scan\]" // --- Viewing Server --- if(1) dat += "
    [temp]
    " - dat += "
    \[Main Menu\] \[Refresh\]
    " + dat += "
    \[Main Menu\] \[Refresh\]
    " dat += "
    Current Network: [network]" dat += "
    Selected Server: [SelectedServer.id]" @@ -65,7 +65,7 @@ // If the log is a speech file if(C.input_type == "Speech File") - dat += "
  • [C.name] \[X\]
    " + dat += "
  • [C.name] \[X\]
    " // -- Determine race of orator -- @@ -128,7 +128,7 @@ else if(C.input_type == "Execution Error") - dat += "
  • [C.name] \[X\]
    " + dat += "
  • [C.name] \[X\]
    " dat += "Output: \"[C.parameters["message"]]\"
    " dat += "

  • " diff --git a/code/game/machinery/telecomms/computers/telemonitor.dm b/code/game/machinery/telecomms/computers/telemonitor.dm index cb3ae78e72..c5c53888fc 100644 --- a/code/game/machinery/telecomms/computers/telemonitor.dm +++ b/code/game/machinery/telecomms/computers/telemonitor.dm @@ -32,28 +32,28 @@ if(0) dat += "
    [temp]

    " - dat += "
    Current Network: [network]
    " + dat += "
    Current Network: [network]
    " if(machinelist.len) dat += "
    Detected Network Entities:" - dat += "
    \[Flush Buffer\]" + dat += "
    \[Flush Buffer\]" else - dat += "\[Probe Network\]" + dat += "\[Probe Network\]" // --- Viewing Machine --- if(1) dat += "
    [temp]
    " - dat += "
    \[Main Menu\]
    " + dat += "
    \[Main Menu\]
    " dat += "
    Current Network: [network]
    " dat += "Selected Network Entity: [SelectedMachine.name] ([SelectedMachine.id])
    " dat += "Linked Entities:
      " for(var/obj/machinery/telecomms/T in SelectedMachine.links) if(!T.hide) - dat += "
    1. \ref[T.id] [T.name] ([T.id])
    2. " + dat += "
    3. [REF(T.id)] [T.name] ([T.id])
    4. " dat += "
    " diff --git a/code/game/machinery/telecomms/machine_interactions.dm b/code/game/machinery/telecomms/machine_interactions.dm index 893ab38380..74774f2670 100644 --- a/code/game/machinery/telecomms/machine_interactions.dm +++ b/code/game/machinery/telecomms/machine_interactions.dm @@ -52,13 +52,13 @@ var/dat dat = "[name]

    [name] Access

    " dat += "
    [temp]
    " - dat += "
    Power Status: [toggled ? "On" : "Off"]" + dat += "
    Power Status: [toggled ? "On" : "Off"]" if(on && toggled) if(id != "" && id) - dat += "
    Identification String: [id]" + dat += "
    Identification String: [id]" else - dat += "
    Identification String: NULL" - dat += "
    Network: [network]" + dat += "
    Identification String: NULL" + dat += "
    Network: [network]" dat += "
    Prefabrication: [autolinkers.len ? "TRUE" : "FALSE"]" if(hide) dat += "
    Shadow Link: ACTIVE" @@ -73,7 +73,7 @@ i++ if(T.hide && !hide) continue - dat += "
  • \ref[T] [T.name] ([T.id]) \[X\]
  • " + dat += "
  • [REF(T)] [T.name] ([T.id]) \[X\]
  • " dat += "" dat += "
    Filtering Frequencies: " @@ -83,21 +83,21 @@ for(var/x in freq_listening) i++ if(i < length(freq_listening)) - dat += "[format_frequency(x)] GHz\[X\]; " + dat += "[format_frequency(x)] GHz\[X\]; " else - dat += "[format_frequency(x)] GHz\[X\]" + dat += "[format_frequency(x)] GHz\[X\]" else dat += "NONE" - dat += "
    \[Add Filter\]" + dat += "
    \[Add Filter\]" dat += "
    " if(P) var/obj/machinery/telecomms/T = P.buffer if(istype(T)) - dat += "

    MULTITOOL BUFFER: [T] ([T.id]) \[Link\] \[Flush\]" + dat += "

    MULTITOOL BUFFER: [T] ([T.id])
    \[Link\] \[Flush\]" else - dat += "

    MULTITOOL BUFFER:
    \[Add Machine\]" + dat += "

    MULTITOOL BUFFER: \[Add Machine\]" dat += "
    " temp = "" @@ -151,8 +151,8 @@ /obj/machinery/telecomms/relay/Options_Menu() var/dat = "" - dat += "
    Broadcasting: [broadcasting ? "YES" : "NO"]" - dat += "
    Receiving: [receiving ? "YES" : "NO"]" + dat += "
    Broadcasting: [broadcasting ? "YES" : "NO"]" + dat += "
    Receiving: [receiving ? "YES" : "NO"]" return dat /obj/machinery/telecomms/relay/Options_Topic(href, href_list) @@ -167,7 +167,7 @@ // BUS /obj/machinery/telecomms/bus/Options_Menu() - var/dat = "
    Change Signal Frequency: [change_frequency ? "YES ([change_frequency])" : "NO"]" + var/dat = "
    Change Signal Frequency: [change_frequency ? "YES ([change_frequency])" : "NO"]" return dat /obj/machinery/telecomms/bus/Options_Topic(href, href_list) @@ -254,7 +254,7 @@ if(text2num(href_list["unlink"]) <= length(links)) var/obj/machinery/telecomms/T = links[text2num(href_list["unlink"])] if(T) - temp = "-% Removed \ref[T] [T.name] from linked entities. %-" + temp = "-% Removed [REF(T)] [T.name] from linked entities. %-" // Remove link entries from both T and src. @@ -276,7 +276,7 @@ if(!(T in links)) links += T - temp = "-% Successfully linked with \ref[T] [T.name] %-" + temp = "-% Successfully linked with [REF(T)] [T.name] %-" else temp = "-% Unable to acquire buffer %-" @@ -284,7 +284,7 @@ if(href_list["buffer"]) P.buffer = src - temp = "-% Successfully stored \ref[P.buffer] [P.buffer.name] in buffer %-" + temp = "-% Successfully stored [REF(P.buffer)] [P.buffer.name] in buffer %-" if(href_list["flush"]) diff --git a/code/game/machinery/telecomms/machines/relay.dm b/code/game/machinery/telecomms/machines/relay.dm index ffe99c243c..4aadeed4f5 100644 --- a/code/game/machinery/telecomms/machines/relay.dm +++ b/code/game/machinery/telecomms/machines/relay.dm @@ -71,7 +71,8 @@ /obj/machinery/telecomms/relay/preset/reebe name = "hierophant relay" - desc = "A stolen telecommunications relay that ingeniously combines bluespace technology with the Hierophant network to send and receive messages to and from Reebe." + desc = "An arcane telecommunications relay that ingeniously combines bluespace technology with the Hierophant network to send and receive messages to and from Reebe." id = "Hierophant Relay" + icon = 'icons/obj/clockwork_objects.dmi' hide = TRUE autolinkers = list("h_relay") diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index be13cfdcff..868c9ee728 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -35,8 +35,8 @@ /obj/machinery/teleport/hub/proc/link_power_station() if(power_station) return - for(dir in list(NORTH,EAST,SOUTH,WEST)) - power_station = locate(/obj/machinery/teleport/station, get_step(src, dir)) + for(var/direction in GLOB.cardinals) + power_station = locate(/obj/machinery/teleport/station, get_step(src, direction)) if(power_station) break return power_station @@ -127,13 +127,13 @@ efficiency = E - 1 /obj/machinery/teleport/station/proc/link_console_and_hub() - for(dir in list(NORTH,EAST,SOUTH,WEST)) - teleporter_hub = locate(/obj/machinery/teleport/hub, get_step(src, dir)) + for(var/direction in GLOB.cardinals) + teleporter_hub = locate(/obj/machinery/teleport/hub, get_step(src, direction)) if(teleporter_hub) teleporter_hub.link_power_station() break - for(dir in list(NORTH,EAST,SOUTH,WEST)) - teleporter_console = locate(/obj/machinery/computer/teleporter, get_step(src, dir)) + for(var/direction in GLOB.cardinals) + teleporter_console = locate(/obj/machinery/computer/teleporter, get_step(src, direction)) if(teleporter_console) teleporter_console.link_power_station() break diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 2510c19c05..1705a14c40 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -259,7 +259,7 @@ cut_overlays() if(panel_open) add_overlay("[initial(icon_state)]-panel") - playsound(src.loc, W.usesound, 50, 1) + playsound(src, W.usesound, 50, 1) updateUsrDialog() else to_chat(user, "You must first secure [src].") @@ -373,7 +373,7 @@ for (var/datum/data/vending_product/R in display_records) dat += "
  • " if(R.amount > 0) - dat += "Vend " + dat += "Vend " else dat += "Sold out " dat += "[sanitize(R.product_name)]:" @@ -384,7 +384,7 @@ if(premium.len > 0) dat += "Change Return: " if (coin || bill) - dat += "[(coin ? coin : "")][(bill ? bill : "")]  Remove" + dat += "[(coin ? coin : "")][(bill ? bill : "")]  Remove" else dat += "No money  Remove" if(istype(src, /obj/machinery/vending/snack)) @@ -393,7 +393,7 @@ for (var/O in dish_quants) if(dish_quants[O] > 0) var/N = dish_quants[O] - dat += "Dispense " + dat += "Dispense " dat += "[capitalize(O)]: [N]
    " dat += "
  • " user.set_machine(src) @@ -403,7 +403,7 @@ var/datum/browser/popup = new(user, "vending", (name)) popup.set_content(dat) - popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) + popup.set_title_image(user.browse_rsc_icon(icon, icon_state)) popup.open() @@ -443,7 +443,7 @@ dish_quants[N] = max(dish_quants[N] - 1, 0) for(var/obj/O in contents) if(O.name == N) - O.loc = src.loc + O.forceMove(drop_location()) break vend_ready = 1 updateUsrDialog() @@ -510,7 +510,7 @@ if(icon_vend) //Show the vending animation if needed flick(icon_vend,src) new R.product_path(get_turf(src)) - SSblackbox.add_details("vending_machine_usage","[src.type]|[R.product_path]") + SSblackbox.add_details("vending_machine_usage","[type]|[R.product_path]") vend_ready = 1 return @@ -980,8 +980,8 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C /obj/item/clothing/mask/gas/cyborg = 1, /obj/item/clothing/suit/holidaypriest = 1, /obj/item/clothing/head/wizard/marisa/fake = 1, /obj/item/clothing/suit/wizrobe/marisa/fake = 1, /obj/item/clothing/under/sundress = 1, /obj/item/clothing/head/witchwig = 1, /obj/item/staff/broom = 1, /obj/item/clothing/suit/wizrobe/fake = 1, /obj/item/clothing/head/wizard/fake = 1, /obj/item/staff = 3, /obj/item/clothing/mask/gas/sexyclown = 1, - /obj/item/clothing/under/rank/clown/sexy = 1, /obj/item/clothing/mask/gas/sexymime = 1, /obj/item/clothing/under/sexymime = 1, /obj/item/clothing/mask/rat/bat = 1, /obj/item/clothing/mask/rat/bee = 1, /obj/item/clothing/mask/rat/bear = 1, /obj/item/clothing/mask/rat/raven = 1, /obj/item/clothing/mask/rat/jackal = 1, /obj/item/clothing/mask/rat/fox = 1, /obj/item/clothing/mask/rat/tribal = 1, /obj/item/clothing/mask/rat = 1, /obj/item/clothing/suit/apron/overalls = 1, - /obj/item/clothing/head/rabbitears =1, /obj/item/clothing/head/sombrero = 1, /obj/item/clothing/head/sombrero/green = 1, /obj/item/clothing/suit/poncho = 1, + /obj/item/clothing/under/rank/clown/sexy = 1, /obj/item/clothing/mask/gas/sexymime = 1, /obj/item/clothing/under/sexymime = 1, /obj/item/clothing/mask/rat/bat = 1, /obj/item/clothing/mask/rat/bee = 1, /obj/item/clothing/mask/rat/bear = 1, /obj/item/clothing/mask/rat/raven = 1, /obj/item/clothing/mask/rat/jackal = 1, /obj/item/clothing/mask/rat/fox = 1, /obj/item/clothing/mask/frog = 1, /obj/item/clothing/mask/rat/tribal = 1, /obj/item/clothing/mask/rat = 1, + /obj/item/clothing/suit/apron/overalls = 1, /obj/item/clothing/head/rabbitears =1, /obj/item/clothing/head/sombrero = 1, /obj/item/clothing/head/sombrero/green = 1, /obj/item/clothing/suit/poncho = 1, /obj/item/clothing/suit/poncho/green = 1, /obj/item/clothing/suit/poncho/red = 1, /obj/item/clothing/under/maid = 1, /obj/item/clothing/under/janimaid = 1, /obj/item/clothing/glasses/cold=1, /obj/item/clothing/glasses/heat=1, /obj/item/clothing/suit/whitedress = 1, @@ -998,8 +998,8 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C /obj/item/clothing/head/cueball = 1, /obj/item/clothing/under/scratch = 1, /obj/item/clothing/under/sailor = 1, - /obj/item/clothing/ears/headphones = 2, - /obj/item/clothing/head/wig/random = 3) + /obj/item/clothing/ears/headphones = 2, + /obj/item/clothing/head/wig/random = 3) contraband = list(/obj/item/clothing/suit/judgerobe = 1, /obj/item/clothing/head/powdered_wig = 1, /obj/item/gun/magic/wand = 2, /obj/item/clothing/glasses/sunglasses/garb = 2, /obj/item/clothing/glasses/sunglasses/blindfold = 1, /obj/item/clothing/mask/muzzle = 2) premium = list(/obj/item/clothing/suit/pirate/captain = 2, /obj/item/clothing/head/pirate/captain = 2, /obj/item/clothing/head/helmet/roman = 1, /obj/item/clothing/head/helmet/roman/legionaire = 1, /obj/item/clothing/under/roman = 1, /obj/item/clothing/shoes/roman = 1, /obj/item/shield/riot/roman = 1, /obj/item/skub = 1) refill_canister = /obj/item/vending_refill/autodrobe @@ -1124,7 +1124,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C /obj/item/clothing/head/beanie/purple=1, /obj/item/clothing/head/beanie/yellow=1, /obj/item/clothing/head/beanie/orange=1, /obj/item/clothing/head/beanie/cyan=1, /obj/item/clothing/head/beanie/christmas=1, /obj/item/clothing/head/beanie/striped=1, /obj/item/clothing/head/beanie/stripedred=1, /obj/item/clothing/head/beanie/stripedblue=1, /obj/item/clothing/head/beanie/stripedgreen=1, /obj/item/clothing/suit/jacket/letterman_red=1, - /obj/item/clothing/ears/headphones = 10) + /obj/item/clothing/ears/headphones = 10, /obj/item/clothing/suit/apron/purple_bartender=2, /obj/item/clothing/under/rank/bartender/purple=2) contraband = list(/obj/item/clothing/under/syndicate/tacticool=1, /obj/item/clothing/mask/balaclava=1, /obj/item/clothing/head/ushanka=1, /obj/item/clothing/under/soviet=1, /obj/item/storage/belt/fannypack/black=2, /obj/item/clothing/suit/jacket/letterman_syndie=1, /obj/item/clothing/under/jabroni=1, /obj/item/clothing/suit/vapeshirt=1, /obj/item/clothing/under/geisha=1) premium = list(/obj/item/clothing/under/suit_jacket/checkered=1, /obj/item/clothing/head/mailman=1, /obj/item/clothing/under/rank/mailman=1, /obj/item/clothing/suit/jacket/leather=1, /obj/item/clothing/suit/jacket/leather/overcoat=1, /obj/item/clothing/under/pants/mustangjeans=1, /obj/item/clothing/neck/necklace/dope=3, /obj/item/clothing/suit/jacket/letterman_nanotrasen=1) refill_canister = /obj/item/vending_refill/clothing diff --git a/code/game/mecha/combat/honker.dm b/code/game/mecha/combat/honker.dm index ab3ebb4050..fe399e64da 100644 --- a/code/game/mecha/combat/honker.dm +++ b/code/game/mecha/combat/honker.dm @@ -1,156 +1,154 @@ -/obj/mecha/combat/honker - desc = "Produced by \"Tyranny of Honk, INC\", this exosuit is designed as heavy clown-support. Used to spread the fun and joy of life. HONK!" - name = "\improper H.O.N.K" - icon_state = "honker" - step_in = 3 - max_integrity = 140 - deflect_chance = 60 - internal_damage_threshold = 60 - armor = list(melee = -20, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 100) - max_temperature = 25000 - infra_luminosity = 5 +/obj/mecha/combat/honker + desc = "Produced by \"Tyranny of Honk, INC\", this exosuit is designed as heavy clown-support. Used to spread the fun and joy of life. HONK!" + name = "\improper H.O.N.K" + icon_state = "honker" + step_in = 3 + max_integrity = 140 + deflect_chance = 60 + internal_damage_threshold = 60 + armor = list(melee = -20, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 100) + max_temperature = 25000 + infra_luminosity = 5 operation_req_access = list(ACCESS_THEATRE) - wreckage = /obj/structure/mecha_wreckage/honker - add_req_access = 0 - max_equip = 3 - var/squeak = 0 - -/* -/obj/mecha/combat/honker/New() - ..() - - weapons += new /datum/mecha_weapon/honker(src) - weapons += new /datum/mecha_weapon/missile_rack/banana_mortar(src) - weapons += new /datum/mecha_weapon/missile_rack/mousetrap_mortar(src) - selected_weapon = weapons[1] - return -*/ - -/obj/mecha/combat/honker/get_stats_part() - var/integrity = obj_integrity/max_integrity*100 - var/cell_charge = get_charge() - var/datum/gas_mixture/int_tank_air = internal_tank.return_air() - var/tank_pressure = internal_tank ? round(int_tank_air.return_pressure(),0.01) : "None" - var/tank_temperature = internal_tank ? int_tank_air.temperature : "Unknown" - var/cabin_pressure = round(return_pressure(),0.01) - var/output = {"[report_internal_damage()] - [integrity<30?"DAMAGE LEVEL CRITICAL
    ":null] - [internal_damage&MECHA_INT_TEMP_CONTROL?"CLOWN SUPPORT SYSTEM MALFUNCTION
    ":null] - [internal_damage&MECHA_INT_TANK_BREACH?"GAS TANK HONK
    ":null] - [internal_damage&MECHA_INT_CONTROL_LOST?"HONK-A-DOODLE - Recalibrate
    ":null] - IntegriHONK: [integrity]%
    - PowerHONK charge: [isnull(cell_charge)?"No powercell installed":"[cell.percent()]%"]
    - Air source: [use_internal_tank?"Internal Airtank":"Environment"]
    - AirHONK pressure: [tank_pressure]kPa
    - AirHONK temperature: [tank_temperature]°K|[tank_temperature - T0C]°C
    - HONK pressure: [cabin_pressure>WARNING_HIGH_PRESSURE ? "[cabin_pressure]": cabin_pressure]kPa
    - HONK temperature: [return_temperature()]°K|[return_temperature() - T0C]°C
    - Lights: [lights?"on":"off"]
    - [dna_lock?"DNA-locked:
    [dna_lock] \[Reset\]
    ":null] - "} - return output - -/obj/mecha/combat/honker/get_stats_html() - var/output = {" - [src.name] data - - - - -
    - [src.get_stats_part()] -
    -
    - [src.get_equipment_list()] -
    -
    -
    - [src.get_commands()] -
    - - - "} - return output - -/obj/mecha/combat/honker/get_commands() - var/output = {"
    -
    Sounds of HONK:
    - -
    - "} - output += ..() - return output - - -/obj/mecha/combat/honker/get_equipment_list() - if(!equipment.len) - return - var/output = "Honk-ON-Systems:
    " - for(var/obj/item/mecha_parts/mecha_equipment/MT in equipment) - output += "
    [MT.get_equip_info()]
    " - output += "
    " - return output - - - -/obj/mecha/combat/honker/mechstep(direction) - var/result = step(src,direction) - if(result) - if(!squeak) - playsound(src, "clownstep", 70, 1) - squeak = 1 - else - squeak = 0 - return result - -/obj/mecha/combat/honker/Topic(href, href_list) - ..() - if (href_list["play_sound"]) - switch(href_list["play_sound"]) - if("sadtrombone") - playsound(src, 'sound/misc/sadtrombone.ogg', 50) - return - -/proc/rand_hex_color() - var/list/colors = list("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f") - var/color="" - for (var/i=0;i<6;i++) - color = color+pick(colors) - return color - - + wreckage = /obj/structure/mecha_wreckage/honker + add_req_access = 0 + max_equip = 3 + var/squeak = 0 + +/* +/obj/mecha/combat/honker/New() + ..() + + weapons += new /datum/mecha_weapon/honker(src) + weapons += new /datum/mecha_weapon/missile_rack/banana_mortar(src) + weapons += new /datum/mecha_weapon/missile_rack/mousetrap_mortar(src) + selected_weapon = weapons[1] + return +*/ + +/obj/mecha/combat/honker/get_stats_part() + var/integrity = obj_integrity/max_integrity*100 + var/cell_charge = get_charge() + var/datum/gas_mixture/int_tank_air = internal_tank.return_air() + var/tank_pressure = internal_tank ? round(int_tank_air.return_pressure(),0.01) : "None" + var/tank_temperature = internal_tank ? int_tank_air.temperature : "Unknown" + var/cabin_pressure = round(return_pressure(),0.01) + var/output = {"[report_internal_damage()] + [integrity<30?"DAMAGE LEVEL CRITICAL
    ":null] + [internal_damage&MECHA_INT_TEMP_CONTROL?"CLOWN SUPPORT SYSTEM MALFUNCTION
    ":null] + [internal_damage&MECHA_INT_TANK_BREACH?"GAS TANK HONK
    ":null] + [internal_damage&MECHA_INT_CONTROL_LOST?"HONK-A-DOODLE - Recalibrate
    ":null] + IntegriHONK: [integrity]%
    + PowerHONK charge: [isnull(cell_charge)?"No powercell installed":"[cell.percent()]%"]
    + Air source: [use_internal_tank?"Internal Airtank":"Environment"]
    + AirHONK pressure: [tank_pressure]kPa
    + AirHONK temperature: [tank_temperature]°K|[tank_temperature - T0C]°C
    + HONK pressure: [cabin_pressure>WARNING_HIGH_PRESSURE ? "[cabin_pressure]": cabin_pressure]kPa
    + HONK temperature: [return_temperature()]°K|[return_temperature() - T0C]°C
    + Lights: [lights?"on":"off"]
    + [dna_lock?"DNA-locked:
    [dna_lock] \[Reset\]
    ":null] + "} + return output + +/obj/mecha/combat/honker/get_stats_html() + var/output = {" + [src.name] data + + + + +
    + [src.get_stats_part()] +
    +
    + [src.get_equipment_list()] +
    +
    +
    + [src.get_commands()] +
    + + + "} + return output + +/obj/mecha/combat/honker/get_commands() + var/output = {"
    +
    Sounds of HONK:
    + +
    + "} + output += ..() + return output + + +/obj/mecha/combat/honker/get_equipment_list() + if(!equipment.len) + return + var/output = "Honk-ON-Systems:
    " + for(var/obj/item/mecha_parts/mecha_equipment/MT in equipment) + output += "
    [MT.get_equip_info()]
    " + output += "
    " + return output + + + +/obj/mecha/combat/honker/mechstep(direction) + var/result = step(src,direction) + if(result) + if(!squeak) + playsound(src, "clownstep", 70, 1) + squeak = 1 + else + squeak = 0 + return result + +/obj/mecha/combat/honker/Topic(href, href_list) + ..() + if (href_list["play_sound"]) + switch(href_list["play_sound"]) + if("sadtrombone") + playsound(src, 'sound/misc/sadtrombone.ogg', 50) + return + +/proc/rand_hex_color() + var/list/colors = list("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f") + var/color="" + for (var/i=0;i<6;i++) + color = color+pick(colors) + return color diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm index 48d98aa70f..627858bea6 100644 --- a/code/game/mecha/equipment/mecha_equipment.dm +++ b/code/game/mecha/equipment/mecha_equipment.dm @@ -25,7 +25,7 @@ /obj/item/mecha_parts/mecha_equipment/proc/update_equip_info() if(chassis) - send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",get_equip_info()) + send_byjax(chassis.occupant,"exosuit.browser","[REF(src)]",get_equip_info()) return 1 return @@ -52,7 +52,7 @@ if(chassis.selected == src) txt += "[src.name]" else if(selectable) - txt += "[src.name]" + txt += "[src.name]" else txt += "[src.name]" @@ -132,7 +132,7 @@ /obj/item/mecha_parts/mecha_equipment/proc/set_ready_state(state) equip_ready = state if(chassis) - send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info()) + send_byjax(chassis.occupant,"exosuit.browser","[REF(src)]",src.get_equip_info()) return /obj/item/mecha_parts/mecha_equipment/proc/occupant_message(message) diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index 0b99d811b3..cc0f935628 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -104,21 +104,21 @@ if(output) var/temp = "" if(patient) - temp = "
    \[Occupant: [patient] ([patient.stat > 1 ? "*DECEASED*" : "Health: [patient.health]%"])\]
    View stats|Eject" + temp = "
    \[Occupant: [patient] ([patient.stat > 1 ? "*DECEASED*" : "Health: [patient.health]%"])\]
    View stats|Eject" return "[output] [temp]" return /obj/item/mecha_parts/mecha_equipment/medical/sleeper/Topic(href,href_list) ..() - var/datum/topic_input/filter = new /datum/topic_input(href,href_list) - if(filter.get("eject")) + var/datum/topic_input/afilter = new /datum/topic_input(href,href_list) + if(afilter.get("eject")) go_out() - if(filter.get("view_stats")) + if(afilter.get("view_stats")) chassis.occupant << browse(get_patient_stats(),"window=msleeper") onclose(chassis.occupant, "msleeper") return - if(filter.get("inject")) - inject_reagent(filter.getType("inject", /datum/reagent),filter.getObj("source")) + if(afilter.get("inject")) + inject_reagent(afilter.getType("inject", /datum/reagent),afilter.getObj("source")) return /obj/item/mecha_parts/mecha_equipment/medical/sleeper/proc/get_patient_stats() @@ -184,7 +184,7 @@ if(SG && SG.reagents && islist(SG.reagents.reagent_list)) for(var/datum/reagent/R in SG.reagents.reagent_list) if(R.volume > 0) - output += "Inject [R.name]
    " + output += "Inject [R.name]
    " return output @@ -287,7 +287,7 @@ /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/get_equip_info() var/output = ..() if(output) - return "[output] \[[mode? "Analyze" : "Launch"]\]
    \[Syringes: [syringes.len]/[max_syringes] | Reagents: [reagents.total_volume]/[reagents.maximum_volume]\]
    Reagents list" + return "[output] \[[mode? "Analyze" : "Launch"]\]
    \[Syringes: [syringes.len]/[max_syringes] | Reagents: [reagents.total_volume]/[reagents.maximum_volume]\]
    Reagents list" return /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/action(atom/movable/target) @@ -358,19 +358,19 @@ /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/Topic(href,href_list) ..() - var/datum/topic_input/filter = new (href,href_list) - if(filter.get("toggle_mode")) + var/datum/topic_input/afilter = new (href,href_list) + if(afilter.get("toggle_mode")) mode = !mode update_equip_info() return - if(filter.get("select_reagents")) + if(afilter.get("select_reagents")) processed_reagents.len = 0 var/m = 0 var/message for(var/i=1 to known_reagents.len) if(m>=synth_speed) break - var/reagent = filter.get("reagent_[i]") + var/reagent = afilter.get("reagent_[i]") if(reagent && (reagent in known_reagents)) message = "[m ? ", " : null][known_reagents[reagent]]" processed_reagents += reagent @@ -382,14 +382,14 @@ occupant_message("Reagent processing started.") log_message("Reagent processing started.") return - if(filter.get("show_reagents")) + if(afilter.get("show_reagents")) chassis.occupant << browse(get_reagents_page(),"window=msyringegun") - if(filter.get("purge_reagent")) - var/reagent = filter.get("purge_reagent") + if(afilter.get("purge_reagent")) + var/reagent = afilter.get("purge_reagent") if(reagent) reagents.del_reagent(reagent) return - if(filter.get("purge_all")) + if(afilter.get("purge_all")) reagents.clear_reagents() return return @@ -426,7 +426,7 @@ var/r_list = get_reagents_list() var/inputs if(r_list) - inputs += "" + inputs += "" inputs += "" inputs += "" var/output = {" @@ -448,9 +448,9 @@ var/output for(var/datum/reagent/R in reagents.reagent_list) if(R.volume > 0) - output += "[R]: [round(R.volume,0.001)] - Purge Reagent
    " + output += "[R]: [round(R.volume,0.001)] - Purge Reagent
    " if(output) - output += "Total: [round(reagents.total_volume,0.001)]/[reagents.maximum_volume] - Purge All" + output += "Total: [round(reagents.total_volume,0.001)]/[reagents.maximum_volume] - Purge All" return output || "None" /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/proc/load_syringe(obj/item/reagent_containers/syringe/S) diff --git a/code/game/mecha/equipment/tools/mining_tools.dm b/code/game/mecha/equipment/tools/mining_tools.dm index c99814148d..9203e32177 100644 --- a/code/game/mecha/equipment/tools/mining_tools.dm +++ b/code/game/mecha/equipment/tools/mining_tools.dm @@ -6,7 +6,7 @@ name = "exosuit drill" desc = "Equipment for engineering and combat exosuits. This is the drill that'll pierce the heavens!" icon_state = "mecha_drill" - equip_cooldown = 30 + equip_cooldown = 15 energy_drain = 10 force = 15 @@ -99,7 +99,7 @@ desc = "Equipment for engineering and combat exosuits. This is an upgraded version of the drill that'll pierce the heavens!" icon_state = "mecha_diamond_drill" origin_tech = "materials=4;engineering=4" - equip_cooldown = 20 + equip_cooldown = 10 force = 15 @@ -108,16 +108,16 @@ desc = "Equipment for engineering and combat exosuits. It will automatically check surrounding rock for useful minerals." icon_state = "mecha_analyzer" selectable = 0 - equip_cooldown = 30 + equip_cooldown = 15 var/scanning_time = 0 /obj/item/mecha_parts/mecha_equipment/mining_scanner/New() ..() - START_PROCESSING(SSobj, src) + START_PROCESSING(SSfastprocess, src) /obj/item/mecha_parts/mecha_equipment/mining_scanner/process() if(!loc) - STOP_PROCESSING(SSobj, src) + STOP_PROCESSING(SSfastprocess, src) qdel(src) if(istype(loc, /obj/mecha/working) && scanning_time <= world.time) var/obj/mecha/working/mecha = loc diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index 38b8e2bb96..9d7c9b6833 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -92,20 +92,20 @@ return locked = target occupant_message("Locked on [target]") - send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info()) + send_byjax(chassis.occupant,"exosuit.browser","[REF(src)]",src.get_equip_info()) else if(target!=locked) if(locked in view(chassis)) var/turf/targ = get_turf(target) var/turf/orig = get_turf(locked) locked.throw_at(target, 14, 1.5) locked = null - send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info()) + send_byjax(chassis.occupant,"exosuit.browser","[REF(src)]",src.get_equip_info()) log_game("[key_name(chassis.occupant)] used a Gravitational Catapult to throw [locked]([COORD(orig)]) at [target]([COORD(targ)]).") return TRUE else locked = null occupant_message("Lock on [locked] disengaged.") - send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info()) + send_byjax(chassis.occupant,"exosuit.browser","[REF(src)]",src.get_equip_info()) if(2) var/list/atoms = list() if(isturf(target)) @@ -126,13 +126,13 @@ /obj/item/mecha_parts/mecha_equipment/gravcatapult/get_equip_info() - return "[..()] [mode==1?"([locked||"Nothing"])":null] \[S|P\]" + return "[..()] [mode==1?"([locked||"Nothing"])":null] \[S|P\]" /obj/item/mecha_parts/mecha_equipment/gravcatapult/Topic(href, href_list) ..() if(href_list["mode"]) mode = text2num(href_list["mode"]) - send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info()) + send_byjax(chassis.occupant,"exosuit.browser","[REF(src)]",src.get_equip_info()) return @@ -212,7 +212,7 @@ /obj/item/mecha_parts/mecha_equipment/repair_droid/get_equip_info() if(!chassis) return - return "*  [src.name] - [equip_ready?"A":"Dea"]ctivate" + return "*  [src.name] - [equip_ready?"A":"Dea"]ctivate" /obj/item/mecha_parts/mecha_equipment/repair_droid/Topic(href, href_list) @@ -230,7 +230,7 @@ log_message("Deactivated.") set_ready_state(1) chassis.add_overlay(droid_overlay) - send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info()) + send_byjax(chassis.occupant,"exosuit.browser","[REF(src)]",src.get_equip_info()) /obj/item/mecha_parts/mecha_equipment/repair_droid/process() @@ -320,7 +320,7 @@ /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay/get_equip_info() if(!chassis) return - return "*  [src.name] - [equip_ready?"A":"Dea"]ctivate" + return "*  [src.name] - [equip_ready?"A":"Dea"]ctivate" /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay/process() @@ -397,13 +397,13 @@ /obj/item/mecha_parts/mecha_equipment/generator/get_equip_info() var/output = ..() if(output) - return "[output] \[[fuel]: [round(fuel.amount*fuel.perunit,0.1)] cm3\] - [equip_ready?"A":"Dea"]ctivate" + return "[output] \[[fuel]: [round(fuel.amount*fuel.perunit,0.1)] cm3\] - [equip_ready?"A":"Dea"]ctivate" /obj/item/mecha_parts/mecha_equipment/generator/action(target) if(chassis) var/result = load_fuel(target) if(result) - send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info()) + send_byjax(chassis.occupant,"exosuit.browser","[REF(src)]",src.get_equip_info()) /obj/item/mecha_parts/mecha_equipment/generator/proc/load_fuel(var/obj/item/stack/sheet/P) if(P.type == fuel.type && P.amount > 0) diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index 2bc3d3eaff..7ec90ab7ce 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -288,7 +288,7 @@ return /obj/item/mecha_parts/mecha_equipment/rcd/get_equip_info() - return "[..()] \[D|C|A\]" + return "[..()] \[D|C|A\]" @@ -342,7 +342,7 @@ cable.amount += to_load target.use(to_load) occupant_message("[to_load] meters of cable successfully loaded.") - send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info()) + send_byjax(chassis.occupant,"exosuit.browser","[REF(src)]",src.get_equip_info()) else occupant_message("Reel is full.") else @@ -371,7 +371,7 @@ /obj/item/mecha_parts/mecha_equipment/cable_layer/get_equip_info() var/output = ..() if(output) - return "[output] \[Cable: [cable ? cable.amount : 0] m\][(cable && cable.amount) ? "- [!equip_ready?"Dea":"A"]ctivate|Cut" : null]" + return "[output] \[Cable: [cable ? cable.amount : 0] m\][(cable && cable.amount) ? "- [!equip_ready?"Dea":"A"]ctivate|Cut" : null]" return /obj/item/mecha_parts/mecha_equipment/cable_layer/proc/use_cable(amount) diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 9d83c1c95b..4b814d6e58 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -210,7 +210,7 @@ return 1 /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/get_equip_info() - return "[..()] \[[src.projectiles]\][(src.projectiles < initial(src.projectiles))?" - Rearm":null]" + return "[..()] \[[src.projectiles]\][(src.projectiles < initial(src.projectiles))?" - Rearm":null]" /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/rearm() @@ -220,7 +220,7 @@ projectiles++ projectiles_to_add-- chassis.use_power(projectile_energy_cost) - send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info()) + send_byjax(chassis.occupant,"exosuit.browser","[REF(src)]",src.get_equip_info()) log_message("Rearmed [src.name].") return 1 @@ -239,7 +239,7 @@ /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/action(atom/target) if(..()) projectiles -= get_shot_amount() - send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info()) + send_byjax(chassis.occupant,"exosuit.browser","[REF(src)]",src.get_equip_info()) return 1 diff --git a/code/game/mecha/mech_bay.dm b/code/game/mecha/mech_bay.dm index 10c0b7e39a..ccacd133e8 100644 --- a/code/game/mecha/mech_bay.dm +++ b/code/game/mecha/mech_bay.dm @@ -106,7 +106,7 @@ if(recharge_port && !QDELETED(recharge_port)) data["recharge_port"] = list("mech" = null) if(recharge_port.recharging_mech && !QDELETED(recharge_port.recharging_mech)) - data["recharge_port"]["mech"] = list("health" = recharge_port.recharging_mech.obj_integrity, "max_integrity" = recharge_port.recharging_mech.max_integrity, "cell" = null) + data["recharge_port"]["mech"] = list("health" = recharge_port.recharging_mech.obj_integrity, "maxhealth" = recharge_port.recharging_mech.max_integrity, "cell" = null) if(recharge_port.recharging_mech.cell && !QDELETED(recharge_port.recharging_mech.cell)) data["recharge_port"]["mech"]["cell"] = list( "critfail" = recharge_port.recharging_mech.cell.crit_fail, diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 524dc4e5b5..be0f596ced 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -98,8 +98,8 @@ continue output += "
    [output_part_info(D)]
    \[" if(check_resources(D)) - output += "Build | " - output += "Add to queue\]\[?\]
    " + output += "Build | " + output += "Add to queue\]\[?\]
    " return output /obj/machinery/mecha_part_fabricator/proc/output_part_info(datum/design/D) @@ -121,10 +121,10 @@ var/datum/material/M = materials.materials[mat_id] output += "[M.name]: [M.amount] cm³" if(M.amount >= MINERAL_MATERIAL_AMOUNT) - output += "- Remove \[1\]" + output += "- Remove \[1\]" if(M.amount >= (MINERAL_MATERIAL_AMOUNT * 10)) - output += " | \[10\]" - output += " | \[All\]" + output += " | \[10\]" + output += " | \[All\]" output += "
    " return output @@ -206,7 +206,7 @@ if(!check_resources(D)) say("Not enough resources. Queue processing stopped.") temp = {"Not enough resources to build next part.
    - Try again | Return"} + Try again | Return"} return 0 remove_from_queue(1) build_part(D) @@ -225,12 +225,12 @@ var/obj/part = D.build_path output += "" output += initial(part.name) + " - " - output += "[i>1?"":null] " - output += "[i↓":null] " - output += "Remove" + output += "[i>1?"":null] " + output += "[i↓":null] " + output += "Remove" output += "" - output += "\[Process queue | Clear queue\]" + output += "\[Process queue | Clear queue\]" return output /obj/machinery/mecha_part_fabricator/proc/sync() @@ -250,13 +250,13 @@ files.RefreshResearch() temp = "Processed equipment designs.
    " //check if the tech coefficients have changed - temp += "Return" + temp += "Return" updateUsrDialog() say("Successfully synchronized with R&D server.") return - temp = "Unable to connect to local R&D Database.
    Please check your connections and try again.
    Return" + temp = "Unable to connect to local R&D Database.
    Please check your connections and try again.
    Return" updateUsrDialog() return @@ -289,12 +289,12 @@ switch(screen) if("main") left_part = output_available_resources()+"
    " - left_part += "Sync with R&D servers
    " + left_part += "Sync with R&D servers
    " for(var/part_set in part_sets) - left_part += "[part_set] - \[Add all parts to queue\]
    " + left_part += "[part_set] - \[Add all parts to queue\]
    " if("parts") left_part += output_parts_list(part_set) - left_part += "
    Return" + left_part += "
    Return" dat = {" [name] @@ -332,9 +332,9 @@ /obj/machinery/mecha_part_fabricator/Topic(href, href_list) if(..()) return - var/datum/topic_input/filter = new /datum/topic_input(href,href_list) + var/datum/topic_input/afilter = new /datum/topic_input(href,href_list) if(href_list["part_set"]) - var/tpart_set = filter.getStr("part_set") + var/tpart_set = afilter.getStr("part_set") if(tpart_set) if(tpart_set=="clear") part_set = null @@ -342,7 +342,7 @@ part_set = tpart_set screen = "parts" if(href_list["part"]) - var/T = filter.getStr("part") + var/T = afilter.getStr("part") for(var/v in files.known_designs) var/datum/design/D = files.known_designs[v] if(D.build_type & MECHFAB) @@ -353,7 +353,7 @@ add_to_queue(D) break if(href_list["add_to_queue"]) - var/T = filter.getStr("add_to_queue") + var/T = afilter.getStr("add_to_queue") for(var/v in files.known_designs) var/datum/design/D = files.known_designs[v] if(D.build_type & MECHFAB) @@ -362,10 +362,10 @@ break return update_queue_on_page() if(href_list["remove_from_queue"]) - remove_from_queue(filter.getNum("remove_from_queue")) + remove_from_queue(afilter.getNum("remove_from_queue")) return update_queue_on_page() if(href_list["partset_to_queue"]) - add_part_set_to_queue(filter.get("partset_to_queue")) + add_part_set_to_queue(afilter.get("partset_to_queue")) return update_queue_on_page() if(href_list["process_queue"]) spawn(0) @@ -379,8 +379,8 @@ if(href_list["screen"]) screen = href_list["screen"] if(href_list["queue_move"] && href_list["index"]) - var/index = filter.getNum("index") - var/new_index = index + filter.getNum("queue_move") + var/index = afilter.getNum("index") + var/new_index = index + afilter.getNum("queue_move") if(isnum(index) && isnum(new_index) && IsInteger(index) && IsInteger(new_index)) if(IsInRange(new_index,1,queue.len)) queue.Swap(index,new_index) @@ -391,7 +391,7 @@ if(href_list["sync"]) sync() if(href_list["part_desc"]) - var/T = filter.getStr("part_desc") + var/T = afilter.getStr("part_desc") for(var/v in files.known_designs) var/datum/design/D = files.known_designs[v] if(D.build_type & MECHFAB) @@ -399,7 +399,7 @@ var/obj/part = D.build_path temp = {"

    [initial(part.name)] description:

    [initial(part.desc)]
    - Return + Return "} break diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index ad0e428f14..2f98b2cc4c 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -647,7 +647,7 @@ to_chat(user, "[B.get_mecha_info()]") break //Nothing like a big, red link to make the player feel powerful! - to_chat(user, "ASSUME DIRECT CONTROL?
    ") + to_chat(user, "ASSUME DIRECT CONTROL?
    ") else examine(user) if(occupant) @@ -661,7 +661,7 @@ if(!can_control_mech) to_chat(user, "You cannot control exosuits without AI control beacons installed.") return - to_chat(user, "Take control of exosuit?
    ") + to_chat(user, "Take control of exosuit?
    ") /obj/mecha/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/device/aicard/card) if(!..()) diff --git a/code/game/mecha/mecha_control_console.dm b/code/game/mecha/mecha_control_console.dm index 431768500e..63dd798a34 100644 --- a/code/game/mecha/mecha_control_console.dm +++ b/code/game/mecha/mecha_control_console.dm @@ -23,15 +23,15 @@ var/answer = TR.get_mecha_info() if(answer) dat += {"
    [answer]
    - Send message
    - Show exosuit log | (EMP pulse)
    "} + Send message
    + Show exosuit log | (EMP pulse)
    "} if(screen==1) dat += "

    Log contents

    " - dat += "Return
    " + dat += "Return
    " dat += "[stored_data]" - dat += "(Refresh)
    " + dat += "(Refresh)
    " dat += "" user << browse(dat, "window=computer;size=400x500") @@ -41,19 +41,19 @@ /obj/machinery/computer/mecha/Topic(href, href_list) if(..()) return - var/datum/topic_input/filter = new /datum/topic_input(href,href_list) + var/datum/topic_input/afilter = new /datum/topic_input(href,href_list) if(href_list["send_message"]) - var/obj/item/mecha_parts/mecha_tracking/MT = filter.getObj("send_message") + var/obj/item/mecha_parts/mecha_tracking/MT = afilter.getObj("send_message") var/message = stripped_input(usr,"Input message","Transmit message") var/obj/mecha/M = MT.in_mecha() if(trim(message) && M) M.occupant_message(message) return if(href_list["shock"]) - var/obj/item/mecha_parts/mecha_tracking/MT = filter.getObj("shock") + var/obj/item/mecha_parts/mecha_tracking/MT = afilter.getObj("shock") MT.shock() if(href_list["get_log"]) - var/obj/item/mecha_parts/mecha_tracking/MT = filter.getObj("get_log") + var/obj/item/mecha_parts/mecha_tracking/MT = afilter.getObj("get_log") stored_data = MT.get_mecha_log() screen = 1 if(href_list["return"]) diff --git a/code/game/mecha/mecha_topic.dm b/code/game/mecha/mecha_topic.dm index 27256d8b0b..54b44f89f9 100644 --- a/code/game/mecha/mecha_topic.dm +++ b/code/game/mecha/mecha_topic.dm @@ -22,7 +22,7 @@ [js_dropdowns] function SSticker() { setInterval(function(){ - window.location='byond://?src=\ref[src]&update_content=1'; + window.location='byond://?src=[REF(src)]&update_content=1'; }, 1000); } @@ -55,7 +55,7 @@ "[MECHA_INT_FIRE]" = "INTERNAL FIRE", "[MECHA_INT_TEMP_CONTROL]" = "LIFE SUPPORT SYSTEM MALFUNCTION", "[MECHA_INT_TANK_BREACH]" = "GAS TANK BREACH", - "[MECHA_INT_CONTROL_LOST]" = "COORDINATION SYSTEM CALIBRATION FAILURE - Recalibrate", + "[MECHA_INT_CONTROL_LOST]" = "COORDINATION SYSTEM CALIBRATION FAILURE - Recalibrate", "[MECHA_INT_SHORT_CIRCUIT]" = "SHORT CIRCUIT" ) for(var/tflag in dam_reports) @@ -84,7 +84,7 @@ Airtank temperature: [tank_temperature]°K|[tank_temperature - T0C]°C
    Cabin pressure: [cabin_pressure>WARNING_HIGH_PRESSURE ? "[cabin_pressure]": cabin_pressure]kPa
    Cabin temperature: [return_temperature()]°K|[return_temperature() - T0C]°C
    - [dna_lock?"DNA-locked:
    [dna_lock] \[Reset\]
    ":""]
    + [dna_lock?"DNA-locked:
    [dna_lock] \[Reset\]
    ":""]
    [thrusters_action.owner ? "Thrusters: [thrusters_active ? "Enabled" : "Disabled"]
    " : ""] [defense_action.owner ? "Defence Mode: [defence_mode ? "Enabled" : "Disabled"]
    " : ""] [overload_action.owner ? "Leg Actuators Overload: [leg_overload_mode ? "Enabled" : "Disabled"]
    " : ""] @@ -100,25 +100,25 @@
    Electronics
    [get_equipment_menu()]
    @@ -133,7 +133,7 @@
    " @@ -143,7 +143,7 @@ return . = "Equipment:
    " for(var/obj/item/mecha_parts/mecha_equipment/MT in equipment) - . += "
    [MT.get_equip_info()]
    " + . += "
    [MT.get_equip_info()]
    " . += "
    " @@ -171,7 +171,7 @@

    Following keycodes are present in this system:

    "} for(var/a in operation_req_access) - . += "[get_access_desc(a)] - Delete
    " + . += "[get_access_desc(a)] - Delete
    " . += "

    Following keycodes were detected on portable device:

    " for(var/a in id_card.access) if(a in operation_req_access) @@ -179,8 +179,8 @@ var/a_name = get_access_desc(a) if(!a_name) continue //there's some strange access without a name - . += "[a_name] - Add
    " - . += "
    Finish " + . += "[a_name] - Add
    " + . += "
    Finish " . += "(Warning! The ID upload panel will be locked. It can be unlocked only through Exosuit Interface.)" . += "" user << browse(., "window=exosuit_add_access") @@ -198,9 +198,9 @@ - [add_req_access?"Edit operation keycodes":null] - [maint_access?"Initiate maintenance protocol":null] - [(state>0) ?"Set Cabin Air Pressure":null] + [add_req_access?"Edit operation keycodes":null] + [maint_access?"Initiate maintenance protocol":null] + [(state>0) ?"Set Cabin Air Pressure":null] "} user << browse(., "window=exosuit_maint_console") @@ -221,15 +221,15 @@ if(usr.incapacitated()) return - var/datum/topic_input/filter = new /datum/topic_input(href,href_list) + var/datum/topic_input/afilter = new /datum/topic_input(href,href_list) if(in_range(src, usr)) if(href_list["req_access"] && add_req_access) - output_access_dialog(filter.getObj("id_card"),filter.getMob("user")) + output_access_dialog(afilter.getObj("id_card"),afilter.getMob("user")) if(href_list["maint_access"] && maint_access) - var/mob/user = filter.getMob("user") + var/mob/user = afilter.getMob("user") if(user) if(state==0) state = 1 @@ -237,27 +237,27 @@ else if(state==1) state = 0 to_chat(user, "The securing bolts are now hidden.") - output_maintenance_dialog(filter.getObj("id_card"),user) + output_maintenance_dialog(afilter.getObj("id_card"),user) if(href_list["set_internal_tank_valve"] && state >=1) - var/mob/user = filter.getMob("user") + var/mob/user = afilter.getMob("user") if(user) var/new_pressure = input(user,"Input new output pressure","Pressure setting",internal_tank_valve) as num if(new_pressure) internal_tank_valve = new_pressure to_chat(user, "The internal pressure valve has been set to [internal_tank_valve]kPa.") - if(href_list["add_req_access"] && add_req_access && filter.getObj("id_card")) - operation_req_access += filter.getNum("add_req_access") - output_access_dialog(filter.getObj("id_card"),filter.getMob("user")) + if(href_list["add_req_access"] && add_req_access && afilter.getObj("id_card")) + operation_req_access += afilter.getNum("add_req_access") + output_access_dialog(afilter.getObj("id_card"),afilter.getMob("user")) - if(href_list["del_req_access"] && add_req_access && filter.getObj("id_card")) - operation_req_access -= filter.getNum("del_req_access") - output_access_dialog(filter.getObj("id_card"),filter.getMob("user")) + if(href_list["del_req_access"] && add_req_access && afilter.getObj("id_card")) + operation_req_access -= afilter.getNum("del_req_access") + output_access_dialog(afilter.getObj("id_card"),afilter.getMob("user")) if(href_list["finish_req_access"]) add_req_access = 0 - var/mob/user = filter.getMob("user") + var/mob/user = afilter.getMob("user") user << browse(null,"window=exosuit_add_access") if(usr != occupant) @@ -267,7 +267,7 @@ send_byjax(src.occupant,"exosuit.browser","content",src.get_stats_part()) if(href_list["select_equip"]) - var/obj/item/mecha_parts/mecha_equipment/equip = filter.getObj("select_equip") + var/obj/item/mecha_parts/mecha_equipment/equip = afilter.getObj("select_equip") if(equip && equip.selectable) src.selected = equip src.occupant_message("You switch to [equip]") @@ -283,7 +283,7 @@ send_byjax(src.occupant,"exosuit.browser","rspkstate",(radio.listening?"Engaged":"Disengaged")) if(href_list["rfreq"]) - var/new_frequency = (radio.frequency + filter.getNum("rfreq")) + var/new_frequency = (radio.frequency + afilter.getNum("rfreq")) if (!radio.freerange || (radio.frequency < 1200 || radio.frequency > 1600)) new_frequency = sanitize_frequency(new_frequency) radio.set_frequency(new_frequency) diff --git a/code/game/mecha/medical/odysseus.dm b/code/game/mecha/medical/odysseus.dm index c6493c8581..7725d3c6e5 100644 --- a/code/game/mecha/medical/odysseus.dm +++ b/code/game/mecha/medical/odysseus.dm @@ -1,33 +1,24 @@ -/obj/mecha/medical/odysseus - desc = "These exosuits are developed and produced by Vey-Med. (© All rights reserved)." - name = "\improper Odysseus" - icon_state = "odysseus" - step_in = 3 - max_temperature = 15000 - max_integrity = 120 - wreckage = /obj/structure/mecha_wreckage/odysseus - internal_damage_threshold = 35 - deflect_chance = 15 - step_energy_drain = 6 - var/builtin_hud_user = 0 - -/obj/mecha/medical/odysseus/moved_inside(mob/living/carbon/human/H) - if(..()) - if(H.glasses && istype(H.glasses, /obj/item/clothing/glasses/hud)) - occupant_message("Your [H.glasses] prevent you from using the built-in medical hud.") - else - var/datum/atom_hud/data/human/medical/advanced/A = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] - A.add_hud_to(H) - builtin_hud_user = 1 - return 1 - else - return 0 - -/obj/mecha/medical/odysseus/go_out() - if(ishuman(occupant) && builtin_hud_user) - var/mob/living/carbon/human/H = occupant - var/datum/atom_hud/data/human/medical/advanced/A = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] - A.remove_hud_from(H) - ..() - return - +/obj/mecha/medical/odysseus + desc = "These exosuits are developed and produced by Vey-Med. (© All rights reserved)." + name = "\improper Odysseus" + icon_state = "odysseus" + step_in = 3 + max_temperature = 15000 + max_integrity = 120 + wreckage = /obj/structure/mecha_wreckage/odysseus + internal_damage_threshold = 35 + deflect_chance = 15 + step_energy_drain = 6 + +/obj/mecha/medical/odysseus/moved_inside(mob/living/carbon/human/H) + . = ..() + if(.) + var/datum/atom_hud/hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] + hud.add_hud_to(H) + +/obj/mecha/medical/odysseus/go_out() + if(ishuman(occupant)) + var/mob/living/carbon/human/H = occupant + var/datum/atom_hud/hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] + hud.remove_hud_from(H) + ..() diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index 131e6cd7f7..0da64c3e4d 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -149,7 +149,7 @@ output += "Cargo Compartment Contents:
    " if(cargo.len) for(var/obj/O in cargo) - output += "Unload : [O]
    " + output += "Unload : [O]
    " else output += "Nothing" output += "
    " diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index 8352a12e5e..2cf463e46c 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -22,7 +22,7 @@ /atom/movable/MouseDrop_T(mob/living/M, mob/living/user) . = ..() - if(can_buckle && istype(M)) + if(can_buckle && istype(M) && istype(user)) if(user_buckle_mob(M, user)) return 1 diff --git a/code/game/objects/effects/contraband.dm b/code/game/objects/effects/contraband.dm index f248409e0a..a337253c59 100644 --- a/code/game/objects/effects/contraband.dm +++ b/code/game/objects/effects/contraband.dm @@ -121,6 +121,13 @@ to_chat(user, "[P] has no poster... inside it? Inform a coder!") return + // Deny placing posters on currently-diagonal walls, although the wall may change in the future. + if (smooth & SMOOTH_DIAGONAL) + for (var/O in our_overlays) + var/image/I = O + if (copytext(I.icon_state, 1, 3) == "d-") + return + var/stuff_on_wall = 0 for(var/obj/O in contents) //Let's see if it already has a poster on it or too much stuff if(istype(O, /obj/structure/sign/poster)) diff --git a/code/game/objects/effects/countdown.dm b/code/game/objects/effects/countdown.dm index 4dd8e323c8..f4b67b7df2 100644 --- a/code/game/objects/effects/countdown.dm +++ b/code/game/objects/effects/countdown.dm @@ -108,7 +108,7 @@ if(!istype(G)) return else if(G.obj_integrity && !G.purpose_fulfilled) - return "
    [G.get_arrival_text(FALSE)]
    " + return "
    [G.get_arrival_time(FALSE)]
    " /obj/effect/countdown/supermatter name = "supermatter damage" diff --git a/code/game/objects/effects/decals/crayon.dm b/code/game/objects/effects/decals/crayon.dm index 7ca3bd9462..4362957a76 100644 --- a/code/game/objects/effects/decals/crayon.dm +++ b/code/game/objects/effects/decals/crayon.dm @@ -5,20 +5,26 @@ icon_state = "rune1" gender = NEUTER var/do_icon_rotate = TRUE + var/rotation = 0 + var/paint_colour = "#FFFFFF" -/obj/effect/decal/cleanable/crayon/Initialize(mapload, main = "#FFFFFF", var/type = "rune1", var/e_name = "rune", var/rotation = 0, var/alt_icon = null) +/obj/effect/decal/cleanable/crayon/Initialize(mapload, main, type, e_name, graf_rot, alt_icon = null) . = ..() - name = e_name + if(e_name) + name = e_name desc = "A [name] vandalizing the station." if(alt_icon) icon = alt_icon - icon_state = type - + if(type) + icon_state = type + if(graf_rot) + rotation = graf_rot if(rotation && do_icon_rotate) var/matrix/M = matrix() M.Turn(rotation) src.transform = M - - add_atom_colour(main, FIXED_COLOUR_PRIORITY) + if(main) + paint_colour = main + add_atom_colour(paint_colour, FIXED_COLOUR_PRIORITY) diff --git a/code/game/objects/effects/decals/decal.dm b/code/game/objects/effects/decals/decal.dm index 520e4e10b7..f4235de240 100644 --- a/code/game/objects/effects/decals/decal.dm +++ b/code/game/objects/effects/decals/decal.dm @@ -15,24 +15,23 @@ if(T == loc && (isspaceturf(T) || isclosedturf(T) || islava(T) || istype(T, /turf/open/water) || ischasm(T))) qdel(src) +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + /obj/effect/turf_decal - var/group = TURF_DECAL_PAINT icon = 'icons/turf/decals.dmi' icon_state = "warningline" layer = TURF_DECAL_LAYER - anchored = TRUE - -//in case we need some special decals -/obj/effect/turf_decal/proc/get_decal() - return image(icon='icons/turf/decals.dmi',icon_state=icon_state,dir=dir,layer=TURF_LAYER) /obj/effect/turf_decal/Initialize() ..() + return INITIALIZE_HINT_QDEL + +/obj/effect/turf_decal/ComponentInitialize() + . = ..() var/turf/T = loc if(!istype(T)) //you know this will happen somehow CRASH("Turf decal initialized in an object/nullspace") - T.add_decal(get_decal(),group) - return INITIALIZE_HINT_QDEL + T.AddComponent(/datum/component/turf_decal, dir, icon, icon_state) /obj/effect/turf_decal/stripes/line icon_state = "warningline" diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm index cdba69b140..3459bfc954 100644 --- a/code/game/objects/effects/effect_system/effects_foam.dm +++ b/code/game/objects/effects/effect_system/effects_foam.dm @@ -295,7 +295,7 @@ Item.extinguish() /obj/structure/foamedmetal/resin/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return TRUE . = ..() diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm index 1f3a5a7b02..3de8432ee9 100644 --- a/code/game/objects/effects/effect_system/effects_smoke.dm +++ b/code/game/objects/effects/effect_system/effects_smoke.dm @@ -288,7 +288,7 @@ var/mob/M = get_mob_by_key(carry.my_atom.fingerprintslast) var/more = "" if(M) - more = "(?) (FLW) " + more = "(?) (FLW) " message_admins("Smoke: ([whereLink])[contained]. Key: [carry.my_atom.fingerprintslast][more].", 0, 1) log_game("A chemical smoke reaction has taken place in ([where])[contained]. Last associated key is [carry.my_atom.fingerprintslast].") else diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm index ce4992391b..8dab6e4246 100644 --- a/code/game/objects/effects/glowshroom.dm +++ b/code/game/objects/effects/glowshroom.dm @@ -58,9 +58,12 @@ delay = delay - myseed.production * 100 //So the delay goes DOWN with better stats instead of up. :I obj_integrity = myseed.endurance max_integrity = myseed.endurance - if(myseed.get_gene(/datum/plant_gene/trait/glow)) - var/datum/plant_gene/trait/glow/G = myseed.get_gene(/datum/plant_gene/trait/glow) - set_light(G.glow_range(myseed), G.glow_power(myseed), G.glow_color) + var/datum/plant_gene/trait/glow/G = myseed.get_gene(/datum/plant_gene/trait/glow) + if(ispath(G)) // Seeds were ported to initialize so their genes are still typepaths here, luckily their initializer is smart enough to handle us doing this + myseed.genes -= G + G = new G + myseed.genes += G + set_light(G.glow_range(myseed), G.glow_power(myseed), G.glow_color) setDir(CalcDir()) var/base_icon_state = initial(icon_state) if(!floor) diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index b5916753ed..c18c60c5f3 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -178,21 +178,18 @@ GLOB.nukeop_leader_start += loc return INITIALIZE_HINT_QDEL +// Must be immediate because players will +// join before SSatom initializes everything. +INITIALIZE_IMMEDIATE(/obj/effect/landmark/start/new_player) + /obj/effect/landmark/start/new_player name = "New Player" -// Must be on New() rather than Initialize, because players will -// join before SSatom initializes everything. -/obj/effect/landmark/start/new_player/New(loc) +/obj/effect/landmark/start/new_player/Initialize() ..() GLOB.newplayer_start += loc - -/obj/effect/landmark/start/new_player/Initialize(mapload) - ..() return INITIALIZE_HINT_QDEL - - /obj/effect/landmark/latejoin name = "JoinLate" diff --git a/code/game/objects/effects/manifest.dm b/code/game/objects/effects/manifest.dm index 96f8c26707..2082f2b495 100644 --- a/code/game/objects/effects/manifest.dm +++ b/code/game/objects/effects/manifest.dm @@ -1,17 +1,17 @@ -/obj/effect/manifest - name = "manifest" - icon = 'icons/mob/screen_gen.dmi' - icon_state = "x" - -/obj/effect/manifest/New() - src.invisibility = INVISIBILITY_ABSTRACT - -/obj/effect/manifest/proc/manifest() - var/dat = "Crew Manifest:
    " - for(var/mob/living/carbon/human/M in GLOB.mob_list) - dat += text(" [] - []
    ", M.name, M.get_assignment()) - var/obj/item/paper/P = new /obj/item/paper( src.loc ) - P.info = dat - P.name = "paper- 'Crew Manifest'" - //SN src = null - qdel(src) +/obj/effect/manifest + name = "manifest" + icon = 'icons/mob/screen_gen.dmi' + icon_state = "x" + +/obj/effect/manifest/New() + src.invisibility = INVISIBILITY_ABSTRACT + +/obj/effect/manifest/proc/manifest() + var/dat = "Crew Manifest:
    " + for(var/mob/living/carbon/human/M in GLOB.carbon_list) + dat += text(" [] - []
    ", M.name, M.get_assignment()) + var/obj/item/paper/P = new /obj/item/paper( src.loc ) + P.info = dat + P.name = "paper- 'Crew Manifest'" + //SN src = null + qdel(src) diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm index 8bf0580e15..f932ec9830 100644 --- a/code/game/objects/effects/portals.dm +++ b/code/game/objects/effects/portals.dm @@ -24,6 +24,7 @@ var/atmos_link = FALSE //Link source/destination atmos. var/turf/open/atmos_source //Atmos link source var/turf/open/atmos_destination //Atmos link destination + var/allow_anchored = FALSE /obj/effect/portal/anom name = "wormhole" @@ -42,6 +43,8 @@ user.forceMove(get_turf(src)) /obj/effect/portal/Crossed(atom/movable/AM, oldloc) + if(isobserver(AM)) + return ..() if(linked && (get_turf(oldloc) == get_turf(linked))) return ..() if(!teleport(AM)) @@ -51,6 +54,8 @@ return /obj/effect/portal/attack_hand(mob/user) + if(get_turf(user) == get_turf(src)) + teleport(user) if(Adjacent(user)) user.forceMove(get_turf(src)) @@ -123,12 +128,18 @@ linked = null return ..() +/obj/effect/portal/attack_ghost(mob/dead/observer/O) + if(!teleport(O)) + return ..() + /obj/effect/portal/proc/teleport(atom/movable/M) if(!istype(M) || istype(M, /obj/effect) || (ismecha(M) && !mech_sized) || (!isobj(M) && !ismob(M))) //Things that shouldn't teleport. return var/turf/real_target = get_link_target_turf() if(!istype(real_target)) return FALSE + if(!ismecha(M) && M.anchored && !allow_anchored) + return if(ismegafauna(M)) message_admins("[M] has used a portal at [ADMIN_COORDJMP(src)] made by [usr].") if(do_teleport(M, real_target, 0)) diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index c08ad793ab..0b1432e61c 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -198,7 +198,7 @@ S.directive = directive if(player_spiders) S.playable_spider = TRUE - notify_ghosts("Spider [S.name] can be controlled", null, enter_link="(Click to play)", source=S, action=NOTIFY_ATTACK) + notify_ghosts("Spider [S.name] can be controlled", null, enter_link="(Click to play)", source=S, action=NOTIFY_ATTACK) qdel(src) diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm index 363bb1b05a..835738255e 100644 --- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm +++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm @@ -312,14 +312,10 @@ icon_state = "impact_bullet" duration = 5 -/obj/effect/temp_visual/impact_effect/Initialize(mapload, atom/target, obj/item/projectile/P) - if(target == P.original) - pixel_x = target.pixel_x + P.p_x - 16 - pixel_y = target.pixel_y + P.p_y - 16 - else - pixel_x = target.pixel_x + rand(2, -2) - pixel_y = target.pixel_y + rand(2, -2) - . = ..() +/obj/effect/temp_visual/impact_effect/Initialize(mapload, x, y) + pixel_x = x + pixel_y = y + return ..() /obj/effect/temp_visual/impact_effect/red_laser icon_state = "impact_laser" diff --git a/code/game/objects/effects/temporary_visuals/temporary_visual.dm b/code/game/objects/effects/temporary_visuals/temporary_visual.dm index 6a1bbc4437..615f392a86 100644 --- a/code/game/objects/effects/temporary_visuals/temporary_visual.dm +++ b/code/game/objects/effects/temporary_visuals/temporary_visual.dm @@ -35,3 +35,5 @@ if(set_dir) setDir(set_dir) . = ..() + + diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 12e7cda9fa..3e6d17d4da 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -77,7 +77,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) var/mob/thrownby = null - /obj/item/mouse_drag_pointer = MOUSE_ACTIVE_POINTER //the icon to indicate this object is being dragged + mouse_drag_pointer = MOUSE_ACTIVE_POINTER //the icon to indicate this object is being dragged //So items can have custom embedd values //Because customisation is king @@ -93,6 +93,8 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) var/flags_cover = 0 //for flags such as GLASSESCOVERSEYES var/heat = 0 var/sharpness = IS_BLUNT + + var/tool_behaviour = TOOL_NONE var/toolspeed = 1 var/block_chance = 0 diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 0433fde454..51a81c46aa 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -9,6 +9,8 @@ ARCD */ /obj/item/construction + name = "not for ingame use" + desc = "A device used to rapidly build and deconstruct. Reload with metal, plasteel, glass or compressed matter cartridges." opacity = 0 density = FALSE anchored = FALSE @@ -32,11 +34,13 @@ ARCD /obj/item/construction/Initialize() . = ..() - desc = "\A [src]. It currently holds [matter]/[max_matter] matter-units." spark_system = new /datum/effect_system/spark_spread spark_system.set_up(5, 0, src) spark_system.attach(src) +/obj/item/construction/examine(mob/user) + ..() + to_chat(user, "\A [src]. It currently holds [matter]/[max_matter] matter-units." ) /obj/item/construction/Destroy() QDEL_NULL(spark_system) @@ -61,7 +65,6 @@ ARCD loaded = loadwithsheets(W, plasteelmultiplier*sheetmultiplier, user) //Plasteel is worth 3 times more than glass or metal if(loaded) to_chat(user, "[src] now holds [matter]/[max_matter] matter-units.") - desc = "A RCD. It currently holds [matter]/[max_matter] matter-units." else return ..() @@ -91,7 +94,6 @@ ARCD to_chat(user, no_ammo_message) return 0 matter -= amount - desc = "\A [src]. It currently holds [matter]/[max_matter] matter-units." update_icon() return 1 @@ -117,7 +119,6 @@ ARCD /obj/item/construction/rcd name = "rapid-construction-device (RCD)" - desc = "A device used to rapidly build and deconstruct walls and floors." icon = 'icons/obj/tools.dmi' icon_state = "rcd" lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' @@ -125,7 +126,6 @@ ARCD max_matter = 160 flags_2 = NO_MAT_REDEMPTION_2 var/mode = 1 - var/canRturf = 0 var/ranged = FALSE var/airlock_type = /obj/machinery/door/airlock var/airlock_glass = FALSE // So the floor's rcd_act knows how much ammo to use @@ -134,6 +134,7 @@ ARCD var/list/conf_access = null var/use_one_access = 0 //If the airlock should require ALL or only ONE of the listed accesses. var/delay_mod = 1 + var/canRturf = FALSE //Variable for R walls to deconstruct them /obj/item/construction/rcd/suicide_act(mob/user) @@ -172,11 +173,11 @@ ARCD if(use_one_access) - t1 += "Restriction Type: At least one access required
    " + t1 += "Restriction Type: At least one access required
    " else - t1 += "Restriction Type: All accesses required
    " + t1 += "Restriction Type: All accesses required
    " - t1 += "Remove All
    " + t1 += "Remove All
    " var/accesses = "" accesses += "
    Access
    " @@ -189,15 +190,15 @@ ARCD accesses += "" for(var/A in get_region_accesses(i)) if(A in conf_access) - accesses += "[replacetext(get_access_desc(A), " ", " ")] " + accesses += "[replacetext(get_access_desc(A), " ", " ")] " else - accesses += "[replacetext(get_access_desc(A), " ", " ")] " + accesses += "[replacetext(get_access_desc(A), " ", " ")] " accesses += "
    " accesses += "" accesses += "" t1 += "[accesses]" - t1 += text("

    Close

    \n", src) + t1 += "

    Close

    \n" var/datum/browser/popup = new(usr, "airlock_electronics", "Access Control", 900, 500) popup.set_content(t1) @@ -362,11 +363,11 @@ ARCD qdel(src) -/obj/item/construction/rcd/borg/New() - ..() +/obj/item/construction/rcd/borg no_ammo_message = "Insufficient charge." desc = "A device used to rapidly build walls and floors." - canRturf = 1 + canRturf = TRUE + /obj/item/construction/rcd/borg/useResource(amount, mob/user) if(!iscyborg(user)) @@ -401,6 +402,7 @@ ARCD name = "industrial RCD" max_matter = 500 matter = 500 + canRturf = TRUE /obj/item/rcd_ammo name = "compressed matter cartridge" @@ -420,7 +422,7 @@ ARCD ammoamt = 160 -/obj/item/construction/rcd/admin +/obj/item/construction/rcd/combat/admin name = "admin RCD" max_matter = INFINITY matter = INFINITY @@ -431,7 +433,7 @@ ARCD /obj/item/construction/rcd/arcd name = "advanced rapid-construction-device (ARCD)" - desc = "A prototype RCD with ranged capability and extended capacity." + desc = "A prototype RCD with ranged capability and extended capacity. Reload with metal, plasteel, glass or compressed matter cartridges." max_matter = 300 matter = 300 delay_mod = 0.6 @@ -454,7 +456,7 @@ ARCD /obj/item/construction/rld name = "rapid-light-device (RLD)" - desc = "A device used to rapidly provide lighting sources to an area." + desc = "A device used to rapidly provide lighting sources to an area. Reload with metal, plasteel, glass or compressed matter cartridges." icon = 'icons/obj/tools.dmi' icon_state = "rld-5" lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' diff --git a/code/game/objects/items/RPD.dm b/code/game/objects/items/RPD.dm index 76fabdc8e8..d39787d201 100644 --- a/code/game/objects/items/RPD.dm +++ b/code/game/objects/items/RPD.dm @@ -1,5 +1,3 @@ - - /* CONTAINS: RPD @@ -14,110 +12,137 @@ RPD #define CATEGORY_ATMOS 0 #define CATEGORY_DISPOSALS 1 -/datum/pipe_info - var/id=-1 - var/categoryId - var/dir=SOUTH - var/dirtype = PIPE_BENDABLE - var/icon - var/icon_state - var/selected=0 -/datum/pipe_info/pipe - categoryId = CATEGORY_ATMOS - icon = 'icons/obj/atmospherics/pipes/pipe_item.dmi' - -/datum/pipe_info/pipe/New(obj/machinery/atmospherics/path) - id = path - icon_state = initial(path.pipe_state) - dirtype = initial(path.construction_type) - -/datum/pipe_info/proc/Render(dispenser,label) - -/datum/pipe_info/pipe/Render(dispenser,label,dir=NORTH) - return "
  • [label]
  • " - -/datum/pipe_info/meter - categoryId = CATEGORY_ATMOS - icon = 'icons/obj/atmospherics/pipes/simple.dmi' - icon_state = "meterX" - -/datum/pipe_info/meter/New() - return - -/datum/pipe_info/meter/Render(dispenser,label) - return "
  • [label]
  • " //hardcoding is no - -GLOBAL_LIST_INIT(disposalpipeID2State, list( - "pipe-s", - "pipe-c", - "pipe-j1", - "pipe-j2", - "pipe-y", - "pipe-t", - "disposal", - "outlet", - "intake", - "pipe-j1s", - "pipe-j2s")) - -/datum/pipe_info/disposal - categoryId = CATEGORY_DISPOSALS - icon = 'icons/obj/atmospherics/pipes/disposal.dmi' - -/datum/pipe_info/disposal/New(var/pid,var/dt) - id=pid - icon_state=GLOB.disposalpipeID2State[pid+1] - dir = SOUTH - dirtype=dt - if(pidDISP_END_CHUTE) - icon_state = "con[icon_state]" - -/datum/pipe_info/disposal/Render(dispenser,label) - return "
  • [label]
  • " //avoid hardcoding. - -//find these defines in code\game\machinery\pipe\consruction.dm -GLOBAL_LIST_INIT(RPD_recipes, list( +GLOBAL_LIST_INIT(atmos_pipe_recipes, list( "Pipes" = list( - "Pipe" = new /datum/pipe_info/pipe(/obj/machinery/atmospherics/pipe/simple), - "Manifold" = new /datum/pipe_info/pipe(/obj/machinery/atmospherics/pipe/manifold), - "Manual Valve" = new /datum/pipe_info/pipe(/obj/machinery/atmospherics/components/binary/valve), - "Digital Valve" = new /datum/pipe_info/pipe(/obj/machinery/atmospherics/components/binary/valve/digital), - "4-Way Manifold" = new /datum/pipe_info/pipe(/obj/machinery/atmospherics/pipe/manifold4w), - "Layer Manifold" = new /datum/pipe_info/pipe(/obj/machinery/atmospherics/pipe/layer_manifold), + new /datum/pipe_info/pipe("Pipe", /obj/machinery/atmospherics/pipe/simple), + new /datum/pipe_info/pipe("Manifold", /obj/machinery/atmospherics/pipe/manifold), + new /datum/pipe_info/pipe("Manual Valve", /obj/machinery/atmospherics/components/binary/valve), + new /datum/pipe_info/pipe("Digital Valve", /obj/machinery/atmospherics/components/binary/valve/digital), + new /datum/pipe_info/pipe("4-Way Manifold", /obj/machinery/atmospherics/pipe/manifold4w), + new /datum/pipe_info/pipe("Layer Manifold", /obj/machinery/atmospherics/pipe/layer_manifold), ), "Devices" = list( - "Connector" = new /datum/pipe_info/pipe(/obj/machinery/atmospherics/components/unary/portables_connector), - "Unary Vent" = new /datum/pipe_info/pipe(/obj/machinery/atmospherics/components/unary/vent_pump), - "Gas Pump" = new /datum/pipe_info/pipe(/obj/machinery/atmospherics/components/binary/pump), - "Passive Gate" = new /datum/pipe_info/pipe(/obj/machinery/atmospherics/components/binary/passive_gate), - "Volume Pump" = new /datum/pipe_info/pipe(/obj/machinery/atmospherics/components/binary/volume_pump), - "Scrubber" = new /datum/pipe_info/pipe(/obj/machinery/atmospherics/components/unary/vent_scrubber), - "Injector" = new /datum/pipe_info/pipe(/obj/machinery/atmospherics/components/unary/outlet_injector), - "Meter" = new /datum/pipe_info/meter(), - "Gas Filter" = new /datum/pipe_info/pipe(/obj/machinery/atmospherics/components/trinary/filter), - "Gas Mixer" = new /datum/pipe_info/pipe(/obj/machinery/atmospherics/components/trinary/mixer), + new /datum/pipe_info/pipe("Connector", /obj/machinery/atmospherics/components/unary/portables_connector), + new /datum/pipe_info/pipe("Unary Vent", /obj/machinery/atmospherics/components/unary/vent_pump), + new /datum/pipe_info/pipe("Gas Pump", /obj/machinery/atmospherics/components/binary/pump), + new /datum/pipe_info/pipe("Passive Gate", /obj/machinery/atmospherics/components/binary/passive_gate), + new /datum/pipe_info/pipe("Volume Pump", /obj/machinery/atmospherics/components/binary/volume_pump), + new /datum/pipe_info/pipe("Scrubber", /obj/machinery/atmospherics/components/unary/vent_scrubber), + new /datum/pipe_info/pipe("Injector", /obj/machinery/atmospherics/components/unary/outlet_injector), + new /datum/pipe_info/meter("Meter"), + new /datum/pipe_info/pipe("Gas Filter", /obj/machinery/atmospherics/components/trinary/filter), + new /datum/pipe_info/pipe("Gas Mixer", /obj/machinery/atmospherics/components/trinary/mixer), ), "Heat Exchange" = list( - "Pipe" = new /datum/pipe_info/pipe(/obj/machinery/atmospherics/pipe/heat_exchanging/simple), - "Manifold" = new /datum/pipe_info/pipe(/obj/machinery/atmospherics/pipe/heat_exchanging/manifold), - "4-Way Manifold" = new /datum/pipe_info/pipe(/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w), - "Junction" = new /datum/pipe_info/pipe(/obj/machinery/atmospherics/pipe/heat_exchanging/junction), - "Heat Exchanger" = new /datum/pipe_info/pipe(/obj/machinery/atmospherics/components/unary/heat_exchanger), - ), - "Disposal Pipes" = list( - "Pipe" = new /datum/pipe_info/disposal(DISP_PIPE_STRAIGHT, PIPE_BINARY), - "Bent Pipe" = new /datum/pipe_info/disposal(DISP_PIPE_BENT, PIPE_TRINARY), - "Junction" = new /datum/pipe_info/disposal(DISP_JUNCTION, PIPE_TRINARY), - "Y-Junction" = new /datum/pipe_info/disposal(DISP_YJUNCTION, PIPE_TRINARY), - "Trunk" = new /datum/pipe_info/disposal(DISP_END_TRUNK, PIPE_TRINARY), - "Bin" = new /datum/pipe_info/disposal(DISP_END_BIN, PIPE_QUAD), - "Outlet" = new /datum/pipe_info/disposal(DISP_END_OUTLET, PIPE_UNARY), - "Chute" = new /datum/pipe_info/disposal(DISP_END_CHUTE, PIPE_UNARY), - "Sort Junction" = new /datum/pipe_info/disposal(DISP_SORTJUNCTION, PIPE_TRINARY), + new /datum/pipe_info/pipe("Pipe", /obj/machinery/atmospherics/pipe/heat_exchanging/simple), + new /datum/pipe_info/pipe("Manifold", /obj/machinery/atmospherics/pipe/heat_exchanging/manifold), + new /datum/pipe_info/pipe("4-Way Manifold", /obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w), + new /datum/pipe_info/pipe("Junction", /obj/machinery/atmospherics/pipe/heat_exchanging/junction), + new /datum/pipe_info/pipe("Heat Exchanger", /obj/machinery/atmospherics/components/unary/heat_exchanger), ) )) +GLOBAL_LIST_INIT(disposal_pipe_recipes, list( + "Disposal Pipes" = list( + new /datum/pipe_info/disposal("Pipe", /obj/structure/disposalpipe/segment, PIPE_BENDABLE), + new /datum/pipe_info/disposal("Junction", /obj/structure/disposalpipe/junction, PIPE_TRIN_M), + new /datum/pipe_info/disposal("Y-Junction", /obj/structure/disposalpipe/junction/yjunction), + new /datum/pipe_info/disposal("Sort Junction", /obj/structure/disposalpipe/sorting/mail, PIPE_TRIN_M), + new /datum/pipe_info/disposal("Trunk", /obj/structure/disposalpipe/trunk), + new /datum/pipe_info/disposal("Bin", /obj/machinery/disposal/bin, PIPE_ONEDIR), + new /datum/pipe_info/disposal("Outlet", /obj/structure/disposaloutlet), + new /datum/pipe_info/disposal("Chute", /obj/machinery/disposal/deliveryChute), + ) +)) + + +/datum/pipe_info + var/name + var/icon_state + var/id = -1 + var/dirtype = PIPE_BENDABLE + +/datum/pipe_info/proc/Render(dispenser) + var/dat = "
  • [name]
  • " + + // Stationary pipe dispensers don't allow you to pre-select pipe directions. + // This makes it impossble to spawn bent versions of bendable pipes. + // We add a "Bent" pipe type with a preset diagonal direction to work around it. + if(istype(dispenser, /obj/machinery/pipedispenser) && (dirtype == PIPE_BENDABLE || dirtype == /obj/item/pipe/binary/bendable)) + dat += "
  • Bent [name]
  • " + + return dat + +/datum/pipe_info/proc/Params() + return "" + +/datum/pipe_info/proc/get_preview(selected_dir) + var/list/dirs + switch(dirtype) + if(PIPE_STRAIGHT, PIPE_BENDABLE) + dirs = list("[NORTH]" = "Vertical", "[EAST]" = "Horizontal") + if(dirtype == PIPE_BENDABLE) + dirs += list("[NORTHWEST]" = "West to North", "[NORTHEAST]" = "North to East", + "[SOUTHWEST]" = "South to West", "[SOUTHEAST]" = "East to South") + if(PIPE_TRINARY, PIPE_TRIN_M) + dirs = list("[NORTH]" = "West South East", "[EAST]" = "North West South", + "[SOUTH]" = "East North West", "[WEST]" = "South East North") + if(dirtype == PIPE_TRIN_M) + dirs += list("[SOUTHEAST]" = "West South East", "[NORTHEAST]" = "North West South", + "[NORTHWEST]" = "East North West", "[SOUTHWEST]" = "South East North") + if(PIPE_UNARY) + dirs = list("[NORTH]" = "North", "[EAST]" = "East", "[SOUTH]" = "South", "[WEST]" = "West") + if(PIPE_ONEDIR) + dirs = list("[SOUTH]" = name) + + var/list/rows = list() + var/list/row = list("previews" = list()) + var/i = 0 + for(var/dir in dirs) + var/flipped = (dirtype == PIPE_TRIN_M) && (text2num(dir) in GLOB.diagonals) + row["previews"] += list(list("selected" = (text2num(dir) == selected_dir), "dir" = dir2text(text2num(dir)), "dir_name" = dirs[dir], "icon_state" = icon_state, "flipped" = flipped)) + if(i++ || dirtype == PIPE_ONEDIR) + rows += list(row) + row = list("previews" = list()) + i = 0 + + return rows + +/datum/pipe_info/pipe/New(label, obj/machinery/atmospherics/path) + name = label + id = path + icon_state = initial(path.pipe_state) + var/obj/item/pipe/c = initial(path.construction_type) + dirtype = initial(c.RPD_type) + +/datum/pipe_info/pipe/Params() + return "makepipe=[id]&type=[dirtype]" + +/datum/pipe_info/meter + icon_state = "meterX" + dirtype = PIPE_ONEDIR + +/datum/pipe_info/meter/New(label) + name = label + +/datum/pipe_info/meter/Params() + return "makemeter=[id]&type=[dirtype]" + +/datum/pipe_info/disposal/New(label, obj/path, dt=PIPE_UNARY) + name = label + id = path + + icon_state = initial(path.icon_state) + if(ispath(path, /obj/structure/disposalpipe)) + icon_state = "con[icon_state]" + + dirtype = dt + +/datum/pipe_info/disposal/Params() + return "dmake=[id]&type=[dirtype]" + + /obj/item/pipe_dispenser name = "Rapid Piping Device (RPD)" desc = "A device used to rapidly pipe things." @@ -135,29 +160,35 @@ GLOBAL_LIST_INIT(RPD_recipes, list( resistance_flags = FIRE_PROOF var/datum/effect_system/spark_spread/spark_system var/working = 0 - var/p_type = /obj/machinery/atmospherics/pipe/simple - var/p_conntype = PIPE_BENDABLE - var/p_dir = 1 - var/p_flipped = 0 - var/p_class = ATMOS_MODE + var/mode = ATMOS_MODE + var/p_dir = NORTH + var/p_flipped = FALSE var/list/paint_colors = list( - "grey" = rgb(255,255,255), - "red" = rgb(255,0,0), - "blue" = rgb(0,0,255), - "cyan" = rgb(0,256,249), - "green" = rgb(30,255,0), - "yellow" = rgb(255,198,0), - "purple" = rgb(130,43,255) + "Grey" = rgb(255,255,255), + "Red" = rgb(255,0,0), + "Blue" = rgb(0,0,255), + "Cyan" = rgb(0,256,249), + "Green" = rgb(30,255,0), + "Yellow" = rgb(255,198,0), + "Purple" = rgb(130,43,255) ) - var/paint_color="grey" + var/paint_color="Grey" var/screen = CATEGORY_ATMOS //Starts on the atmos tab. var/piping_layer = PIPING_LAYER_DEFAULT + var/datum/pipe_info/recipe + var/static/datum/pipe_info/first_atmos + var/static/datum/pipe_info/first_disposal /obj/item/pipe_dispenser/New() . = ..() spark_system = new /datum/effect_system/spark_spread spark_system.set_up(5, 0, src) spark_system.attach(src) + if(!first_atmos) + first_atmos = GLOB.atmos_pipe_recipes[GLOB.atmos_pipe_recipes[1]][1] + if(!first_disposal) + first_disposal = GLOB.disposal_pipe_recipes[GLOB.disposal_pipe_recipes[1]][1] + recipe = first_atmos /obj/item/pipe_dispenser/Destroy() qdel(spark_system) @@ -165,7 +196,7 @@ GLOBAL_LIST_INIT(RPD_recipes, list( return ..() /obj/item/pipe_dispenser/attack_self(mob/user) - show_menu(user) + ui_interact(user) /obj/item/pipe_dispenser/suicide_act(mob/user) user.visible_message("[user] points the end of the RPD down [user.p_their()] throat and presses a button! It looks like [user.p_theyre()] trying to commit suicide...") @@ -173,371 +204,85 @@ GLOBAL_LIST_INIT(RPD_recipes, list( playsound(get_turf(user), 'sound/items/deconstruct.ogg', 50, 1) return(BRUTELOSS) -/obj/item/pipe_dispenser/proc/render_dir_img(_dir,pic,title,flipped=0) - var/selected=" class=\"imglink\"" - if(_dir == p_dir) - selected=" class=\"imglink selected\"" - return "" +/obj/item/pipe_dispenser/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \ + datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) + if(!ui) + var/datum/asset/assets = get_asset_datum(/datum/asset/simple/icon_states/multiple_icons/pipes) + assets.send(user) -/obj/item/pipe_dispenser/proc/show_menu(mob/user) - if(!user || !src) - return 0 - var/dat = {"

    Type

    -Utilities: -
      "} - if(p_class != EATING_MODE) - dat += "
    • Eat Pipes
    • " - else - dat += "
    • Eat Pipes
    • " - if(p_class != PAINT_MODE) - dat += "
    • Paint Pipes
    • " - else - dat += "
    • Paint Pipes
    • " - dat += "
    " + ui = new(user, src, ui_key, "rpd", name, 300, 550, master_ui, state) + ui.open() - dat += "Category:
      " - if(screen == CATEGORY_ATMOS) - dat += "Atmospherics Disposals
      " - else if(screen == CATEGORY_DISPOSALS) - dat += "Atmospherics Disposals
      " - var/generated_layer_list = "" - var/layers_total = PIPING_LAYER_MAX - PIPING_LAYER_MIN + 1 - for(var/iter = PIPING_LAYER_MIN, iter <= layers_total, iter++) - if(iter == piping_layer) - generated_layer_list += "[iter]" - else - generated_layer_list += "[iter]" - dat += "Atmospherics Piping Layer: [generated_layer_list]
      " - dat += "
    " +/obj/item/pipe_dispenser/ui_data(mob/user) + var/list/data = list( + "mode" = mode, + "screen" = screen, + "piping_layer" = piping_layer, + "preview_rows" = recipe.get_preview(p_dir), + "categories" = list(), + "paint_colors" = list() + ) - var/icon/preview=null - var/datbuild = "" - for(var/category in GLOB.RPD_recipes) - var/list/cat = GLOB.RPD_recipes[category] - for(var/label in cat) - var/datum/pipe_info/I = cat[label] - var/found=0 - if(I.id == p_type) - if((p_class == ATMOS_MODE || p_class == METER_MODE) && (istype(I, /datum/pipe_info/pipe) || istype(I, /datum/pipe_info/meter))) - found=1 - else if(p_class == DISPOSALS_MODE && istype(I, /datum/pipe_info/disposal)) - found=1 - if(found) - preview=new /icon(I.icon,I.icon_state) - if(screen == I.categoryId) - if(I.id == p_type && p_class >= 0) - datbuild += "[label]" - else - datbuild += I.Render(src,label) + var/list/recipes + if(screen == ATMOS_MODE) + recipes = GLOB.atmos_pipe_recipes + else if(screen == DISPOSALS_MODE) + recipes = GLOB.disposal_pipe_recipes + for(var/c in recipes) + var/list/cat = recipes[c] + var/list/r = list() + for(var/i in 1 to cat.len) + var/datum/pipe_info/info = cat[i] + r += list(list("pipe_name" = info.name, "pipe_index" = i, "selected" = (info == recipe))) + data["categories"] += list(list("cat_name" = c, "recipes" = r)) - if(length(datbuild) > 0) - dat += "[category]:
      " - dat += datbuild - datbuild = "" - dat += "
    " + data["paint_colors"] = list() + for(var/c in paint_colors) + data["paint_colors"] += list(list("color_name" = c, "color_hex" = paint_colors[c], "selected" = (c == paint_color))) - var/color_css="" - var/color_picker="" - for(var/color_name in paint_colors) - var/color=paint_colors[color_name] - color_css += {" - a.color.[color_name] { - color: [color]; - } - a.color.[color_name]:hover { - border:1px solid [color]; - } - a.color.[color_name].selected { - background-color: [color]; - } - "} - var/selected="" - if(color_name==paint_color) - selected = " selected" - color_picker += {""} + return data - var/dirsel="

    Direction

    " - switch(p_conntype) - if(-1) - if(p_class==PAINT_MODE) - dirsel = "

    Color

    [color_picker]" - else - dirsel = "" - - if(PIPE_BINARY) // Straight, N-S, W-E - if(preview) - user << browse_rsc(new /icon(preview, dir=NORTH), "vertical.png") - user << browse_rsc(new /icon(preview, dir=EAST), "horizontal.png") - - dirsel += "

    " - dirsel += render_dir_img(1,"vertical.png","Vertical") - dirsel += render_dir_img(4,"horizontal.png","Horizontal") - dirsel += "

    " - else - dirsel+={" -

    - - -

    - "} - - if(PIPE_BENDABLE) // Bent, N-W, N-E etc - if(preview) - user << browse_rsc(new /icon(preview, dir=NORTH), "vertical.png") - user << browse_rsc(new /icon(preview, dir=EAST), "horizontal.png") - user << browse_rsc(new /icon(preview, dir=NORTHWEST), "nw.png") - user << browse_rsc(new /icon(preview, dir=NORTHEAST), "ne.png") - user << browse_rsc(new /icon(preview, dir=SOUTHWEST), "sw.png") - user << browse_rsc(new /icon(preview, dir=SOUTHEAST), "se.png") - - dirsel += "

    " - dirsel += render_dir_img(1,"vertical.png","Vertical") - dirsel += render_dir_img(4,"horizontal.png","Horizontal") - dirsel += "
    " - dirsel += render_dir_img(9,"nw.png","West to North") - dirsel += render_dir_img(5,"ne.png","North to East") - dirsel += "
    " - dirsel += render_dir_img(10,"sw.png","South to West") - dirsel += render_dir_img(6,"se.png","East to South") - dirsel += "

    " - else - dirsel+={" -

    - - -
    - - -
    - - -

    - "} - if(PIPE_TRINARY) // Manifold - if(preview) - user << browse_rsc(new /icon(preview, dir=NORTH), "s.png") - user << browse_rsc(new /icon(preview, dir=EAST), "w.png") - user << browse_rsc(new /icon(preview, dir=SOUTH), "n.png") - user << browse_rsc(new /icon(preview, dir=WEST), "e.png") - - dirsel += "

    " - dirsel += render_dir_img(1,"s.png","West South East") - dirsel += render_dir_img(4,"w.png","North West South") - dirsel += "
    " - dirsel += render_dir_img(2,"n.png","East North West") - dirsel += render_dir_img(8,"e.png","South East North") - dirsel += "

    " - else - dirsel+={" -

    - - -
    - - -

    - "} - if(PIPE_TRIN_M) // Mirrored ones - if(preview) - user << browse_rsc(new /icon(preview, dir=NORTH), "s.png") - user << browse_rsc(new /icon(preview, dir=EAST), "w.png") - user << browse_rsc(new /icon(preview, dir=SOUTH), "n.png") - user << browse_rsc(new /icon(preview, dir=WEST), "e.png") - user << browse_rsc(new /icon(preview, dir=SOUTHEAST), "sm.png") //each mirror icon is 45 anticlockwise from it's real direction - user << browse_rsc(new /icon(preview, dir=NORTHEAST), "wm.png") - user << browse_rsc(new /icon(preview, dir=NORTHWEST), "nm.png") - user << browse_rsc(new /icon(preview, dir=SOUTHWEST), "em.png") - - dirsel += "

    " - dirsel += render_dir_img(1,"s.png","West South East") - dirsel += render_dir_img(4,"w.png","North West South") - dirsel += "
    " - dirsel += render_dir_img(2,"n.png","East North West") - dirsel += render_dir_img(8,"e.png","South East North") - dirsel += "
    " - dirsel += render_dir_img(6,"sm.png","West South East", 1) - dirsel += render_dir_img(5,"wm.png","North West South", 1) - dirsel += "
    " - dirsel += render_dir_img(9,"nm.png","East North West", 1) - dirsel += render_dir_img(10,"em.png","South East North", 1) - dirsel += "

    " - else - dirsel+={" -

    - - -
    - - -
    - - -
    - - -

    - "} - if(PIPE_UNARY) // Stuff with four directions - includes pumps etc. - if(preview) - user << browse_rsc(new /icon(preview, dir=NORTH), "n.png") - user << browse_rsc(new /icon(preview, dir=EAST), "e.png") - user << browse_rsc(new /icon(preview, dir=SOUTH), "s.png") - user << browse_rsc(new /icon(preview, dir=WEST), "w.png") - - dirsel += "

    " - dirsel += render_dir_img(NORTH,"n.png","North") - dirsel += render_dir_img(EAST, "e.png","East") - dirsel += render_dir_img(SOUTH,"s.png","South") - dirsel += render_dir_img(WEST, "w.png","West") - dirsel += "

    " - else - dirsel+={" -

    - - - - -

    - "} - if(PIPE_QUAD) // Single icon_state (eg 4-way manifolds) - if(preview) - user << browse_rsc(new /icon(preview), "pipe.png") - - dirsel += "

    " - dirsel += render_dir_img(1,"pipe.png","Pipe") - dirsel += "

    " - else - dirsel+={" -

    - -

    - "} - - - var/datsytle = {" -"} - - dat = datsytle + dirsel + dat - - var/datum/browser/popup = new(user, "pipedispenser", name, 300, 550) - popup.set_content(dat) - popup.open() - return - -/obj/item/pipe_dispenser/Topic(href, href_list) - if(!usr.canUseTopic(src)) - usr << browse(null, "window=pipedispenser") +/obj/item/pipe_dispenser/ui_act(action, params) + if(..()) return - usr.set_machine(src) - add_fingerprint(usr) - if(href_list["screen"]) - screen = text2num(href_list["screen"]) - show_menu(usr) - - if(href_list["setdir"]) - p_dir= text2num(href_list["setdir"]) - p_flipped = text2num(href_list["flipped"]) - show_menu(usr) - - if(href_list["setlayer"]) - if(!isnum(href_list["setlayer"])) - piping_layer = text2num(href_list["setlayer"]) - else - piping_layer = href_list["setlayer"] - show_menu(usr) - - if(href_list["eatpipes"]) - p_class = EATING_MODE - p_conntype=-1 - p_dir=1 + if(!usr.canUseTopic(src)) + return + var/playeffect = TRUE + switch(action) + if("color") + paint_color = params["paint_color"] + if("mode") + mode = text2num(params["mode"]) + if("screen") + if(mode == screen) + mode = text2num(params["screen"]) + screen = text2num(params["screen"]) + recipe = screen == DISPOSALS_MODE ? first_disposal : first_atmos + p_dir = NORTH + playeffect = FALSE + if("piping_layer") + piping_layer = text2num(params["piping_layer"]) + playeffect = FALSE + if("pipe_type") + var/static/list/recipes + if(!recipes) + recipes = GLOB.disposal_pipe_recipes + GLOB.atmos_pipe_recipes + recipe = recipes[params["category"]][text2num(params["pipe_type"])] + p_dir = NORTH + if("setdir") + p_dir = text2dir(params["dir"]) + p_flipped = text2num(params["flipped"]) + playeffect = FALSE + if(playeffect) spark_system.start() playsound(get_turf(src), 'sound/effects/pop.ogg', 50, 0) - show_menu(usr) - - if(href_list["paintpipes"]) - p_class = PAINT_MODE - p_conntype = -1 - p_dir = 1 - spark_system.start() - playsound(get_turf(src), 'sound/effects/pop.ogg', 50, 0) - show_menu(usr) - - if(href_list["set_color"]) - paint_color = href_list["set_color"] - spark_system.start() - playsound(get_turf(src), 'sound/effects/pop.ogg', 50, 0) - show_menu(usr) - - if(href_list["makepipe"]) - p_type = text2path(href_list["makepipe"]) - p_dir = text2num(href_list["dir"]) - var/obj/item/pipe/path = text2path(href_list["type"]) - p_conntype = initial(path.RPD_type) - p_class = ATMOS_MODE - spark_system.start() - playsound(get_turf(src), 'sound/effects/pop.ogg', 50, 0) - show_menu(usr) - - if(href_list["makemeter"]) - p_class = METER_MODE - p_conntype = -1 - p_dir = 1 - spark_system.start() - playsound(get_turf(src), 'sound/effects/pop.ogg', 50, 0) - show_menu(usr) - - if(href_list["dmake"]) - p_type = text2num(href_list["dmake"]) - p_conntype = text2num(href_list["type"]) - p_dir = 1 - p_class = DISPOSALS_MODE - spark_system.start() - playsound(get_turf(src), 'sound/effects/pop.ogg', 50, 0) - show_menu(usr) - /obj/item/pipe_dispenser/pre_attackby(atom/A, mob/user) if(!user.IsAdvancedToolUser() || istype(A, /turf/open/space/transit)) return ..() - var/atmos_piping_mode = p_class == ATMOS_MODE || p_class == METER_MODE + var/atmos_piping_mode = mode == ATMOS_MODE || mode == METER_MODE var/temp_piping_layer if(atmos_piping_mode) if(istype(A, /obj/machinery/atmospherics)) @@ -545,22 +290,23 @@ GLOBAL_LIST_INIT(RPD_recipes, list( temp_piping_layer = AM.piping_layer A = get_turf(user) - //make sure what we're clicking is valid for the current mode - var/is_paintable = (p_class == PAINT_MODE && istype(A, /obj/machinery/atmospherics/pipe)) - var/is_consumable = (p_class == EATING_MODE && (istype(A, /obj/item/pipe) || istype(A, /obj/item/pipe_meter) || istype(A, /obj/structure/disposalconstruct))) - var/can_make_pipe = ((atmos_piping_mode || p_class == DISPOSALS_MODE) && (isturf(A)) || istype(A, /obj/structure/lattice/catwalk) || istype(A, /obj/structure/girder)) + var/static/list/make_pipe_whitelist + if(!make_pipe_whitelist) + make_pipe_whitelist = list(/obj/structure/lattice, /obj/structure/girder, /obj/item/pipe) - if(!is_paintable && !is_consumable && !can_make_pipe) - return ..() + //make sure what we're clicking is valid for the current mode + var/can_make_pipe = (atmos_piping_mode || mode == DISPOSALS_MODE) && (isturf(A) || is_type_in_list(A, make_pipe_whitelist)) //So that changing the menu settings doesn't affect the pipes already being built. - var/queued_p_type = p_type + var/queued_p_type = recipe.id var/queued_p_dir = p_dir var/queued_p_flipped = p_flipped . = FALSE - switch(p_class) //if we've gotten this var, the target is valid + switch(mode) //if we've gotten this var, the target is valid if(PAINT_MODE) //Paint pipes + if(!istype(A, /obj/machinery/atmospherics/pipe)) + return ..() var/obj/machinery/atmospherics/pipe/P = A playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1) P.paint(paint_colors[paint_color]) @@ -568,6 +314,8 @@ GLOBAL_LIST_INIT(RPD_recipes, list( return if(EATING_MODE) //Eating pipes + if(!(istype(A, /obj/item/pipe) || istype(A, /obj/item/pipe_meter) || istype(A, /obj/structure/disposalconstruct))) + return ..() to_chat(user, "You start destroying a pipe...") playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1) if(do_after(user, 2, target = A)) @@ -575,40 +323,53 @@ GLOBAL_LIST_INIT(RPD_recipes, list( qdel(A) if(ATMOS_MODE) //Making pipes + if(!can_make_pipe) + return ..() to_chat(user, "You start building a pipe...") playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1) if(do_after(user, 2, target = A)) activate() - var/obj/item/pipe/P = new(A, queued_p_type, queued_p_dir) + + var/obj/machinery/atmospherics/path = queued_p_type + var/pipe_item_type = initial(path.construction_type) || /obj/item/pipe + + var/obj/item/pipe/P = new pipe_item_type(A, queued_p_type, queued_p_dir) + if(queued_p_flipped) var/obj/item/pipe/trinary/flippable/F = P F.flipped = queued_p_flipped + P.update() P.add_fingerprint(usr) if(!isnull(temp_piping_layer)) P.setPipingLayer(temp_piping_layer) else P.setPipingLayer(piping_layer) + P.add_atom_colour(paint_colors[paint_color], FIXED_COLOUR_PRIORITY) if(METER_MODE) //Making pipe meters + if(!can_make_pipe) + return ..() to_chat(user, "You start building a meter...") playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1) if(do_after(user, 2, target = A)) activate() - var/obj/item/pipe_meter/PM = new /obj/item/pipe_meter(A) + var/obj/item/pipe_meter/PM = new /obj/item/pipe_meter(get_turf(A)) if(!isnull(temp_piping_layer)) PM.setAttachLayer(temp_piping_layer) else PM.setAttachLayer(piping_layer) if(DISPOSALS_MODE) //Making disposals pipes + if(!can_make_pipe) + return ..() if(isclosedturf(A)) - to_chat(user, "\the [src]'s error light flickers; there's something in the way!") + to_chat(user, "[src]'s error light flickers; there's something in the way!") return to_chat(user, "You start building a disposals pipe...") playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1) if(do_after(user, 4, target = A)) - var/obj/structure/disposalconstruct/C = new (A, queued_p_type ,queued_p_dir) + var/obj/structure/disposalconstruct/C = new (A, queued_p_type, queued_p_dir, queued_p_flipped) if(!C.can_place()) to_chat(user, "There's not enough room to build that here!") diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index cd63cb0951..2bccc46740 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -3,16 +3,6 @@ #define AREA_SPACE 2 #define AREA_SPECIAL 3 -#define BORDER_ERROR 0 -#define BORDER_NONE 1 -#define BORDER_BETWEEN 2 -#define BORDER_2NDTILE 3 -#define BORDER_SPACE 4 - -#define ROOM_ERR_LOLWAT 0 -#define ROOM_ERR_SPACE 1 -#define ROOM_ERR_TOOLARGE 2 - /obj/item/areaeditor name = "area modification item" icon = 'icons/obj/items_and_weapons.dmi' @@ -22,16 +12,15 @@ /obj/item/areaeditor/attack_self(mob/user) add_fingerprint(user) - var/text = "[src] \ + . = "[src] \

    [station_name()] [src.name]

    \ [fluffnotice]
    " switch(get_area_type()) if(AREA_SPACE) - text += "

    According to the [src.name], you are now in an unclaimed territory.

    \ -

    Mark this place as new area.

    " + . += "

    According to the [src.name], you are now in an unclaimed territory.

    " if(AREA_SPECIAL) - text += "

    This place is not noted on the [src.name].

    " - return text + . += "

    This place is not noted on the [src.name].

    " + . += "

    Create or modify an existing area

    " /obj/item/areaeditor/Topic(href, href_list) @@ -41,8 +30,7 @@ usr << browse(null, "window=blueprints") return if(href_list["create_area"]) - if(get_area_type()==AREA_SPACE) - create_area(usr) + create_area(usr) updateUsrDialog() //Station blueprints!!! @@ -69,20 +57,20 @@ var/area/A = get_area() if(get_area_type() == AREA_STATION) . += "

    According to \the [src], you are now in \"[html_encode(A.name)]\".

    " - . += "

    You may make an amendment to the drawing.

    " - . += "

    View wire colour legend

    " + . += "

    Change area name

    " + . += "

    View wire colour legend

    " if(!viewing) - . += "

    View structural data

    " + . += "

    View structural data

    " else - . += "

    Refresh structural data

    " - . += "

    Hide structural data

    " + . += "

    Refresh structural data

    " + . += "

    Hide structural data

    " else if(legend == TRUE) - . += "<< Back" + . += "<< Back" . += view_wire_devices(user); else //legend is a wireset - . += "<< Back" + . += "<< Back" . += view_wire_set(user, legend) var/datum/browser/popup = new(user, "blueprints", "[src]", 700, 500) popup.set_content(.) @@ -169,7 +157,7 @@ /obj/item/areaeditor/blueprints/proc/view_wire_devices(mob/user) var/message = "
    You examine the wire legend.
    " for(var/wireset in GLOB.wire_color_directory) - message += "
    [GLOB.wire_name_directory[wireset]]" + message += "
    [GLOB.wire_name_directory[wireset]]" message += "

    " return message @@ -186,63 +174,6 @@ return message return "" -/proc/create_area(mob/living/creator) - var/res = detect_room(get_turf(creator)) - if(!islist(res)) - switch(res) - if(ROOM_ERR_SPACE) - to_chat(creator, "The new area must be completely airtight.") - return - if(ROOM_ERR_TOOLARGE) - to_chat(creator, "The new area is too large.") - return - else - to_chat(creator, "Error! Please notify administration.") - return - - var/list/turfs = res - var/str = trim(stripped_input(creator,"New area name:", "Blueprint Editing", "", MAX_NAME_LEN)) - if(!str || !length(str)) //cancel - return - if(length(str) > 50) - to_chat(creator, "The given name is too long. The area remains undefined.") - return - var/area/old = get_area(get_turf(creator)) - var/old_gravity = old.has_gravity - - var/area/A - for(var/key in turfs) - if(key == str) - A = turfs[key] - if(turfs[key]) - turfs -= turfs[key] - turfs -= key - if(A) - A.set_dynamic_lighting() - for (var/turf/T in turfs) - var/area/old_area = T.loc - A.contents += T - T.change_area(old_area, T) - - else - A = new - A.setup(str) - A.set_dynamic_lighting() - for (var/turf/T in turfs) - var/area/old_area = T.loc - A.contents += T - T.change_area(old_area, T) - A.has_gravity = old_gravity - - for(var/area/RA in old.related) - if(RA.firedoors) - for(var/D in RA.firedoors) - var/obj/machinery/door/firedoor/FD = D - FD.CalculateAffectingAreas() - - to_chat(creator, "You have created a new area, named [str]. It is now weather proof, and constructing an APC will allow it to be powered.") - return 1 - /obj/item/areaeditor/proc/edit_area() var/area/A = get_area() var/prevname = "[A.name]" @@ -280,82 +211,6 @@ M.name = replacetext(M.name,oldtitle,title) //TODO: much much more. Unnamed airlocks, cameras, etc. - -/turf/proc/check_tile_is_border() - return BORDER_NONE - -/turf/open/space/check_tile_is_border() - return BORDER_SPACE - -/turf/closed/check_tile_is_border() - return BORDER_2NDTILE - -/turf/open/check_tile_is_border() - for(var/atom/movable/AM in src) - if(!CANATMOSPASS(AM, src)) - return BORDER_2NDTILE - - return BORDER_NONE - -/turf/closed/mineral/check_tile_is_border() - return BORDER_NONE - -/proc/detect_room(turf/first) - var/list/turf/found = new - var/list/turf/pending = list(first) - var/list/border = list() - while(pending.len) - if (found.len+pending.len > 300) - return ROOM_ERR_TOOLARGE - var/turf/T = pending[1] //why byond havent list::pop()? - pending -= T - for (var/dir in GLOB.cardinals) - var/skip = 0 - for (var/obj/structure/window/W in T) - if(dir == W.dir || (W.dir in list(NORTHEAST,SOUTHEAST,NORTHWEST,SOUTHWEST))) - skip = 1 - break - if (skip) - continue - for(var/obj/machinery/door/window/D in T) - if(dir == D.dir) - skip = 1 - break - if (skip) - continue - - var/turf/NT = get_step(T,dir) - if (!isturf(NT) || (NT in found) || (NT in pending)) - continue - - switch(NT.check_tile_is_border()) - if(BORDER_NONE) - pending+=NT - if(BORDER_BETWEEN) - var/area/A = NT.loc - if(!found[A.name]) - found[A.name] = NT.loc - if(BORDER_2NDTILE) - border[NT] += dir - if(BORDER_SPACE) - return ROOM_ERR_SPACE - found+=T - - for(var/V in border) //lazy but works - var/turf/F = V - for(var/direction in GLOB.cardinals) - if(direction == border[F]) - continue //don't want to grab turfs from outside the border - var/turf/U = get_step(F, direction) - if((U in border) || (U in found)) - continue - if(U.check_tile_is_border() == BORDER_2NDTILE) - found += U - found |= F - return found - - - //Blueprint Subtypes /obj/item/areaeditor/blueprints/cyborg diff --git a/code/game/objects/items/charter.dm b/code/game/objects/items/charter.dm index 04ae5d9508..2527b573d3 100644 --- a/code/game/objects/items/charter.dm +++ b/code/game/objects/items/charter.dm @@ -59,7 +59,7 @@ to_chat(user, "Your name has been sent to your employers for approval.") // Autoapproves after a certain time response_timer_id = addtimer(CALLBACK(src, .proc/rename_station, new_name, user.name, user.real_name, key_name(user)), approval_time, TIMER_STOPPABLE) - to_chat(GLOB.admins, "CUSTOM STATION RENAME:[ADMIN_LOOKUPFLW(user)] proposes to rename the [name_type] to [new_name] (will autoapprove in [DisplayTimeText(approval_time)]). [ADMIN_SMITE(user)] (REJECT) [ADMIN_CENTCOM_REPLY(user)]") + to_chat(GLOB.admins, "CUSTOM STATION RENAME:[ADMIN_LOOKUPFLW(user)] proposes to rename the [name_type] to [new_name] (will autoapprove in [DisplayTimeText(approval_time)]). [ADMIN_SMITE(user)] (REJECT) [ADMIN_CENTCOM_REPLY(user)]") /obj/item/station_charter/proc/reject_proposed(user) if(!user) diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index 915279d7fb..ade619ec6b 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -301,6 +301,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM item_state = "spliffoff" smoketime = 180 chem_volume = 50 + list_reagents = null /obj/item/clothing/mask/cigarette/rollie/New() ..() diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 7576824747..0e816a6634 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -193,6 +193,19 @@ /obj/item/stack/cable_coil = 1, /obj/item/stock_parts/subspace/filter = 1) +/obj/item/circuitboard/machine/exonet_node + name = "Exonet Node(machine board)" + build_path = /obj/machinery/exonet_node + origin_tech = "programming=3;engineering=4;bluespace=3;materials=3" + req_components = list( + /obj/item/stock_parts/subspace/ansible = 1, + /obj/item/stock_parts/subspace/filter = 1, + /obj/item/stock_parts/manipulator = 2, + /obj/item/stock_parts/micro_laser = 1, + /obj/item/stock_parts/subspace/crystal = 1, + /obj/item/stock_parts/subspace/treatment = 2, + /obj/item/stack/cable_coil = 2) + /obj/item/circuitboard/machine/teleporter_hub name = "Teleporter Hub (Machine Board)" build_path = /obj/machinery/teleport/hub diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 68e1826719..7b2d730daf 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -144,10 +144,11 @@ ui.open() /obj/item/toy/crayon/spraycan/AltClick(mob/user) - if(has_cap) - is_capped = !is_capped - to_chat(user, "The cap on [src] is now [is_capped ? "on" : "off"].") - update_icon() + if(user.canUseTopic(src, be_close=TRUE)) + if(has_cap) + is_capped = !is_capped + to_chat(user, "The cap on [src] is now [is_capped ? "on" : "off"].") + update_icon() /obj/item/toy/crayon/ui_data() var/list/data = list() diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 578bf16982..244e82ee77 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -167,18 +167,18 @@ GLOBAL_LIST_EMPTY(PDAs) var/dat = "Personal Data Assistant" - dat += "Refresh" + dat += "Refresh" if ((!isnull(cartridge)) && (mode == 0)) - dat += " | Eject [cartridge]" + dat += " | Eject [cartridge]" if (mode) - dat += " | Return" + dat += " | Return" if (mode == 0) dat += "
    " - dat += "
    Toggle Font" - dat += " | Change Color" - dat += " | Toggle Underline" //underline button + dat += "
    Toggle Font" + dat += " | Change Color" + dat += " | Toggle Underline" //underline button dat += "
    " @@ -186,14 +186,14 @@ GLOBAL_LIST_EMPTY(PDAs) if (!owner) dat += "Warning: No owner information entered. Please swipe card.

    " - dat += "Retry" + dat += "Retry" else switch (mode) if (0) dat += "

    PERSONAL DATA ASSISTANT v.1.2

    " dat += "Owner: [owner], [ownjob]
    " - dat += text("ID: [id ? "[id.registered_name], [id.assignment]" : "----------"]") - dat += text("
    [id ? "Update PDA Info" : ""]

    ") + dat += text("ID: [id ? "[id.registered_name], [id.assignment]" : "----------"]") + dat += text("
    [id ? "Update PDA Info" : ""]

    ") dat += "[worldtime2text()]
    " //:[world.time / 100 % 6][world.time / 100 % 10]" dat += "[time2text(world.realtime, "MMM DD")] [GLOB.year_integer+540]" @@ -202,38 +202,38 @@ GLOBAL_LIST_EMPTY(PDAs) dat += "

    General Functions

    " dat += "" if (cartridge.access & CART_ENGINE) dat += "

    Engineering Functions

    " dat += "" if (cartridge.access & CART_MEDICAL) dat += "

    Medical Functions

    " dat += "" if (cartridge.access & CART_SECURITY) dat += "

    Security Functions

    " dat += "" if(cartridge.access & CART_QUARTERMASTER) dat += "

    Quartermaster Functions:

    " dat += "" dat += "" @@ -241,47 +241,47 @@ GLOBAL_LIST_EMPTY(PDAs) dat += "" if (1) dat += "

    Notekeeper V2.2

    " - dat += "Edit
    " + dat += "Edit
    " if(notescanned) dat += "(This is a scanned image, editing it may cause some text formatting to change.)
    " dat += "
    [(!notehtml ? note : notehtml)]" if (2) dat += "

    SpaceMessenger V3.9.6

    " - dat += "Ringer: [silent == 1 ? "Off" : "On"] | " - dat += "Send / Receive: [toff == 1 ? "Off" : "On"] | " - dat += "Set Ringtone | " - dat += "Messages
    " + dat += "Ringer: [silent == 1 ? "Off" : "On"] | " + dat += "Send / Receive: [toff == 1 ? "Off" : "On"] | " + dat += "Set Ringtone | " + dat += "Messages
    " if(cartridge) dat += cartridge.message_header() @@ -295,7 +295,7 @@ GLOBAL_LIST_EMPTY(PDAs) for (var/obj/item/device/pda/P in sortNames(get_viewable_pdas())) if (P == src) continue - dat += "
  • [P]" + dat += "
  • [P]" if(cartridge) dat += cartridge.message_special(P) dat += "
  • " @@ -304,11 +304,11 @@ GLOBAL_LIST_EMPTY(PDAs) if (count == 0) dat += "None detected.
    " else if(cartridge && cartridge.spam_enabled) - dat += "Send To All" + dat += "Send To All" if(21) dat += "

    SpaceMessenger V3.9.6

    " - dat += "Clear Messages" + dat += "Clear Messages" dat += "

    Messages

    " @@ -633,7 +633,7 @@ GLOBAL_LIST_EMPTY(PDAs) tnote += "→ To [multiple ? "Everyone" : msg.recipient]:
    [msg.message][msg.get_photo_ref()]
    " /obj/item/device/pda/proc/show_recieved_message(datum/data_pda_msg/msg,obj/item/device/pda/source) - tnote += "← From [source.owner] ([source.ownjob]):
    [msg.message][msg.get_photo_ref()]
    " + tnote += "← From [source.owner] ([source.ownjob]):
    [msg.message][msg.get_photo_ref()]
    " if (!silent) playsound(loc, 'sound/machines/twobeep.ogg', 50, 1) @@ -651,10 +651,10 @@ GLOBAL_LIST_EMPTY(PDAs) var/hrefstart var/hrefend if (isAI(L)) - hrefstart = "" + hrefstart = "" hrefend = "" - to_chat(L, "[icon2html(src)] Message from [hrefstart][source.owner] ([source.ownjob])[hrefend], \"[msg.message]\"[msg.get_photo_ref()] (Reply)") + to_chat(L, "[icon2html(src)] Message from [hrefstart][source.owner] ([source.ownjob])[hrefend], \"[msg.message]\"[msg.get_photo_ref()] (Reply)") update_icon() add_overlay(icon_alert) diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index 92acb36982..1e2d00706f 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -229,20 +229,20 @@ menu = "

    Remote Signaling System

    " menu += {" -Send Signal
    +Send Signal
    Frequency: -- -- +- +- [format_frequency(S.frequency)] -+ -+
    ++ ++

    Code: -- -- +- +- [S.code] -+ -+
    "} ++ ++
    "} if (41) //crew manifest menu = "

    Crew Manifest

    " @@ -256,15 +256,15 @@ Code: if (42) //status displays menu = "

    Station Status Display Interlink

    " - menu += "\[ Clear \]
    " - menu += "\[ Shuttle ETA \]
    " - menu += "\[ Message \]" - menu += "
    " - menu += "\[ Alert: None |" - menu += " Red Alert |" - menu += " Lockdown |" - menu += " Biohazard \]
    " + menu += "\[ Clear \]
    " + menu += "\[ Shuttle ETA \]
    " + menu += "\[ Message \]" + menu += "
    " + menu += "\[ Alert: None |" + menu += " Red Alert |" + menu += " Lockdown |" + menu += " Biohazard \]
    " if (43) menu = "

    Power Monitors - Please select one


    " @@ -288,7 +288,7 @@ Code: var/count = 0 for(var/obj/machinery/computer/monitor/pMon in powermonitors) count++ - menu += "[pMon]
    " + menu += "[pMon]
    " menu += "
    " @@ -323,7 +323,7 @@ Code: menu = "

    Medical Record List

    " if(GLOB.data_core.general) for(var/datum/data/record/R in sortRecord(GLOB.data_core.general)) - menu += "[R.fields["id"]]: [R.fields["name"]]
    " + menu += "
    [R.fields["id"]]: [R.fields["name"]]
    " menu += "
    " if(441) menu = "

    Medical Record

    " @@ -366,7 +366,7 @@ Code: menu = "

    Security Record List

    " if(GLOB.data_core.general) for (var/datum/data/record/R in sortRecord(GLOB.data_core.general)) - menu += "
    [R.fields["id"]]: [R.fields["name"]]
    " + menu += "
    [R.fields["id"]]: [R.fields["name"]]
    " menu += "
    " if(451) @@ -505,7 +505,7 @@ Code: menu += "

    Located Cleanbots:

    " ldat = null - for (var/mob/living/simple_animal/bot/cleanbot/B in GLOB.living_mob_list) + for (var/mob/living/simple_animal/bot/cleanbot/B in GLOB.alive_mob_list) var/turf/bl = get_turf(B) if(bl) @@ -521,11 +521,11 @@ Code: else menu += "ERROR: Unable to determine current location." - menu += "

    Refresh GPS Locator" + menu += "

    Refresh GPS Locator" if (53) // Newscaster menu = "

    Newscaster Access

    " - menu += "
    Current Newsfeed: [current_channel ? current_channel : "None"]
    " + menu += "
    Current Newsfeed: [current_channel ? current_channel : "None"]
    " var/datum/newscaster/feed_channel/current for(var/datum/newscaster/feed_channel/chan in GLOB.news_network.network_channels) if (chan.channel_name == current_channel) @@ -543,7 +543,7 @@ Code: i++ for(var/datum/newscaster/feed_comment/comment in msg.comments) menu +="[comment.body]
    [comment.author] [comment.time_stamp]
    " - menu += "
    Post Message" + menu += "
    Post Message" if (54) // Beepsky, Medibot, Floorbot, and Cleanbot access menu = "

    Bots Interlink

    " @@ -673,7 +673,7 @@ Code: // menu = "Interlink Error - Please reinsert cartridge." // return if(active_bot) - menu += "[active_bot]
    Status: (refresh)
    " + menu += "[active_bot]
    Status: (refresh)
    " menu += "Model: [active_bot.model]
    " menu += "Location: [get_area(active_bot)]
    " menu += "Mode: [active_bot.get_mode()]" @@ -682,7 +682,7 @@ Code: if(active_bot.paicard && active_bot.paicard.pai) menu += "[active_bot.paicard.pai.name]" if(active_bot.bot_core.allowed(usr)) - menu += " (eject)" + menu += " (eject)" else menu += "none" @@ -690,35 +690,35 @@ Code: if(active_bot.bot_type == MULE_BOT) var/mob/living/simple_animal/bot/mulebot/MULE = active_bot var/atom/Load = MULE.load - menu += "
    Current Load: [ !Load ? "none" : "[Load.name] (unload)" ]
    " - menu += "Destination: [MULE.destination ? MULE.destination : "None"] (set)
    " - menu += "Set ID: [MULE.suffix] Modify
    " + menu += "
    Current Load: [ !Load ? "none" : "[Load.name] (unload)" ]
    " + menu += "Destination: [MULE.destination ? MULE.destination : "None"] (set)
    " + menu += "Set ID: [MULE.suffix] Modify
    " menu += "Power: [MULE.cell ? MULE.cell.percent() : 0]%
    " menu += "Home: [!MULE.home_destination ? "none" : MULE.home_destination ]
    " - menu += "Delivery Reporting: [MULE.report_delivery ? "(On)": "(Off)"]
    " - menu += "Auto Return Home: [MULE.auto_return ? "(On)": "(Off)"]
    " - menu += "Auto Pickup Crate: [MULE.auto_pickup ? "(On)": "(Off)"]

    " //Hue. + menu += "Delivery Reporting: [MULE.report_delivery ? "(On)": "(Off)"]
    " + menu += "Auto Return Home: [MULE.auto_return ? "(On)": "(Off)"]
    " + menu += "Auto Pickup Crate: [MULE.auto_pickup ? "(On)": "(Off)"]

    " //Hue. - menu += "\[Stop\] " - menu += "\[Proceed\] " - menu += "\[Return Home\]
    " + menu += "\[Stop\] " + menu += "\[Proceed\] " + menu += "\[Return Home\]
    " else - menu += "
    \[Stop Patrol\] " //patrolon - menu += "\[Start Patrol\] " //patroloff - menu += "\[Summon Bot\]
    " //summon + menu += "
    \[Stop Patrol\] " //patrolon + menu += "\[Start Patrol\] " //patroloff + menu += "\[Summon Bot\]
    " //summon menu += "Keep an ID inserted to upload access codes upon summoning." - menu += "
    Return to bot list" + menu += "
    Return to bot list" else - menu += "
    Scan for active bots

    " + menu += "
    Scan for active bots

    " var/turf/current_turf = get_turf(src) var/zlevel = current_turf.z var/botcount = 0 - for(Bot in GLOB.living_mob_list) //Git da botz + for(Bot in GLOB.alive_mob_list) //Git da botz if(!Bot.on || Bot.z != zlevel || Bot.remote_disabled || !(bot_access_flags & Bot.bot_type)) //Only non-emagged bots on the same Z-level are detected! continue //Also, the PDA must have access to the bot type. - menu += "[Bot.name] ([Bot.get_mode()])
    " + menu += "
    [Bot.name] ([Bot.get_mode()])
    " botcount++ if(!botcount) //No bots at all? Lame. menu += "No bots found.
    " diff --git a/code/game/objects/items/devices/PDA/virus_cart.dm b/code/game/objects/items/devices/PDA/virus_cart.dm index a514270618..ce7f85b825 100644 --- a/code/game/objects/items/devices/PDA/virus_cart.dm +++ b/code/game/objects/items/devices/PDA/virus_cart.dm @@ -11,7 +11,7 @@ /obj/item/cartridge/virus/message_special(obj/item/device/pda/target) if (!istype(loc, /obj/item/device/pda)) return "" //Sanity check, this shouldn't be possible. - return " (
    *Send Virus*)" + return " (*Send Virus*)" /obj/item/cartridge/virus/special(mob/living/user, list/params) var/obj/item/device/pda/P = locate(params["target"])//Leaving it alone in case it may do something useful, I guess. diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm index 62b8c9ae4e..c84a3fada5 100644 --- a/code/game/objects/items/devices/camera_bug.dm +++ b/code/game/objects/items/devices/camera_bug.dm @@ -1,297 +1,296 @@ - -#define BUGMODE_LIST 0 -#define BUGMODE_MONITOR 1 -#define BUGMODE_TRACK 2 - - - -/obj/item/device/camera_bug - name = "camera bug" - desc = "For illicit snooping through the camera network." - icon = 'icons/obj/device.dmi' - icon_state = "camera_bug" - w_class = WEIGHT_CLASS_TINY - item_state = "camera_bug" - throw_speed = 4 - throw_range = 20 - origin_tech = "syndicate=1;engineering=3" - flags_1 = NOBLUDGEON_1 - - var/obj/machinery/camera/current = null - - var/last_net_update = 0 - var/list/bugged_cameras = list() - - var/track_mode = BUGMODE_LIST - var/last_tracked = 0 - var/refresh_interval = 50 - - var/tracked_name = null - var/atom/tracking = null - - var/last_found = null - var/last_seen = null - -/obj/item/device/camera_bug/New() - ..() - START_PROCESSING(SSobj, src) - -/obj/item/device/camera_bug/Destroy() - get_cameras() - for(var/cam_tag in bugged_cameras) - var/obj/machinery/camera/camera = bugged_cameras[cam_tag] - if(camera.bug == src) - camera.bug = null - bugged_cameras = list() - if(tracking) - tracking = null - return ..() - - -/obj/item/device/camera_bug/interact(mob/user = usr) - var/datum/browser/popup = new(user, "camerabug","Camera Bug",nref=src) - popup.set_content(menu(get_cameras())) - popup.open() - -/obj/item/device/camera_bug/attack_self(mob/user) - user.set_machine(src) - interact(user) - -/obj/item/device/camera_bug/check_eye(mob/user) - if ( loc != user || user.incapacitated() || user.eye_blind || !current ) - user.unset_machine() - return 0 - var/turf/T = get_turf(user.loc) - if(T.z != current.z || !current.can_use()) - to_chat(user, "[src] has lost the signal.") - current = null - user.unset_machine() - return 0 - return 1 -/obj/item/device/camera_bug/on_unset_machine(mob/user) - user.reset_perspective(null) - -/obj/item/device/camera_bug/proc/get_cameras() - if( world.time > (last_net_update + 100)) - bugged_cameras = list() - for(var/obj/machinery/camera/camera in GLOB.cameranet.cameras) - if(camera.stat || !camera.can_use()) - continue - if(length(list("SS13","MINE")&camera.network)) - bugged_cameras[camera.c_tag] = camera - sortList(bugged_cameras) - return bugged_cameras - - -/obj/item/device/camera_bug/proc/menu(list/cameras) - if(!cameras || !cameras.len) - return "No bugged cameras found." - - var/html - switch(track_mode) - if(BUGMODE_LIST) - html = "

    Select a camera:

    \[Cancel camera view\]
    " - for(var/entry in cameras) - var/obj/machinery/camera/C = cameras[entry] - var/functions = "" - if(C.bug == src) - functions = " - \[Monitor\]\[Disable\]" - else - functions = " - \[Monitor\]" - html += "" - - if(BUGMODE_MONITOR) - if(current) - html = "Analyzing Camera '[current.c_tag]' \[Select Camera\]
    " - html += camera_report() - else - track_mode = BUGMODE_LIST - return .(cameras) - if(BUGMODE_TRACK) - if(tracking) - html = "Tracking '[tracked_name]' \[Cancel Tracking\]\[Cancel camera view\]
    " - if(last_found) - var/time_diff = round((world.time - last_seen) / 150) - var/obj/machinery/camera/C = bugged_cameras[last_found] - var/outstring - if(C) - outstring = "[last_found]" - else - outstring = last_found - if(!time_diff) - html += "Last seen near [outstring] (now)
    " - else - // 15 second intervals ~ 1/4 minute - var/m = round(time_diff/4) - var/s = (time_diff - 4*m) * 15 - if(!s) - s = "00" - html += "Last seen near [outstring] ([m]:[s] minute\s ago)
    " - if( C && (C.bug == src)) //Checks to see if the camera has a bug - html += "\[Disable\]" - - else - html += "Not yet seen." - else - track_mode = BUGMODE_LIST - return .(cameras) - return html - -/obj/item/device/camera_bug/proc/get_seens() - if(current && current.can_use()) - var/list/seen = current.can_see() - return seen - -/obj/item/device/camera_bug/proc/camera_report() - // this should only be called if current exists - var/dat = "" - var/list/seen = get_seens() - if(seen && seen.len >= 1) - var/list/names = list() - for(var/obj/singularity/S in seen) // god help you if you see more than one - if(S.name in names) - names[S.name]++ - dat += "[S.name] ([names[S.name]])" - else - names[S.name] = 1 - dat += "[S.name]" - var/stage = round(S.current_size / 2)+1 - dat += " (Stage [stage])" - dat += " \[Track\]
    " - - for(var/obj/mecha/M in seen) - if(M.name in names) - names[M.name]++ - dat += "[M.name] ([names[M.name]])" - else - names[M.name] = 1 - dat += "[M.name]" - dat += " \[Track\]
    " - - - for(var/mob/living/M in seen) - if(M.name in names) - names[M.name]++ - dat += "[M.name] ([names[M.name]])" - else - names[M.name] = 1 - dat += "[M.name]" - if(M.buckled && !M.lying) - dat += " (Sitting)" - if(M.lying) - dat += " (Laying down)" - dat += " \[Track\]
    " - if(length(dat) == 0) - dat += "No motion detected." - return dat - else - return "Camera Offline
    " - -/obj/item/device/camera_bug/Topic(href,list/href_list) - if(usr != loc) - usr.unset_machine() - usr << browse(null, "window=camerabug") - return - usr.set_machine(src) - if("mode" in href_list) - track_mode = text2num(href_list["mode"]) - if("monitor" in href_list) - //You can't locate on a list with keys - var/list/cameras = flatten_list(bugged_cameras) - var/obj/machinery/camera/C = locate(href_list["monitor"]) in cameras - if(C && istype(C)) - track_mode = BUGMODE_MONITOR - current = C - usr.reset_perspective(null) - interact() - if("track" in href_list) - var/list/seen = get_seens() - if(seen && seen.len >= 1) - var/atom/A = locate(href_list["track"]) in seen - if(A && istype(A)) - tracking = A - tracked_name = A.name - last_found = current.c_tag - last_seen = world.time - track_mode = BUGMODE_TRACK - if("emp" in href_list) - //You can't locate on a list with keys - var/list/cameras = flatten_list(bugged_cameras) - var/obj/machinery/camera/C = locate(href_list["emp"]) in cameras - if(C && istype(C) && C.bug == src) - C.emp_act(EMP_HEAVY) - C.bug = null - bugged_cameras -= C.c_tag - interact() - return - if("close" in href_list) - usr.unset_machine() - current = null - return - if("view" in href_list) - //You can't locate on a list with keys - var/list/cameras = flatten_list(bugged_cameras) - var/obj/machinery/camera/C = locate(href_list["view"]) in cameras - if(C && istype(C)) - if(!C.can_use()) - to_chat(usr, "Something's wrong with that camera! You can't get a feed.") - return - var/turf/T = get_turf(loc) - if(!T || C.z != T.z) - to_chat(usr, "You can't get a signal!") - return - current = C - spawn(6) - if(src.check_eye(usr)) - usr.reset_perspective(C) - interact() - else - usr.unset_machine() - usr << browse(null, "window=camerabug") - return - else - usr.unset_machine() - - interact() - -/obj/item/device/camera_bug/process() - if(track_mode == BUGMODE_LIST || (world.time < (last_tracked + refresh_interval))) - return - last_tracked = world.time - if(track_mode == BUGMODE_TRACK ) // search for user - // Note that it will be tricked if your name appears to change. - // This is not optimal but it is better than tracking you relentlessly despite everything. - if(!tracking) - src.updateSelfDialog() - return - - if(tracking.name != tracked_name) // Hiding their identity, tricksy - var/mob/M = tracking - if(istype(M)) - if(!(tracked_name == "Unknown" && findtext(tracking.name,"Unknown"))) // we saw then disguised before - if(!(tracked_name == M.real_name && findtext(tracking.name,M.real_name))) // or they're still ID'd - src.updateSelfDialog()//But if it's neither of those cases - return // you won't find em on the cameras - else - src.updateSelfDialog() - return - - var/list/tracking_cams = list() - var/list/b_cams = get_cameras() - for(var/entry in b_cams) - tracking_cams += b_cams[entry] - var/list/target_region = view(tracking) - - for(var/obj/machinery/camera/C in (target_region & tracking_cams)) - if(!can_see(C,tracking)) // target may have xray, that doesn't make them visible to cameras - continue - if(C.can_use()) - last_found = C.c_tag - last_seen = world.time - break - src.updateSelfDialog() - - -#undef BUGMODE_LIST -#undef BUGMODE_MONITOR -#undef BUGMODE_TRACK +#define BUGMODE_LIST 0 +#define BUGMODE_MONITOR 1 +#define BUGMODE_TRACK 2 + + + +/obj/item/device/camera_bug + name = "camera bug" + desc = "For illicit snooping through the camera network." + icon = 'icons/obj/device.dmi' + icon_state = "camera_bug" + w_class = WEIGHT_CLASS_TINY + item_state = "camera_bug" + throw_speed = 4 + throw_range = 20 + origin_tech = "syndicate=1;engineering=3" + flags_1 = NOBLUDGEON_1 + + var/obj/machinery/camera/current = null + + var/last_net_update = 0 + var/list/bugged_cameras = list() + + var/track_mode = BUGMODE_LIST + var/last_tracked = 0 + var/refresh_interval = 50 + + var/tracked_name = null + var/atom/tracking = null + + var/last_found = null + var/last_seen = null + +/obj/item/device/camera_bug/New() + ..() + START_PROCESSING(SSobj, src) + +/obj/item/device/camera_bug/Destroy() + get_cameras() + for(var/cam_tag in bugged_cameras) + var/obj/machinery/camera/camera = bugged_cameras[cam_tag] + if(camera.bug == src) + camera.bug = null + bugged_cameras = list() + if(tracking) + tracking = null + return ..() + + +/obj/item/device/camera_bug/interact(mob/user = usr) + var/datum/browser/popup = new(user, "camerabug","Camera Bug",nref=src) + popup.set_content(menu(get_cameras())) + popup.open() + +/obj/item/device/camera_bug/attack_self(mob/user) + user.set_machine(src) + interact(user) + +/obj/item/device/camera_bug/check_eye(mob/user) + if ( loc != user || user.incapacitated() || user.eye_blind || !current ) + user.unset_machine() + return 0 + var/turf/T = get_turf(user.loc) + if(T.z != current.z || !current.can_use()) + to_chat(user, "[src] has lost the signal.") + current = null + user.unset_machine() + return 0 + return 1 +/obj/item/device/camera_bug/on_unset_machine(mob/user) + user.reset_perspective(null) + +/obj/item/device/camera_bug/proc/get_cameras() + if( world.time > (last_net_update + 100)) + bugged_cameras = list() + for(var/obj/machinery/camera/camera in GLOB.cameranet.cameras) + if(camera.stat || !camera.can_use()) + continue + if(length(list("SS13","MINE")&camera.network)) + bugged_cameras[camera.c_tag] = camera + sortList(bugged_cameras) + return bugged_cameras + + +/obj/item/device/camera_bug/proc/menu(list/cameras) + if(!cameras || !cameras.len) + return "No bugged cameras found." + + var/html + switch(track_mode) + if(BUGMODE_LIST) + html = "

    Select a camera:

    \[Cancel camera view\]
    [entry][functions]
    " + for(var/entry in cameras) + var/obj/machinery/camera/C = cameras[entry] + var/functions = "" + if(C.bug == src) + functions = " - \[Monitor\]\[Disable\]" + else + functions = " - \[Monitor\]" + html += "" + + if(BUGMODE_MONITOR) + if(current) + html = "Analyzing Camera '[current.c_tag]' \[Select Camera\]
    " + html += camera_report() + else + track_mode = BUGMODE_LIST + return .(cameras) + if(BUGMODE_TRACK) + if(tracking) + html = "Tracking '[tracked_name]' \[Cancel Tracking\]\[Cancel camera view\]
    " + if(last_found) + var/time_diff = round((world.time - last_seen) / 150) + var/obj/machinery/camera/C = bugged_cameras[last_found] + var/outstring + if(C) + outstring = "[last_found]" + else + outstring = last_found + if(!time_diff) + html += "Last seen near [outstring] (now)
    " + else + // 15 second intervals ~ 1/4 minute + var/m = round(time_diff/4) + var/s = (time_diff - 4*m) * 15 + if(!s) + s = "00" + html += "Last seen near [outstring] ([m]:[s] minute\s ago)
    " + if( C && (C.bug == src)) //Checks to see if the camera has a bug + html += "\[Disable\]" + + else + html += "Not yet seen." + else + track_mode = BUGMODE_LIST + return .(cameras) + return html + +/obj/item/device/camera_bug/proc/get_seens() + if(current && current.can_use()) + var/list/seen = current.can_see() + return seen + +/obj/item/device/camera_bug/proc/camera_report() + // this should only be called if current exists + var/dat = "" + var/list/seen = get_seens() + if(seen && seen.len >= 1) + var/list/names = list() + for(var/obj/singularity/S in seen) // god help you if you see more than one + if(S.name in names) + names[S.name]++ + dat += "[S.name] ([names[S.name]])" + else + names[S.name] = 1 + dat += "[S.name]" + var/stage = round(S.current_size / 2)+1 + dat += " (Stage [stage])" + dat += " \[Track\]
    " + + for(var/obj/mecha/M in seen) + if(M.name in names) + names[M.name]++ + dat += "[M.name] ([names[M.name]])" + else + names[M.name] = 1 + dat += "[M.name]" + dat += " \[Track\]
    " + + + for(var/mob/living/M in seen) + if(M.name in names) + names[M.name]++ + dat += "[M.name] ([names[M.name]])" + else + names[M.name] = 1 + dat += "[M.name]" + if(M.buckled && !M.lying) + dat += " (Sitting)" + if(M.lying) + dat += " (Laying down)" + dat += " \[Track\]
    " + if(length(dat) == 0) + dat += "No motion detected." + return dat + else + return "Camera Offline
    " + +/obj/item/device/camera_bug/Topic(href,list/href_list) + if(usr != loc) + usr.unset_machine() + usr << browse(null, "window=camerabug") + return + usr.set_machine(src) + if("mode" in href_list) + track_mode = text2num(href_list["mode"]) + if("monitor" in href_list) + //You can't locate on a list with keys + var/list/cameras = flatten_list(bugged_cameras) + var/obj/machinery/camera/C = locate(href_list["monitor"]) in cameras + if(C && istype(C)) + track_mode = BUGMODE_MONITOR + current = C + usr.reset_perspective(null) + interact() + if("track" in href_list) + var/list/seen = get_seens() + if(seen && seen.len >= 1) + var/atom/A = locate(href_list["track"]) in seen + if(A && istype(A)) + tracking = A + tracked_name = A.name + last_found = current.c_tag + last_seen = world.time + track_mode = BUGMODE_TRACK + if("emp" in href_list) + //You can't locate on a list with keys + var/list/cameras = flatten_list(bugged_cameras) + var/obj/machinery/camera/C = locate(href_list["emp"]) in cameras + if(C && istype(C) && C.bug == src) + C.emp_act(EMP_HEAVY) + C.bug = null + bugged_cameras -= C.c_tag + interact() + return + if("close" in href_list) + usr.unset_machine() + current = null + return + if("view" in href_list) + //You can't locate on a list with keys + var/list/cameras = flatten_list(bugged_cameras) + var/obj/machinery/camera/C = locate(href_list["view"]) in cameras + if(C && istype(C)) + if(!C.can_use()) + to_chat(usr, "Something's wrong with that camera! You can't get a feed.") + return + var/turf/T = get_turf(loc) + if(!T || C.z != T.z) + to_chat(usr, "You can't get a signal!") + return + current = C + spawn(6) + if(src.check_eye(usr)) + usr.reset_perspective(C) + interact() + else + usr.unset_machine() + usr << browse(null, "window=camerabug") + return + else + usr.unset_machine() + + interact() + +/obj/item/device/camera_bug/process() + if(track_mode == BUGMODE_LIST || (world.time < (last_tracked + refresh_interval))) + return + last_tracked = world.time + if(track_mode == BUGMODE_TRACK ) // search for user + // Note that it will be tricked if your name appears to change. + // This is not optimal but it is better than tracking you relentlessly despite everything. + if(!tracking) + src.updateSelfDialog() + return + + if(tracking.name != tracked_name) // Hiding their identity, tricksy + var/mob/M = tracking + if(istype(M)) + if(!(tracked_name == "Unknown" && findtext(tracking.name,"Unknown"))) // we saw then disguised before + if(!(tracked_name == M.real_name && findtext(tracking.name,M.real_name))) // or they're still ID'd + src.updateSelfDialog()//But if it's neither of those cases + return // you won't find em on the cameras + else + src.updateSelfDialog() + return + + var/list/tracking_cams = list() + var/list/b_cams = get_cameras() + for(var/entry in b_cams) + tracking_cams += b_cams[entry] + var/list/target_region = view(tracking) + + for(var/obj/machinery/camera/C in (target_region & tracking_cams)) + if(!can_see(C,tracking)) // target may have xray, that doesn't make them visible to cameras + continue + if(C.can_use()) + last_found = C.c_tag + last_seen = world.time + break + src.updateSelfDialog() + + +#undef BUGMODE_LIST +#undef BUGMODE_MONITOR +#undef BUGMODE_TRACK diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index 65b584a878..d1de04923c 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -28,8 +28,8 @@ ..() disrupt() -/obj/item/device/chameleon/attack_self() - toggle() +/obj/item/device/chameleon/attack_self(mob/user) + toggle(user) /obj/item/device/chameleon/afterattack(atom/target, mob/user , proximity) if(!proximity) @@ -51,7 +51,7 @@ return TRUE return FALSE -/obj/item/device/chameleon/proc/toggle() +/obj/item/device/chameleon/proc/toggle(mob/user) if(!can_use || !saved_appearance) return if(active_dummy) @@ -59,15 +59,15 @@ playsound(get_turf(src), 'sound/effects/pop.ogg', 100, 1, -6) qdel(active_dummy) active_dummy = null - to_chat(usr, "You deactivate \the [src].") + to_chat(user, "You deactivate \the [src].") new /obj/effect/temp_visual/emp/pulse(get_turf(src)) else playsound(get_turf(src), 'sound/effects/pop.ogg', 100, 1, -6) - var/obj/effect/dummy/chameleon/C = new/obj/effect/dummy/chameleon(usr.loc) - C.activate(usr, saved_appearance, src) - to_chat(usr, "You activate \the [src].") + var/obj/effect/dummy/chameleon/C = new/obj/effect/dummy/chameleon(get_turf(user)) + C.activate(user, saved_appearance, src) + to_chat(user, "You activate \the [src].") new /obj/effect/temp_visual/emp/pulse(get_turf(src)) - usr.cancel_camera() + user.cancel_camera() /obj/item/device/chameleon/proc/disrupt(delete_dummy = 1) if(active_dummy) @@ -100,6 +100,9 @@ /obj/effect/dummy/chameleon/proc/activate(mob/M, saved_appearance, obj/item/device/chameleon/C) appearance = saved_appearance + if(istype(M.buckled, /obj/vehicle)) + var/obj/vehicle/V = M.buckled + V.riding_datum.force_dismount(M) M.loc = src master = C master.active_dummy = src diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 5f4d02fd8e..fd56c6283f 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -210,6 +210,7 @@ item_state = "lamp" lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' righthand_file = 'icons/mob/inhands/items_righthand.dmi' + force = 10 brightness_on = 5 w_class = WEIGHT_CLASS_BULKY flags_1 = CONDUCT_1 diff --git a/code/game/objects/items/devices/forcefieldprojector.dm b/code/game/objects/items/devices/forcefieldprojector.dm index e3fb16ee81..42bd8908d1 100644 --- a/code/game/objects/items/devices/forcefieldprojector.dm +++ b/code/game/objects/items/devices/forcefieldprojector.dm @@ -95,7 +95,7 @@ return ..() /obj/structure/projected_forcefield/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return 1 return !density diff --git a/code/game/objects/items/devices/instruments.dm b/code/game/objects/items/devices/instruments.dm index acdfa1bc79..06e8898e15 100644 --- a/code/game/objects/items/devices/instruments.dm +++ b/code/game/objects/items/devices/instruments.dm @@ -2,6 +2,7 @@ /obj/item/device/instrument name = "generic instrument" resistance_flags = FLAMMABLE + force = 10 max_integrity = 100 icon = 'icons/obj/musician.dmi' lefthand_file = 'icons/mob/inhands/equipment/instruments_lefthand.dmi' @@ -49,7 +50,6 @@ desc = "A wooden musical instrument with four strings and a bow. \"The devil went down to space, he was looking for an assistant to grief.\"" icon_state = "violin" item_state = "violin" - force = 10 hitsound = "swing_hit" instrumentId = "violin" @@ -80,7 +80,6 @@ icon_state = "guitar" item_state = "guitar" instrumentExt = "ogg" - force = 10 attack_verb = list("played metal on", "serenaded", "crashed", "smashed") hitsound = 'sound/weapons/stringsmash.ogg' instrumentId = "guitar" @@ -185,6 +184,7 @@ /obj/item/device/instrument/recorder name = "recorder" desc = "Just like in school, playing ability and all." + force = 5 icon_state = "recorder" item_state = "recorder" instrumentId = "recorder" diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index f9224682a0..3821f6206b 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -52,6 +52,7 @@ flags_1 = CONDUCT_1 slot_flags = SLOT_BELT origin_tech = "magnets=3;engineering=4" + force = 8 var/max_uses = 20 var/uses = 0 diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index c72d6f1cca..e36b97b328 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -1,101 +1,167 @@ -#define PROXIMITY_NONE "" -#define PROXIMITY_ON_SCREEN "_red" -#define PROXIMITY_NEAR "_yellow" - -/** - * Multitool -- A multitool is used for hacking electronic devices. - * TO-DO -- Using it as a power measurement tool for cables etc. Nannek. - * - */ - -/obj/item/device/multitool - name = "multitool" - desc = "Used for pulsing wires to test which to cut. Not recommended by doctors." - icon_state = "multitool" - lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' - force = 5 - w_class = WEIGHT_CLASS_SMALL - throwforce = 0 - throw_range = 7 - throw_speed = 3 - materials = list(MAT_METAL=50, MAT_GLASS=20) - origin_tech = "magnets=1;engineering=2" - var/obj/machinery/buffer // simple machine buffer for device linkage - hitsound = 'sound/weapons/tap.ogg' - toolspeed = 1 - - -// Syndicate device disguised as a multitool; it will turn red when an AI camera is nearby. - - -/obj/item/device/multitool/ai_detect - var/track_cooldown = 0 - var/track_delay = 10 //How often it checks for proximity - var/detect_state = PROXIMITY_NONE - var/rangealert = 8 //Glows red when inside - var/rangewarning = 20 //Glows yellow when inside - origin_tech = "magnets=1;engineering=2;syndicate=1" - -/obj/item/device/multitool/ai_detect/New() - ..() - START_PROCESSING(SSobj, src) - -/obj/item/device/multitool/ai_detect/Destroy() - STOP_PROCESSING(SSobj, src) - return ..() - -/obj/item/device/multitool/ai_detect/process() - if(track_cooldown > world.time) - return - detect_state = PROXIMITY_NONE - multitool_detect() - icon_state = "[initial(icon_state)][detect_state]" - track_cooldown = world.time + track_delay - -/obj/item/device/multitool/ai_detect/proc/multitool_detect() - var/turf/our_turf = get_turf(src) - for(var/mob/living/silicon/ai/AI in GLOB.ai_list) - if(AI.cameraFollow == src) - detect_state = PROXIMITY_ON_SCREEN - break - - if(!detect_state && GLOB.cameranet.chunkGenerated(our_turf.x, our_turf.y, our_turf.z)) - var/datum/camerachunk/chunk = GLOB.cameranet.getCameraChunk(our_turf.x, our_turf.y, our_turf.z) - if(chunk) - if(chunk.seenby.len) - for(var/mob/camera/aiEye/A in chunk.seenby) - var/turf/detect_turf = get_turf(A) - if(get_dist(our_turf, detect_turf) < rangealert) - detect_state = PROXIMITY_ON_SCREEN - break - if(get_dist(our_turf, detect_turf) < rangewarning) - detect_state = PROXIMITY_NEAR - break - -/obj/item/device/multitool/ai_detect/admin - desc = "Used for pulsing wires to test which to cut. Not recommended by doctors. Has a strange tag that says 'Grief in Safety'." //What else should I say for a meme item? - track_delay = 5 - -/obj/item/device/multitool/ai_detect/admin/multitool_detect() - var/turf/our_turf = get_turf(src) - for(var/mob/J in urange(rangewarning,our_turf)) - if(GLOB.admin_datums[J.ckey]) - detect_state = PROXIMITY_NEAR - var/turf/detect_turf = get_turf(J) - if(get_dist(our_turf, detect_turf) < rangealert) - detect_state = PROXIMITY_ON_SCREEN - break - -/obj/item/device/multitool/cyborg - name = "multitool" - desc = "Optimised and stripped-down version of a regular multitool." - toolspeed = 0.5 - -/obj/item/device/multitool/abductor - name = "alien multitool" - desc = "An omni-technological interface." - icon = 'icons/obj/abductor.dmi' - icon_state = "multitool" - toolspeed = 0.1 - origin_tech = "magnets=5;engineering=5;abductor=3" +#define PROXIMITY_NONE "" +#define PROXIMITY_ON_SCREEN "_red" +#define PROXIMITY_NEAR "_yellow" + +/** + * Multitool -- A multitool is used for hacking electronic devices. + * TO-DO -- Using it as a power measurement tool for cables etc. Nannek. + * + */ + + + + +/obj/item/device/multitool + name = "multitool" + desc = "Used for pulsing wires to test which to cut. Not recommended by doctors." + icon_state = "multitool" + lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' + force = 5 + w_class = WEIGHT_CLASS_SMALL + throwforce = 0 + throw_range = 7 + throw_speed = 3 + materials = list(MAT_METAL=50, MAT_GLASS=20) + origin_tech = "magnets=1;engineering=2" + var/obj/machinery/buffer // simple machine buffer for device linkage + hitsound = 'sound/weapons/tap.ogg' + toolspeed = 1 + var/datum/integrated_io/selected_io = null //functional for integrated circuits. + var/mode = 0 + +/obj/item/device/multitool/attack_self(mob/user) + if(selected_io) + selected_io = null + to_chat(user, "You clear the wired connection from the multitool.") + else + ..() + update_icon() + +/obj/item/device/multitool/update_icon() + if(selected_io) + icon_state = "multitool_red" + else + icon_state = "multitool" + +/obj/item/device/multitool/proc/wire(var/datum/integrated_io/io, mob/user) + if(!io.holder.assembly) + to_chat(user, "\The [io.holder] needs to be secured inside an assembly first.") + return + + if(selected_io) + if(io == selected_io) + to_chat(user, "Wiring \the [selected_io.holder]'s [selected_io.name] into itself is rather pointless.") + return + if(io.io_type != selected_io.io_type) + to_chat(user, "Those two types of channels are incompatable. The first is a [selected_io.io_type], \ + while the second is a [io.io_type].") + return + if(io.holder.assembly && io.holder.assembly != selected_io.holder.assembly) + to_chat(user, "Both \the [io.holder] and \the [selected_io.holder] need to be inside the same assembly.") + return + selected_io.linked |= io + io.linked |= selected_io + + to_chat(user, "You connect \the [selected_io.holder]'s [selected_io.name] to \the [io.holder]'s [io.name].") + selected_io.holder.interact(user) // This is to update the UI. + selected_io = null + + else + selected_io = io + to_chat(user, "You link \the multitool to \the [selected_io.holder]'s [selected_io.name] data channel.") + + update_icon() + + +/obj/item/device/multitool/proc/unwire(var/datum/integrated_io/io1, var/datum/integrated_io/io2, mob/user) + if(!io1.linked.len || !io2.linked.len) + to_chat(user, "There is nothing connected to the data channel.") + return + + if(!(io1 in io2.linked) || !(io2 in io1.linked) ) + to_chat(user, "These data pins aren't connected!") + return + else + io1.linked.Remove(io2) + io2.linked.Remove(io1) + to_chat(user, "You clip the data connection between the [io1.holder.displayed_name]'s \ + [io1.name] and the [io2.holder.displayed_name]'s [io2.name].") + io1.holder.interact(user) // This is to update the UI. + update_icon() + + + +// Syndicate device disguised as a multitool; it will turn red when an AI camera is nearby. + + +/obj/item/device/multitool/ai_detect + var/track_cooldown = 0 + var/track_delay = 10 //How often it checks for proximity + var/detect_state = PROXIMITY_NONE + var/rangealert = 8 //Glows red when inside + var/rangewarning = 20 //Glows yellow when inside + origin_tech = "magnets=1;engineering=2;syndicate=1" + +/obj/item/device/multitool/ai_detect/New() + ..() + START_PROCESSING(SSobj, src) + +/obj/item/device/multitool/ai_detect/Destroy() + STOP_PROCESSING(SSobj, src) + return ..() + +/obj/item/device/multitool/ai_detect/process() + if(track_cooldown > world.time) + return + detect_state = PROXIMITY_NONE + multitool_detect() + icon_state = "[initial(icon_state)][detect_state]" + track_cooldown = world.time + track_delay + +/obj/item/device/multitool/ai_detect/proc/multitool_detect() + var/turf/our_turf = get_turf(src) + for(var/mob/living/silicon/ai/AI in GLOB.ai_list) + if(AI.cameraFollow == src) + detect_state = PROXIMITY_ON_SCREEN + break + + if(!detect_state && GLOB.cameranet.chunkGenerated(our_turf.x, our_turf.y, our_turf.z)) + var/datum/camerachunk/chunk = GLOB.cameranet.getCameraChunk(our_turf.x, our_turf.y, our_turf.z) + if(chunk) + if(chunk.seenby.len) + for(var/mob/camera/aiEye/A in chunk.seenby) + var/turf/detect_turf = get_turf(A) + if(get_dist(our_turf, detect_turf) < rangealert) + detect_state = PROXIMITY_ON_SCREEN + break + if(get_dist(our_turf, detect_turf) < rangewarning) + detect_state = PROXIMITY_NEAR + break + +/obj/item/device/multitool/ai_detect/admin + desc = "Used for pulsing wires to test which to cut. Not recommended by doctors. Has a strange tag that says 'Grief in Safety'." //What else should I say for a meme item? + track_delay = 5 + +/obj/item/device/multitool/ai_detect/admin/multitool_detect() + var/turf/our_turf = get_turf(src) + for(var/mob/J in urange(rangewarning,our_turf)) + if(GLOB.admin_datums[J.ckey]) + detect_state = PROXIMITY_NEAR + var/turf/detect_turf = get_turf(J) + if(get_dist(our_turf, detect_turf) < rangealert) + detect_state = PROXIMITY_ON_SCREEN + break + +/obj/item/device/multitool/cyborg + name = "multitool" + desc = "Optimised and stripped-down version of a regular multitool." + toolspeed = 0.5 + +/obj/item/device/multitool/abductor + name = "alien multitool" + desc = "An omni-technological interface." + icon = 'icons/obj/abductor.dmi' + icon_state = "multitool" + toolspeed = 0.1 + origin_tech = "magnets=5;engineering=5;abductor=3" diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index 67618787b2..095e021458 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -29,30 +29,30 @@ var/dat = "Personal AI Device
    " if(pai) if(!pai.master_dna || !pai.master) - dat += "Imprint Master DNA
    " + dat += "Imprint Master DNA
    " dat += "Installed Personality: [pai.name]
    " dat += "Prime directive:
    [pai.laws.zeroth]
    " for(var/slaws in pai.laws.supplied) dat += "Additional directives:
    [slaws]
    " - dat += "Configure Directives
    " + dat += "Configure Directives
    " dat += "
    " dat += "

    Device Settings


    " if(pai.radio) dat += "Radio Uplink
    " - dat += "Transmit: [(pai.radio.wires.is_cut(WIRE_TX)) ? "Disabled" : "Enabled"]
    " - dat += "Receive: [(pai.radio.wires.is_cut(WIRE_RX)) ? "Disabled" : "Enabled"]
    " + dat += "Transmit: [(pai.radio.wires.is_cut(WIRE_TX)) ? "Disabled" : "Enabled"]
    " + dat += "Receive: [(pai.radio.wires.is_cut(WIRE_RX)) ? "Disabled" : "Enabled"]
    " else dat += "Radio Uplink
    " dat += "Radio firmware not loaded. Please install a pAI personality to load firmware.
    " if(ishuman(user)) var/mob/living/carbon/human/H = user if(H.real_name == pai.master || H.dna.unique_enzymes == pai.master_dna) - dat += "\[[pai.canholo? "Disable" : "Enable"] holomatrix projectors\]
    " - dat += "\[Wipe current pAI personality\]
    " + dat += "\[[pai.canholo? "Disable" : "Enable"] holomatrix projectors\]
    " + dat += "\[Wipe current pAI personality\]
    " else dat += "No personality installed.
    " dat += "Searching for a personality... Press view available personalities to notify potential candidates." - dat += "\[View available personalities\]
    " + dat += "\[View available personalities\]
    " user << browse(dat, "window=paicard") onclose(user, "paicard") return diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index 108c561fc1..19226e5d9a 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -1,225 +1,223 @@ -/obj/item/device/electropack - name = "electropack" - desc = "Dance my monkeys! DANCE!!!" - icon = 'icons/obj/radio.dmi' - icon_state = "electropack0" - item_state = "electropack" - lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' - righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - flags_1 = CONDUCT_1 - slot_flags = SLOT_BACK - w_class = WEIGHT_CLASS_HUGE - materials = list(MAT_METAL=10000, MAT_GLASS=2500) - var/on = TRUE - var/code = 2 - var/frequency = 1449 - var/shock_cooldown = 0 - -/obj/item/device/electropack/suicide_act(mob/user) - user.visible_message("[user] hooks [user.p_them()]self to the electropack and spams the trigger! It looks like [user.p_theyre()] trying to commit suicide!") - return (FIRELOSS) - -/obj/item/device/electropack/Initialize() - . = ..() - SSradio.add_object(src, frequency, GLOB.RADIO_CHAT) - -/obj/item/device/electropack/Destroy() - SSradio.remove_object(src, frequency) - return ..() - -/obj/item/device/electropack/attack_hand(mob/user) - if(iscarbon(user)) - var/mob/living/carbon/C = user - if(src == C.back) - to_chat(user, "You need help taking this off!") - return - ..() - -/obj/item/device/electropack/attackby(obj/item/W, mob/user, params) - if(istype(W, /obj/item/clothing/head/helmet)) - var/obj/item/assembly/shock_kit/A = new /obj/item/assembly/shock_kit( user ) - A.icon = 'icons/obj/assemblies.dmi' - - if(!user.transferItemToLoc(W, A)) - to_chat(user, "[W] is stuck to your hand, you cannot attach it to [src]!") - return - W.master = A - A.part1 = W - - user.transferItemToLoc(src, A, TRUE) - master = A - A.part2 = src - - user.put_in_hands(A) - A.add_fingerprint(user) - if(src.flags_1 & NODROP_1) - A.flags_1 |= NODROP_1 - else - return ..() - -/obj/item/device/electropack/Topic(href, href_list) - //..() - var/mob/living/carbon/C = usr - if(usr.stat || usr.restrained() || C.back == src) - return - if((ishuman(usr) && usr.contents.Find(src)) || usr.contents.Find(master) || (in_range(src, usr) && isturf(loc))) - usr.set_machine(src) - if(href_list["freq"]) - SSradio.remove_object(src, frequency) - frequency = sanitize_frequency(frequency + text2num(href_list["freq"])) - SSradio.add_object(src, frequency, GLOB.RADIO_CHAT) - else - if(href_list["code"]) - code += text2num(href_list["code"]) - code = round(code) - code = min(100, code) - code = max(1, code) - else - if(href_list["power"]) - on = !( on ) - icon_state = "electropack[on]" - if(!( master )) - if(ismob(loc)) - attack_self(loc) - else - for(var/mob/M in viewers(1, src)) - if(M.client) - attack_self(M) - else - if(ismob(master.loc)) - attack_self(master.loc) - else - for(var/mob/M in viewers(1, master)) - if(M.client) - attack_self(M) - else - usr << browse(null, "window=radio") - return - return - -/obj/item/device/electropack/receive_signal(datum/signal/signal) - if(!signal || signal.encryption != code) - return - - if(isliving(loc) && on) - if(shock_cooldown != 0) - return - shock_cooldown = 1 - spawn(100) - shock_cooldown = 0 - var/mob/living/L = loc - step(L, pick(GLOB.cardinals)) - - to_chat(L, "You feel a sharp shock!") - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, L) - s.start() - - L.Knockdown(100) - - if(master) - master.receive_signal() - return - -/obj/item/device/electropack/attack_self(mob/user) - - if(!ishuman(user)) - return - user.set_machine(src) - var/dat = {"Turned [on ? "On" : "Off"] - -Toggle
    -Frequency/Code for electropack:
    -Frequency: -- -- [format_frequency(frequency)] -+ -+
    - -Code: -- -- [code] -+ -+
    -
    "} - user << browse(dat, "window=radio") - onclose(user, "radio") - return - -/obj/item/device/electropack/shockcollar - name = "shock collar" - desc = "A reinforced metal collar. It seems to have some form of wiring near the front. Strange.." - icon = 'icons/obj/clothing/neck.dmi' - icon_state = "shockcollar" - item_state = "shockcollar" - body_parts_covered = NECK - slot_flags = SLOT_NECK - w_class = WEIGHT_CLASS_SMALL - strip_delay = 60 - equip_delay_other = 60 - materials = list(MAT_METAL=5000, MAT_GLASS=2000) - var/tagname = null - -/obj/item/device/electropack/shockcollar/attack_hand(mob/user) - if(loc == user) - if(slot_flags == SLOT_NECK) - if(user.get_item_by_slot(slot_neck)) - to_chat(user, "The collar is fastened tight! You'll need help taking this off!") - return - ..() - -/obj/item/device/electropack/shockcollar/receive_signal(datum/signal/signal) - if(!signal || signal.encryption != code) - return - - if(isliving(loc) && on) - if(shock_cooldown != 0) - return - shock_cooldown = 1 - spawn(100) - shock_cooldown = 0 - var/mob/living/L = loc - step(L, pick(GLOB.cardinals)) - - to_chat(L, "You feel a sharp shock from the collar!") - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, L) - s.start() - - L.Knockdown(100) - - if(master) - master.receive_signal() - return - -/obj/item/device/electropack/shockcollar/attack_self(mob/user) //Turns out can't fully source this from the parent item, spritepath gets confused if power toggled. Will come back to this when I know how to code better and readd powertoggle.. - var/option = "Change Name" - option = input(user, "What do you want to do?", "[src]", option) as null|anything in list("Change Name", "Change Frequency") - switch(option) - if("Change Name") - var/t = input(user, "Would you like to change the name on the tag?", "Name your new pet", tagname ? tagname : "Spot") as null|text - if(t) - tagname = copytext(sanitize(t), 1, MAX_NAME_LEN) - name = "[initial(name)] - [tagname]" - if("Change Frequency") - if(!ishuman(user)) - return - user.set_machine(src) - var/dat = {"
    - Frequency/Code for shock collar:
    - Frequency: - - - - [format_frequency(frequency)] - + - +
    - - Code: - - - - [code] - + - +
    -
    "} - - user << browse(dat, "window=radio") - onclose(user, "radio") - return - +/obj/item/device/electropack + name = "electropack" + desc = "Dance my monkeys! DANCE!!!" + icon = 'icons/obj/radio.dmi' + icon_state = "electropack0" + item_state = "electropack" + lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' + flags_1 = CONDUCT_1 + slot_flags = SLOT_BACK + w_class = WEIGHT_CLASS_HUGE + materials = list(MAT_METAL=10000, MAT_GLASS=2500) + var/on = TRUE + var/code = 2 + var/frequency = 1449 + var/shock_cooldown = 0 + +/obj/item/device/electropack/suicide_act(mob/user) + user.visible_message("[user] hooks [user.p_them()]self to the electropack and spams the trigger! It looks like [user.p_theyre()] trying to commit suicide!") + return (FIRELOSS) + +/obj/item/device/electropack/Initialize() + . = ..() + SSradio.add_object(src, frequency, GLOB.RADIO_CHAT) + +/obj/item/device/electropack/Destroy() + SSradio.remove_object(src, frequency) + return ..() + +/obj/item/device/electropack/attack_hand(mob/user) + if(iscarbon(user)) + var/mob/living/carbon/C = user + if(src == C.back) + to_chat(user, "You need help taking this off!") + return + ..() + +/obj/item/device/electropack/attackby(obj/item/W, mob/user, params) + if(istype(W, /obj/item/clothing/head/helmet)) + var/obj/item/assembly/shock_kit/A = new /obj/item/assembly/shock_kit( user ) + A.icon = 'icons/obj/assemblies.dmi' + + if(!user.transferItemToLoc(W, A)) + to_chat(user, "[W] is stuck to your hand, you cannot attach it to [src]!") + return + W.master = A + A.part1 = W + + user.transferItemToLoc(src, A, TRUE) + master = A + A.part2 = src + + user.put_in_hands(A) + A.add_fingerprint(user) + if(src.flags_1 & NODROP_1) + A.flags_1 |= NODROP_1 + else + return ..() + +/obj/item/device/electropack/Topic(href, href_list) + //..() + var/mob/living/carbon/C = usr + if(usr.stat || usr.restrained() || C.back == src) + return + if((ishuman(usr) && usr.contents.Find(src)) || usr.contents.Find(master) || (in_range(src, usr) && isturf(loc))) + usr.set_machine(src) + if(href_list["freq"]) + SSradio.remove_object(src, frequency) + frequency = sanitize_frequency(frequency + text2num(href_list["freq"])) + SSradio.add_object(src, frequency, GLOB.RADIO_CHAT) + else + if(href_list["code"]) + code += text2num(href_list["code"]) + code = round(code) + code = min(100, code) + code = max(1, code) + else + if(href_list["power"]) + on = !( on ) + icon_state = "electropack[on]" + if(!( master )) + if(ismob(loc)) + attack_self(loc) + else + for(var/mob/M in viewers(1, src)) + if(M.client) + attack_self(M) + else + if(ismob(master.loc)) + attack_self(master.loc) + else + for(var/mob/M in viewers(1, master)) + if(M.client) + attack_self(M) + else + usr << browse(null, "window=radio") + return + return + +/obj/item/device/electropack/receive_signal(datum/signal/signal) + if(!signal || signal.encryption != code) + return + + if(isliving(loc) && on) + if(shock_cooldown != 0) + return + shock_cooldown = 1 + spawn(100) + shock_cooldown = 0 + var/mob/living/L = loc + step(L, pick(GLOB.cardinals)) + + to_chat(L, "You feel a sharp shock!") + var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread + s.set_up(3, 1, L) + s.start() + + L.Knockdown(100) + + if(master) + master.receive_signal() + return + +/obj/item/device/electropack/attack_self(mob/user) + + if(!ishuman(user)) + return + user.set_machine(src) + var/dat = {"Turned [on ? "On" : "Off"] - +Toggle
    +Frequency/Code for electropack:
    +Frequency: +- +- [format_frequency(frequency)] ++ ++
    + +Code: +- +- [code] ++ ++
    +
    "} + user << browse(dat, "window=radio") + onclose(user, "radio") + return + +/obj/item/device/electropack/shockcollar + name = "shock collar" + desc = "A reinforced metal collar. It seems to have some form of wiring near the front. Strange.." + icon = 'icons/obj/clothing/neck.dmi' + icon_state = "shockcollar" + item_state = "shockcollar" + body_parts_covered = NECK + slot_flags = SLOT_NECK + w_class = WEIGHT_CLASS_SMALL + strip_delay = 60 + equip_delay_other = 60 + materials = list(MAT_METAL=5000, MAT_GLASS=2000) + var/tagname = null + +/obj/item/device/electropack/shockcollar/attack_hand(mob/user) + if(loc == user) + if(slot_flags == SLOT_NECK) + if(user.get_item_by_slot(slot_neck)) + to_chat(user, "The collar is fastened tight! You'll need help taking this off!") + return + ..() + +/obj/item/device/electropack/shockcollar/receive_signal(datum/signal/signal) + if(!signal || signal.encryption != code) + return + + if(isliving(loc) && on) + if(shock_cooldown != 0) + return + shock_cooldown = 1 + spawn(100) + shock_cooldown = 0 + var/mob/living/L = loc + step(L, pick(GLOB.cardinals)) + + to_chat(L, "You feel a sharp shock from the collar!") + var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread + s.set_up(3, 1, L) + s.start() + + L.Knockdown(100) + + if(master) + master.receive_signal() + return + +/obj/item/device/electropack/shockcollar/attack_self(mob/user) //Turns out can't fully source this from the parent item, spritepath gets confused if power toggled. Will come back to this when I know how to code better and readd powertoggle.. + var/option = "Change Name" + option = input(user, "What do you want to do?", "[src]", option) as null|anything in list("Change Name", "Change Frequency") + switch(option) + if("Change Name") + var/t = input(user, "Would you like to change the name on the tag?", "Name your new pet", tagname ? tagname : "Spot") as null|text + if(t) + tagname = copytext(sanitize(t), 1, MAX_NAME_LEN) + name = "[initial(name)] - [tagname]" + if("Change Frequency") + if(!ishuman(user)) + return + user.set_machine(src) + var/dat = {"
    + Frequency/Code for shock collar:
    + Frequency: + - + - [format_frequency(frequency)] + + + +
    + Code: + - + - [code] + + + +
    +
    "} + + user << browse(dat, "window=radio") + onclose(user, "radio") + return diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index ef914666c8..ada7b613e4 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -51,7 +51,7 @@ origin_tech = "syndicate=3" icon_state = "syndie_headset" item_state = "syndie_headset" - flags_2 = BANG_PROTECT_2 + flags_2 = BANG_PROTECT_2 | NO_EMP_WIRES_2 /obj/item/device/radio/headset/syndicate/alt/leader name = "team leader headset" @@ -80,7 +80,7 @@ desc = "This is used by your elite security force. Protects ears from flashbangs.\nTo access the security channel, use :s." icon_state = "sec_headset_alt" item_state = "sec_headset_alt" - flags_2 = BANG_PROTECT_2 + flags_2 = BANG_PROTECT_2 | NO_EMP_WIRES_2 /obj/item/device/radio/headset/headset_eng name = "engineering radio headset" @@ -132,7 +132,7 @@ desc = "The headset of the boss. Protects ears from flashbangs.\nChannels are as follows: :c - command, :s - security, :e - engineering, :u - supply, :v - service, :m - medical, :n - science." icon_state = "com_headset_alt" item_state = "com_headset_alt" - flags_2 = BANG_PROTECT_2 + flags_2 = BANG_PROTECT_2 | NO_EMP_WIRES_2 /obj/item/device/radio/headset/heads/rd name = "\proper the research director's headset" @@ -151,7 +151,7 @@ desc = "The headset of the man in charge of keeping order and protecting the station. Protects ears from flashbangs.\nTo access the security channel, use :s. For command, use :c." icon_state = "com_headset_alt" item_state = "com_headset_alt" - flags_2 = BANG_PROTECT_2 + flags_2 = BANG_PROTECT_2 | NO_EMP_WIRES_2 /obj/item/device/radio/headset/heads/ce name = "\proper the chief engineer's headset" @@ -205,7 +205,7 @@ icon_state = "cent_headset_alt" item_state = "cent_headset_alt" keyslot = null - flags_2 = BANG_PROTECT_2 + flags_2 = BANG_PROTECT_2 | NO_EMP_WIRES_2 /obj/item/device/radio/headset/ai name = "\proper Integrated Subspace Transceiver " diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 18ba79ae94..50a15b20b0 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -11,7 +11,6 @@ var/frequency = 1459 //common chat var/traitor_frequency = 0 //tune to frequency to unlock traitor supplies var/canhear_range = 3 // the range which mobs can hear this radio from - var/obj/item/device/radio/patch_link = null var/list/secure_radio_connections var/prison_radio = 0 var/b_stat = 0 @@ -29,6 +28,7 @@ var/emped = 0 //Highjacked to track the number of consecutive EMPs on the radio, allowing consecutive EMP's to stack properly. // "Example" = FREQ_LISTENING|FREQ_BROADCASTING flags_1 = CONDUCT_1 | HEAR_1 + flags_2 = NO_EMP_WIRES_2 slot_flags = SLOT_BELT throw_speed = 3 throw_range = 7 @@ -81,7 +81,6 @@ qdel(wires) wires = null remove_radio_all(src) //Just to be sure - patch_link = null keyslot = null return ..() diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index caf42fc68b..cbe1161422 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -35,7 +35,10 @@ MASS SPECTROMETER var/image/I = new(loc = get_turf(pipe)) var/mutable_appearance/MA = new(pipe) MA.alpha = 128 + MA.dir = pipe.dir I.appearance = MA + I.dir = pipe.dir + // Workaround for a weird bug with icon direction on T-Ray scan not matching the actual disposal pipe dir. if(M.client) flick_overlay(I, list(M.client), 8) @@ -106,8 +109,8 @@ MASS SPECTROMETER // Used by the PDA medical scanner too -/proc/healthscan(mob/living/user, mob/living/M, mode = 1, advanced = FALSE) - if(user.incapacitated() || user.eye_blind) +/proc/healthscan(mob/user, mob/living/M, mode = 1, advanced = FALSE) + if(isliving(user) && (user.incapacitated() || user.eye_blind)) return //Damage specifics var/oxy_loss = M.getOxyLoss() @@ -280,18 +283,17 @@ MASS SPECTROMETER to_chat(user, "[cyberimp_detect]") /proc/chemscan(mob/living/user, mob/living/M) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.reagents) - if(H.reagents.reagent_list.len) + if(istype(M)) + if(M.reagents) + if(M.reagents.reagent_list.len) to_chat(user, "Subject contains the following reagents:") - for(var/datum/reagent/R in H.reagents.reagent_list) + for(var/datum/reagent/R in M.reagents.reagent_list) to_chat(user, "[R.volume] units of [R.name][R.overdosed == 1 ? " - OVERDOSING" : "."]") else to_chat(user, "Subject contains no reagents.") - if(H.reagents.addiction_list.len) + if(M.reagents.addiction_list.len) to_chat(user, "Subject is addicted to the following reagents:") - for(var/datum/reagent/R in H.reagents.addiction_list) + for(var/datum/reagent/R in M.reagents.addiction_list) to_chat(user, "[R.name]") else to_chat(user, "Subject is not addicted to any reagents.") diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index c97ad1271c..7ca4da4f65 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -111,9 +111,9 @@ effective or pretty fucking useless. /obj/item/device/healthanalyzer/rad_laser/interact(mob/user) user.set_machine(src) - var/dat = "Irradiation: [irradiate ? "On" : "Off"]
    " - dat += "Stealth Mode (NOTE: Deactivates automatically while Irradiation is off): [stealth ? "On" : "Off"]
    " - dat += "Scan Mode: " + var/dat = "Irradiation: [irradiate ? "On" : "Off"]
    " + dat += "Stealth Mode (NOTE: Deactivates automatically while Irradiation is off): [stealth ? "On" : "Off"]
    " + dat += "Scan Mode: " if(!scanmode) dat += "Scan Health" else if(scanmode == 1) @@ -124,14 +124,14 @@ effective or pretty fucking useless. dat += {" Radiation Intensity: - -- + -- [intensity] - ++
    + ++
    Radiation Wavelength: - -- + -- [(wavelength+(intensity*4))] - ++
    + ++
    Laser Cooldown: [DisplayTimeText(GetCooldown())]
    "} diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm index fe310db994..53f36719e4 100644 --- a/code/game/objects/items/devices/transfer_valve.dm +++ b/code/game/objects/items/devices/transfer_valve.dm @@ -64,10 +64,10 @@ /obj/item/device/transfer_valve/attack_self(mob/user) user.set_machine(src) var/dat = {" Valve properties: -
    Attachment one: [tank_one] [tank_one ? "Remove" : ""] -
    Attachment two: [tank_two] [tank_two ? "Remove" : ""] -
    Valve attachment: [attached_device ? "[attached_device]" : "None"] [attached_device ? "Remove" : ""] -
    Valve status: [ valve_open ? "Closed Open" : "Closed Open"]"} +
    Attachment one: [tank_one] [tank_one ? "Remove" : ""] +
    Attachment two: [tank_two] [tank_two ? "Remove" : ""] +
    Valve attachment: [attached_device ? "[attached_device]" : "None"] [attached_device ? "Remove" : ""] +
    Valve status: [ valve_open ? "Closed Open" : "Closed Open"]"} var/datum/browser/popup = new(user, "trans_valve", name) popup.set_content(dat) diff --git a/code/game/objects/items/eightball.dm b/code/game/objects/items/eightball.dm index 15c6bcd4b1..8b26e33842 100644 --- a/code/game/objects/items/eightball.dm +++ b/code/game/objects/items/eightball.dm @@ -125,7 +125,7 @@ // notify ghosts that someone's shaking a haunted eightball // and inform them of the message, (hopefully a yes/no question) selected_message = last_message - notify_ghosts("[user] is shaking [src], hoping to get an answer to \"[selected_message]\"", source=src, enter_link="(Click to help)", action=NOTIFY_ATTACK) + notify_ghosts("[user] is shaking [src], hoping to get an answer to \"[selected_message]\"", source=src, enter_link="(Click to help)", action=NOTIFY_ATTACK) /obj/item/toy/eightball/haunted/Topic(href, href_list) if(href_list["interact"]) diff --git a/code/game/objects/items/flamethrower.dm b/code/game/objects/items/flamethrower.dm index 4502d2bb48..b2676c3c4e 100644 --- a/code/game/objects/items/flamethrower.dm +++ b/code/game/objects/items/flamethrower.dm @@ -140,6 +140,7 @@ user.put_in_hands(ptank) ptank = null to_chat(user, "You remove the plasma tank from [src]!") + update_icon() /obj/item/flamethrower/examine(mob/user) ..() diff --git a/code/game/objects/items/grenades/chem_grenade.dm b/code/game/objects/items/grenades/chem_grenade.dm index 35ffebfe6b..b778bcb179 100644 --- a/code/game/objects/items/grenades/chem_grenade.dm +++ b/code/game/objects/items/grenades/chem_grenade.dm @@ -292,7 +292,7 @@ var/mob/last = get_mob_by_ckey(nadeassembly.fingerprintslast) var/turf/T = get_turf(src) var/area/A = get_area(T) - message_admins("grenade primed by an assembly, attached by [key_name_admin(M)](?) (FLW) and last touched by [key_name_admin(last)](?) (FLW) ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] (JMP).") + message_admins("grenade primed by an assembly, attached by [key_name_admin(M)](?) (FLW) and last touched by [key_name_admin(last)](?) (FLW) ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] (JMP).") log_game("grenade primed by an assembly, attached by [key_name(M)] and last touched by [key_name(last)] ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] ([T.x], [T.y], [T.z])") else addtimer(CALLBACK(src, .proc/prime), det_time) diff --git a/code/game/objects/items/grenades/grenade.dm b/code/game/objects/items/grenades/grenade.dm index bf2f6dd4bb..e444ecce25 100644 --- a/code/game/objects/items/grenades/grenade.dm +++ b/code/game/objects/items/grenades/grenade.dm @@ -1,50 +1,50 @@ -/obj/item/grenade - name = "grenade" - desc = "It has an adjustable timer." - w_class = WEIGHT_CLASS_SMALL - icon = 'icons/obj/grenade.dmi' - icon_state = "grenade" - item_state = "flashbang" - lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' - throw_speed = 3 - throw_range = 7 - flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT - resistance_flags = FLAMMABLE - max_integrity = 40 - var/active = 0 - var/det_time = 50 - var/display_timer = 1 - -/obj/item/grenade/deconstruct(disassembled = TRUE) - if(!disassembled) - prime() - if(!QDELETED(src)) - qdel(src) - -/obj/item/grenade/proc/clown_check(mob/living/carbon/human/user) - if(user.disabilities & CLUMSY && prob(50)) - to_chat(user, "Huh? How does this thing work?") +/obj/item/grenade + name = "grenade" + desc = "It has an adjustable timer." + w_class = WEIGHT_CLASS_SMALL + icon = 'icons/obj/grenade.dmi' + icon_state = "grenade" + item_state = "flashbang" + lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' + throw_speed = 3 + throw_range = 7 + flags_1 = CONDUCT_1 + slot_flags = SLOT_BELT + resistance_flags = FLAMMABLE + max_integrity = 40 + var/active = 0 + var/det_time = 50 + var/display_timer = 1 + +/obj/item/grenade/deconstruct(disassembled = TRUE) + if(!disassembled) + prime() + if(!QDELETED(src)) + qdel(src) + +/obj/item/grenade/proc/clown_check(mob/living/carbon/human/user) + if(user.disabilities & CLUMSY && prob(50)) + to_chat(user, "Huh? How does this thing work?") preprime(user, 5, FALSE) return FALSE return TRUE - - -/obj/item/grenade/examine(mob/user) - ..() - if(display_timer) - if(det_time > 1) - to_chat(user, "The timer is set to [det_time/10] second\s.") - else - to_chat(user, "\The [src] is set for instant detonation.") - - -/obj/item/grenade/attack_self(mob/user) - if(!active) - if(clown_check(user)) - preprime(user) - + + +/obj/item/grenade/examine(mob/user) + ..() + if(display_timer) + if(det_time > 1) + to_chat(user, "The timer is set to [det_time/10] second\s.") + else + to_chat(user, "\The [src] is set for instant detonation.") + + +/obj/item/grenade/attack_self(mob/user) + if(!active) + if(clown_check(user)) + preprime(user) + /obj/item/grenade/proc/log_grenade(mob/user, turf/T) var/area/A = get_area(T) var/message = "[ADMIN_LOOKUPFLW(user)]) has primed \a [src] for detonation at [ADMIN_COORDJMP(T)]" @@ -52,57 +52,58 @@ message_admins(message) log_game("[key_name(user)] has primed \a [src] for detonation at [A.name] [COORD(T)].") -/obj/item/grenade/proc/preprime(mob/user, delayoverride, msg = TRUE) +/obj/item/grenade/proc/preprime(mob/user, delayoverride, msg = TRUE, volume = 60) var/turf/T = get_turf(src) - log_grenade(user, T) - if(iscarbon(user)) - var/mob/living/carbon/C = user - C.throw_mode_on() - if(msg) - to_chat(user, "You prime \the [src]! [det_time/10] seconds!") - playsound(loc, 'sound/weapons/armbomb.ogg', 60, 1) - active = TRUE - icon_state = initial(icon_state) + "_active" - add_fingerprint(user) + log_grenade(user, T) //Inbuilt admin procs already handle null users + if(user) + add_fingerprint(user) + if(iscarbon(user)) + var/mob/living/carbon/C = user + C.throw_mode_on() + if(msg) + to_chat(user, "You prime \the [src]! [det_time/10] seconds!") + playsound(src, 'sound/weapons/armbomb.ogg', volume, 1) + active = TRUE + icon_state = initial(icon_state) + "_active" addtimer(CALLBACK(src, .proc/prime), isnull(delayoverride)? det_time : delayoverride) - -/obj/item/grenade/proc/prime() - -/obj/item/grenade/proc/update_mob() - if(ismob(loc)) - var/mob/M = loc - M.dropItemToGround(src) - - -/obj/item/grenade/attackby(obj/item/W, mob/user, params) - if(istype(W, /obj/item/screwdriver)) - switch(det_time) - if ("1") - det_time = 10 - to_chat(user, "You set the [name] for 1 second detonation time.") - if ("10") - det_time = 30 - to_chat(user, "You set the [name] for 3 second detonation time.") - if ("30") - det_time = 50 - to_chat(user, "You set the [name] for 5 second detonation time.") - if ("50") - det_time = 1 - to_chat(user, "You set the [name] for instant detonation.") - add_fingerprint(user) - else - return ..() - -/obj/item/grenade/attack_hand() - walk(src, null, null) - ..() - -/obj/item/grenade/attack_paw(mob/user) - return attack_hand(user) - -/obj/item/grenade/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - var/obj/item/projectile/P = hitby - if(damage && attack_type == PROJECTILE_ATTACK && P.damage_type != STAMINA && prob(15)) - owner.visible_message("[attack_text] hits [owner]'s [src], setting it off! What a shot!") - prime() + +/obj/item/grenade/proc/prime() + +/obj/item/grenade/proc/update_mob() + if(ismob(loc)) + var/mob/M = loc + M.dropItemToGround(src) + + +/obj/item/grenade/attackby(obj/item/W, mob/user, params) + if(istype(W, /obj/item/screwdriver)) + switch(det_time) + if ("1") + det_time = 10 + to_chat(user, "You set the [name] for 1 second detonation time.") + if ("10") + det_time = 30 + to_chat(user, "You set the [name] for 3 second detonation time.") + if ("30") + det_time = 50 + to_chat(user, "You set the [name] for 5 second detonation time.") + if ("50") + det_time = 1 + to_chat(user, "You set the [name] for instant detonation.") + add_fingerprint(user) + else + return ..() + +/obj/item/grenade/attack_hand() + walk(src, null, null) + ..() + +/obj/item/grenade/attack_paw(mob/user) + return attack_hand(user) + +/obj/item/grenade/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) + var/obj/item/projectile/P = hitby + if(damage && attack_type == PROJECTILE_ATTACK && P.damage_type != STAMINA && prob(15)) + owner.visible_message("[attack_text] hits [owner]'s [src], setting it off! What a shot!") + prime() return TRUE //It hit the grenade, not them diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 93ea89445b..8ebb7b6061 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -91,6 +91,7 @@ icon_state = "cuff" item_state = "coil" item_color = "red" + color = "#ff0000" lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' materials = list(MAT_METAL=150, MAT_GLASS=75) @@ -109,6 +110,7 @@ update_icon() /obj/item/restraints/handcuffs/cable/update_icon() + color = null add_atom_colour(item_color, FIXED_COLOUR_PRIORITY) /obj/item/restraints/handcuffs/cable/attack(mob/living/carbon/C, mob/living/carbon/human/user) @@ -130,24 +132,31 @@ /obj/item/restraints/handcuffs/cable/red item_color = "red" + color = "#ff0000" /obj/item/restraints/handcuffs/cable/yellow item_color = "yellow" + color = "#ffff00" /obj/item/restraints/handcuffs/cable/blue item_color = "blue" + color = "#1919c8" /obj/item/restraints/handcuffs/cable/green item_color = "green" + color = "#00aa00" /obj/item/restraints/handcuffs/cable/pink item_color = "pink" + color = "#ff3ccd" /obj/item/restraints/handcuffs/cable/orange item_color = "orange" + color = "#ff8000" /obj/item/restraints/handcuffs/cable/cyan item_color = "cyan" + color = "#00ffff" /obj/item/restraints/handcuffs/cable/white item_color = "white" diff --git a/code/game/objects/items/inducer.dm b/code/game/objects/items/inducer.dm index d6f789a1b7..5c494294c8 100644 --- a/code/game/objects/items/inducer.dm +++ b/code/game/objects/items/inducer.dm @@ -96,6 +96,8 @@ return ..() /obj/item/inducer/proc/recharge(atom/movable/A, mob/user) + if(!isturf(A) && user.loc == A) + return FALSE if(recharging) return TRUE else diff --git a/code/game/objects/items/pinpointer.dm b/code/game/objects/items/pinpointer.dm index 28488a231f..d291a7ca7d 100644 --- a/code/game/objects/items/pinpointer.dm +++ b/code/game/objects/items/pinpointer.dm @@ -103,7 +103,7 @@ var/list/name_counts = list() var/list/names = list() - for(var/mob/living/carbon/human/H in GLOB.mob_list) + for(var/mob/living/carbon/human/H in GLOB.carbon_list) if(!trackable(H)) continue @@ -147,4 +147,3 @@ return PROCESS_KILL scan_for_target() update_icon() - diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm index ec5f349ca9..f2fd53403a 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -7,14 +7,66 @@ w_class = WEIGHT_CLASS_SMALL resistance_flags = FLAMMABLE var/list/squeak_override //Weighted list; If you want your plush to have different squeak sounds use this + var/stuffed = TRUE //If the plushie has stuffing in it + var/obj/item/grenade/grenade //You can remove the stuffing from a plushie and add a grenade to it for *nefarious uses* /obj/item/toy/plush/Initialize() . = ..() AddComponent(/datum/component/squeak, squeak_override) +/obj/item/toy/plush/Destroy() + QDEL_NULL(grenade) + return ..() + +/obj/item/toy/plush/handle_atom_del(atom/A) + if(A == grenade) + grenade = null + ..() + /obj/item/toy/plush/attack_self(mob/user) . = ..() - to_chat(user, "You pet [src]. D'awww.") + if(stuffed || grenade) + to_chat(user, "You pet [src]. D'awww.") + if(grenade && !grenade.active) + if(istype(grenade, /obj/item/grenade/chem_grenade)) + var/obj/item/grenade/chem_grenade/G = grenade + if(G.nadeassembly) //We're activated through different methods + return + log_game("[key_name(user)] activated a hidden grenade in [src].") + grenade.preprime(user, msg = FALSE, volume = 10) + else + to_chat(user, "You try to pet [src], but it has no stuffing. Aww...") + +/obj/item/toy/plush/attackby(obj/item/I, mob/living/user, params) + if(I.is_sharp()) + if(!grenade) + if(!stuffed) + to_chat(user, "You already murdered it!") + return + user.visible_message("[user] tears out the stuffing from [src]!", "You rip a bunch of the stuffing from [src]. Murderer.") + playsound(I, I.usesound, 50, TRUE) + stuffed = FALSE + else + to_chat(user, "You remove the grenade from [src].") + user.put_in_hands(grenade) + grenade = null + return + if(istype(I, /obj/item/grenade)) + if(stuffed) + to_chat(user, "You need to remove some stuffing first!") + return + if(grenade) + to_chat(user, "[src] already has a grenade!") + return + if(!user.transferItemToLoc(I, src)) + return + user.visible_message("[user] slides [grenade] into [src].", \ + "You slide [I] into [src].") + grenade = I + var/turf/T = get_turf(user) + log_game("[key_name(user)] added a grenade ([I.name]) to [src] at [COORD(T)].") + return + return ..() /obj/item/toy/plush/carpplushie name = "space carp plushie" @@ -35,11 +87,98 @@ name = "ratvar plushie" desc = "An adorable plushie of the clockwork justiciar himself with new and improved spring arm action." icon_state = "plushvar" + var/obj/item/toy/plush/narplush/clash_target + +/obj/item/toy/plush/plushvar/Moved() + . = ..() + if(clash_target) + return + var/obj/item/toy/plush/narplush/P = locate() in range(1, src) + if(P && istype(P.loc, /turf/open) && !P.clashing) + clash_of_the_plushies(P) + +/obj/item/toy/plush/plushvar/proc/clash_of_the_plushies(obj/item/toy/plush/narplush/P) + clash_target = P + P.clashing = TRUE + say("YOU.") + P.say("Ratvar?!") + var/obj/item/toy/plush/a_winnar_is + var/victory_chance = 10 + for(var/i in 1 to 10) //We only fight ten times max + if(QDELETED(src)) + P.clashing = FALSE + return + if(QDELETED(P)) + clash_target = null + return + if(!Adjacent(P)) + visible_message("The two plushies angrily flail at each other before giving up.") + clash_target = null + P.clashing = FALSE + return + playsound(src, 'sound/magic/clockwork/ratvar_attack.ogg', 50, TRUE, frequency = 2) + sleep(2.4) + if(QDELETED(src)) + P.clashing = FALSE + return + if(QDELETED(P)) + clash_target = null + return + if(prob(victory_chance)) + a_winnar_is = src + break + P.SpinAnimation(5, 0) + sleep(5) + if(QDELETED(src)) + P.clashing = FALSE + return + if(QDELETED(P)) + clash_target = null + return + playsound(P, 'sound/magic/clockwork/narsie_attack.ogg', 50, TRUE, frequency = 2) + sleep(3.3) + if(QDELETED(src)) + P.clashing = FALSE + return + if(QDELETED(P)) + clash_target = null + return + if(prob(victory_chance)) + a_winnar_is = P + break + SpinAnimation(5, 0) + victory_chance += 10 + sleep(5) + if(!a_winnar_is) + a_winnar_is = pick(src, P) + if(a_winnar_is == src) + say(pick("DIE.", "ROT.")) + P.say(pick("Nooooo...", "Not die. To y-", "Die. Ratv-", "Sas tyen re-")) + playsound(src, 'sound/magic/clockwork/anima_fragment_attack.ogg', 50, TRUE, frequency = 2) + playsound(P, 'sound/magic/demon_dies.ogg', 50, TRUE, frequency = 2) + explosion(P, 0, 0, 1) + qdel(P) + clash_target = null + else + say("NO! I will not be banished again...") + P.say(pick("Ha.", "Ra'sha fonn dest.", "You fool. To come here.")) + playsound(src, 'sound/magic/clockwork/anima_fragment_death.ogg', 50, TRUE, frequency = 2) + playsound(P, 'sound/magic/demon_attack1.ogg', 50, TRUE, frequency = 2) + explosion(src, 0, 0, 1) + qdel(src) + P.clashing = FALSE /obj/item/toy/plush/narplush name = "nar'sie plushie" desc = "A small stuffed doll of the elder god nar'sie. Who thought this was a good children's toy?" icon_state = "narplush" + var/clashing + +/obj/item/toy/plush/narplush/Moved() + . = ..() + var/obj/item/toy/plush/plushvar/P = locate() in range(1, src) + if(P && istype(P.loc, /turf/open) && !P.clash_target && !clashing) + P.clash_of_the_plushies(src) /obj/item/toy/plush/lizardplushie name = "lizard plushie" diff --git a/code/game/objects/items/pneumaticCannon.dm b/code/game/objects/items/pneumaticCannon.dm index 9a5928665c..b3960d1e5f 100644 --- a/code/game/objects/items/pneumaticCannon.dm +++ b/code/game/objects/items/pneumaticCannon.dm @@ -26,8 +26,31 @@ var/fire_mode = PCANNON_FIREALL var/automatic = FALSE var/clumsyCheck = TRUE + var/list/allowed_typecache //Leave as null to allow all. + var/charge_amount = 1 + var/charge_ticks = 1 + var/charge_tick = 0 + var/charge_type + var/selfcharge = FALSE trigger_guard = TRIGGER_GUARD_NORMAL + +/obj/item/pneumatic_cannon/Initialize() + . = ..() + if(selfcharge) + init_charge() + +/obj/item/pneumatic_cannon/proc/init_charge() //wrapper so it can be vv'd easier + START_PROCESSING(SSobj, src) + +/obj/item/pneumatic_cannon/process() + if(++charge_tick >= charge_ticks && charge_type) + fill_with_type(charge_type, charge_amount) + +/obj/item/pneumatic_cannon/Destroy() + STOP_PROCESSING(SSobj, src) + return ..() + /obj/item/pneumatic_cannon/CanItemAutoclick() return automatic @@ -75,6 +98,10 @@ load_item(IW, user) /obj/item/pneumatic_cannon/proc/can_load_item(obj/item/I, mob/user) + if(allowed_typecache && !is_type_in_typecache(I, allowed_typecache)) + if(user) + to_chat(user, "[I] won't fit into [src]!") + return if((loadedWeightClass + I.w_class) > maxWeightClass) //Only make messages if there's a user if(user) to_chat(user, "\The [I] won't fit into \the [src]!") @@ -233,28 +260,14 @@ throw_amount = 1 maxWeightClass = 150 //50 pies. :^) clumsyCheck = FALSE + var/static/list/pie_typecache = typecacheof(/obj/item/reagent_containers/food/snacks/pie) -/obj/item/pneumatic_cannon/pie/can_load_item(obj/item/I, mob/user) - if(istype(I, /obj/item/reagent_containers/food/snacks/pie)) - return ..() - to_chat(user, "[src] only accepts pies!") - return FALSE - +/obj/item/pneumatic_cannon/pie/Initialize() + . = ..() + allowed_typecache = pie_typecache + /obj/item/pneumatic_cannon/pie/selfcharge automatic = TRUE - var/charge_amount = 1 - var/charge_ticks = 1 - var/charge_tick = 0 + selfcharge = TRUE + charge_type = /obj/item/reagent_containers/food/snacks/pie/cream maxWeightClass = 60 //20 pies. - -/obj/item/pneumatic_cannon/pie/selfcharge/Initialize() - . = ..() - START_PROCESSING(SSobj, src) - -/obj/item/pneumatic_cannon/pie/selfcharge/Destroy() - STOP_PROCESSING(SSobj, src) - return ..() - -/obj/item/pneumatic_cannon/pie/selfcharge/process() - if(++charge_tick >= charge_ticks) - fill_with_type(/obj/item/reagent_containers/food/snacks/pie/cream, charge_amount) diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 2ccb57564f..e4485266b5 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -546,9 +546,11 @@ to_chat(user, "[src] is still recycling its projectors!") return cycle_delay = world.time + PKBORG_DAMPEN_CYCLE_DELAY - active = !active - if(active) - activate_field(user) + if(!active) + if(!user.has_buckled_mobs()) + activate_field() + else + to_chat(user, "[src]'s safety cutoff prevents you from activating it due to living beings being ontop of you!") else deactivate_field() update_icon() @@ -561,12 +563,29 @@ if(istype(dampening_field)) QDEL_NULL(dampening_field) dampening_field = make_field(/datum/proximity_monitor/advanced/peaceborg_dampener, list("current_range" = field_radius, "host" = src, "projector" = src)) + var/mob/living/silicon/robot/owner = get_host() + if(owner) + owner.module.allow_riding = FALSE + active = TRUE /obj/item/borg/projectile_dampen/proc/deactivate_field() QDEL_NULL(dampening_field) visible_message("\The [src] shuts off!") for(var/P in tracked) restore_projectile(P) + active = FALSE + + var/mob/living/silicon/robot/owner = get_host() + if(owner) + owner.module.allow_riding = TRUE + +/obj/item/borg/projectile_dampen/proc/get_host() + if(istype(host)) + return host + else + if(iscyborg(host.loc)) + return host.loc + return null /obj/item/borg/projectile_dampen/dropped() . = ..() diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index f47c5d30eb..9c0199e70f 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -289,13 +289,13 @@ return ..() /obj/item/robot_suit/proc/Interact(mob/user) - var/t1 = text("Designation: [(created_name ? "[created_name]" : "Default Cyborg")]
    \n",src) - t1 += text("Master AI: [(forced_ai ? "[forced_ai.name]" : "Automatic")]

    \n",src) + var/t1 = "Designation: [(created_name ? "[created_name]" : "Default Cyborg")]
    \n" + t1 += "Master AI: [(forced_ai ? "[forced_ai.name]" : "Automatic")]

    \n" - t1 += text("LawSync Port: [(lawsync ? "Open" : "Closed")]
    \n",src) - t1 += text("AI Connection Port: [(aisync ? "Open" : "Closed")]
    \n",src) - t1 += text("Servo Motor Functions: [(locomotion ? "Unlocked" : "Locked")]
    \n",src) - t1 += text("Panel Lock: [(panel_locked ? "Engaged" : "Disengaged")]
    \n",src) + t1 += "LawSync Port: [(lawsync ? "Open" : "Closed")]
    \n" + t1 += "AI Connection Port: [(aisync ? "Open" : "Closed")]
    \n" + t1 += "Servo Motor Functions: [(locomotion ? "Unlocked" : "Locked")]
    \n" + t1 += "Panel Lock: [(panel_locked ? "Engaged" : "Disengaged")]
    \n" var/datum/browser/popup = new(user, "robotdebug", "Cyborg Boot Debug", 310, 220) popup.set_content(t1) popup.open() diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index d899d48354..59eef9a170 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -320,7 +320,7 @@ /obj/item/borg/upgrade/hypospray/action(mob/living/silicon/robot/R) if(..()) return - for(var/obj/item/reagent_containers/borghypo/H in R.module) + for(var/obj/item/reagent_containers/borghypo/H in R.module.modules) if(H.accepts_reagent_upgrades) for(var/re in additional_reagents) H.add_reagent(re) @@ -355,7 +355,7 @@ return var/found_hypo = FALSE - for(var/obj/item/reagent_containers/borghypo/H in R.module) + for(var/obj/item/reagent_containers/borghypo/H in R.module.modules) H.bypass_protection = TRUE found_hypo = TRUE diff --git a/code/game/objects/items/scrolls.dm b/code/game/objects/items/scrolls.dm index edddd27cf3..2fc8e8559c 100644 --- a/code/game/objects/items/scrolls.dm +++ b/code/game/objects/items/scrolls.dm @@ -1,74 +1,74 @@ -/obj/item/teleportation_scroll - name = "scroll of teleportation" - desc = "A scroll for moving around." - icon = 'icons/obj/wizard.dmi' - icon_state = "scroll" - var/uses = 4 - w_class = WEIGHT_CLASS_SMALL - item_state = "paper" - throw_speed = 3 - throw_range = 7 - origin_tech = "bluespace=6" - resistance_flags = FLAMMABLE - -/obj/item/teleportation_scroll/apprentice - name = "lesser scroll of teleportation" - uses = 1 - origin_tech = "bluespace=5" - - - -/obj/item/teleportation_scroll/attack_self(mob/user) - user.set_machine(src) - var/dat = "Teleportation Scroll:
    " - dat += "Number of uses: [src.uses]
    " - dat += "
    " - dat += "Four uses, use them wisely:
    " - dat += "Teleport
    " - dat += "Kind regards,
    Wizards Federation

    P.S. Don't forget to bring your gear, you'll need it to cast most spells.
    " - user << browse(dat, "window=scroll") - onclose(user, "scroll") - return - -/obj/item/teleportation_scroll/Topic(href, href_list) - ..() - if (usr.stat || usr.restrained() || src.loc != usr) - return - if (!ishuman(usr)) - return 1 - var/mob/living/carbon/human/H = usr - if(H.is_holding(src)) - H.set_machine(src) - if (href_list["spell_teleport"]) - if(uses) - teleportscroll(H) - if(H) - attack_self(H) - return - -/obj/item/teleportation_scroll/proc/teleportscroll(mob/user) - - var/A - - A = input(user, "Area to jump to", "BOOYEA", A) as null|anything in GLOB.teleportlocs - if(!src || QDELETED(src) || !user || !user.is_holding(src) || user.incapacitated() || !A || !uses) - return - var/area/thearea = GLOB.teleportlocs[A] - - var/datum/effect_system/smoke_spread/smoke = new - smoke.set_up(2, user.loc) - smoke.attach(user) - smoke.start() - var/list/L = list() - for(var/turf/T in get_area_turfs(thearea.type)) - if(!is_blocked_turf(T)) - L += T - - if(!L.len) - to_chat(user, "The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry.") - return - - user.forceMove(pick(L)) - - smoke.start() - uses-- +/obj/item/teleportation_scroll + name = "scroll of teleportation" + desc = "A scroll for moving around." + icon = 'icons/obj/wizard.dmi' + icon_state = "scroll" + var/uses = 4 + w_class = WEIGHT_CLASS_SMALL + item_state = "paper" + throw_speed = 3 + throw_range = 7 + origin_tech = "bluespace=6" + resistance_flags = FLAMMABLE + +/obj/item/teleportation_scroll/apprentice + name = "lesser scroll of teleportation" + uses = 1 + origin_tech = "bluespace=5" + + + +/obj/item/teleportation_scroll/attack_self(mob/user) + user.set_machine(src) + var/dat = "Teleportation Scroll:
    " + dat += "Number of uses: [src.uses]
    " + dat += "
    " + dat += "Four uses, use them wisely:
    " + dat += "Teleport
    " + dat += "Kind regards,
    Wizards Federation

    P.S. Don't forget to bring your gear, you'll need it to cast most spells.
    " + user << browse(dat, "window=scroll") + onclose(user, "scroll") + return + +/obj/item/teleportation_scroll/Topic(href, href_list) + ..() + if (usr.stat || usr.restrained() || src.loc != usr) + return + if (!ishuman(usr)) + return 1 + var/mob/living/carbon/human/H = usr + if(H.is_holding(src)) + H.set_machine(src) + if (href_list["spell_teleport"]) + if(uses) + teleportscroll(H) + if(H) + attack_self(H) + return + +/obj/item/teleportation_scroll/proc/teleportscroll(mob/user) + + var/A + + A = input(user, "Area to jump to", "BOOYEA", A) as null|anything in GLOB.teleportlocs + if(!src || QDELETED(src) || !user || !user.is_holding(src) || user.incapacitated() || !A || !uses) + return + var/area/thearea = GLOB.teleportlocs[A] + + var/datum/effect_system/smoke_spread/smoke = new + smoke.set_up(2, user.loc) + smoke.attach(user) + smoke.start() + var/list/L = list() + for(var/turf/T in get_area_turfs(thearea.type)) + if(!is_blocked_turf(T)) + L += T + + if(!L.len) + to_chat(user, "The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry.") + return + + user.forceMove(pick(L)) + + smoke.start() + uses-- diff --git a/code/game/objects/items/sharpener.dm b/code/game/objects/items/sharpener.dm index ce2d73eff0..fb25cb1d76 100644 --- a/code/game/objects/items/sharpener.dm +++ b/code/game/objects/items/sharpener.dm @@ -3,6 +3,7 @@ icon = 'icons/obj/kitchen.dmi' icon_state = "sharpener" desc = "A block that makes things sharp." + force = 5 var/used = 0 var/increment = 4 var/max = 30 diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 2bb5d110fc..8c36a5965f 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -274,6 +274,9 @@ GLOBAL_LIST_INIT(titanium_recipes, list ( \ recipes = GLOB.titanium_recipes . = ..() +/obj/item/stack/sheet/mineral/titanium/fifty + amount = 50 + /* * Plastitanium diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 89fdc6d694..b1cb00acab 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -113,7 +113,7 @@ title+= "[R.title]" title+= " ([R.req_amount] [singular_name]\s)" if (can_build) - t1 += text("[] ", src, i, title) + t1 += text("[] ", i, title) else t1 += text("[]", title) continue @@ -123,9 +123,9 @@ var/list/multipliers = list(5,10,25) for (var/n in multipliers) if (max_multiplier>=n) - t1 += " [n*R.res_amount]x" + t1 += " [n*R.res_amount]x" if (!(max_multiplier in multipliers)) - t1 += " [max_multiplier*R.res_amount]x" + t1 += " [max_multiplier*R.res_amount]x" t1 += "
    " user << browse(t1, "window=stack") diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 02a212ee43..ceefd79338 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -93,7 +93,7 @@ /obj/item/stack/tile/basalt name = "basalt tile" singular_name = "basalt floor tile" - desc = "Artificially made ashy soil themed on a hostile enviroment." + desc = "Artificially made ashy soil themed on a hostile environment." icon_state = "tile_basalt" origin_tech = "materials=1" turf_type = /turf/open/floor/grass/fakebasalt diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 2e11600d65..2fdd800d6d 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -542,7 +542,7 @@ /obj/item/storage/backpack/duffelbag/syndie/firestarter/PopulateContents() new /obj/item/clothing/under/syndicate/soviet(src) - new /obj/item/watertank/operator(src) + new /obj/item/watertank/op(src) new /obj/item/clothing/suit/space/hardsuit/syndi/elite(src) new /obj/item/gun/ballistic/automatic/pistol/APS(src) new /obj/item/ammo_box/magazine/pistolm9mm(src) diff --git a/code/game/objects/items/storage/book.dm b/code/game/objects/items/storage/book.dm index c0c861f4c4..0712fec228 100644 --- a/code/game/objects/items/storage/book.dm +++ b/code/game/objects/items/storage/book.dm @@ -43,7 +43,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", var/icon/bibleicon = icon('icons/obj/storage.dmi', GLOB.biblestates[i]) var/nicename = GLOB.biblenames[i] H << browse_rsc(bibleicon, nicename) - dat += {""} + dat += {""} dat += "
    [entry][functions]
    [nicename]
    [nicename]
    " H << browse(dat, "window=editicon;can_close=0;can_minimize=0;size=250x650") diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 26ea13cb04..197a9c22c3 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -611,8 +611,7 @@ obj/item/storage/box/clown name = "clown box" desc = "A colorful cardboard box for the clown" - icon_state = "clownbox" - illustration = null + illustration = "clown" /obj/item/storage/box/clown/attackby(obj/item/I, mob/user, params) if((istype(I, /obj/item/bodypart/l_arm/robot)) || (istype(I, /obj/item/bodypart/r_arm/robot))) diff --git a/code/game/objects/items/storage/lockbox.dm b/code/game/objects/items/storage/lockbox.dm index 50898e72e1..195d5b25f5 100644 --- a/code/game/objects/items/storage/lockbox.dm +++ b/code/game/objects/items/storage/lockbox.dm @@ -128,11 +128,12 @@ if(!locked) to_chat(user, "Alt-click to [open ? "close":"open"] it.") -/obj/item/storage/lockbox/medal/AltClick() - if(!locked) - open = (open ? FALSE : TRUE) - update_icon() - ..() +/obj/item/storage/lockbox/medal/AltClick(mob/user) + if(user.canUseTopic(src, be_close=TRUE)) + if(!locked) + open = (open ? FALSE : TRUE) + update_icon() + ..() /obj/item/storage/lockbox/medal/PopulateContents() new /obj/item/clothing/accessory/medal/gold/captain(src) diff --git a/code/game/objects/items/storage/secure.dm b/code/game/objects/items/storage/secure.dm index 4d56b6a8e8..0f7bdd616c 100644 --- a/code/game/objects/items/storage/secure.dm +++ b/code/game/objects/items/storage/secure.dm @@ -78,7 +78,7 @@ message = text("[]", src.code) if (!src.locked) message = "*****" - dat += text("
    \n>[]
    \n1-2-3
    \n4-5-6
    \n7-8-9
    \nR-0-E
    \n", message, src, src, src, src, src, src, src, src, src, src, src, src) + dat += text("
    \n>[]
    \n1-2-3
    \n4-5-6
    \n7-8-9
    \nR-0-E
    \n", message) user << browse(dat, "window=caselock;size=300x280") /obj/item/storage/secure/Topic(href, href_list) diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm index 513bdd2474..3d1c091a2b 100644 --- a/code/game/objects/items/tanks/tanks.dm +++ b/code/game/objects/items/tanks/tanks.dm @@ -233,6 +233,8 @@ return 0 var/pressure = air_contents.return_pressure() + var/temperature = air_contents.return_pressure() + if(pressure > TANK_FRAGMENT_PRESSURE) if(!istype(src.loc, /obj/item/device/transfer_valve)) message_admins("Explosive tank rupture! Last key to touch the tank was [src.fingerprintslast].") @@ -252,7 +254,7 @@ else qdel(src) - else if(pressure > TANK_RUPTURE_PRESSURE) + else if(pressure > TANK_RUPTURE_PRESSURE || temperature > TANK_MELT_TEMPERATURE) if(integrity <= 0) var/turf/T = get_turf(src) if(!T) diff --git a/code/game/objects/items/tanks/watertank.dm b/code/game/objects/items/tanks/watertank.dm index 38a9555f83..5fedac37a8 100644 --- a/code/game/objects/items/tanks/watertank.dm +++ b/code/game/objects/items/tanks/watertank.dm @@ -439,7 +439,7 @@ user.update_inv_back() //for overlays update //Operator backpack spray -/obj/item/watertank/operator +/obj/item/watertank/op name = "backpack water tank" desc = "A New Russian backpack spray for systematic cleansing of carbon lifeforms." icon_state = "waterbackpackjani" @@ -448,7 +448,7 @@ volume = 2000 slowdown = 0 -/obj/item/watertank/operator/New() +/obj/item/watertank/op/New() ..() reagents.add_reagent("mutagen",350) reagents.add_reagent("napalm",125) @@ -458,8 +458,7 @@ reagents.add_reagent("plasma",250) reagents.add_reagent("condensedcapsaicin",500) -/obj/item/reagent_containers/spray/mister/operator - name = "janitor spray nozzle" +/obj/item/reagent_containers/spray/mister/op desc = "A mister nozzle attached to several extended water tanks. It suspiciously has a compressor in the system and is labelled entirely in New Cyrillic." icon = 'icons/obj/hydroponics/equipment.dmi' icon_state = "misterjani" @@ -470,5 +469,5 @@ amount_per_transfer_from_this = 100 possible_transfer_amounts = list(75,100,150) -/obj/item/watertank/operator/make_noz() - return new /obj/item/reagent_containers/spray/mister/operator(src) +/obj/item/watertank/op/make_noz() + return new /obj/item/reagent_containers/spray/mister/op(src) diff --git a/code/game/objects/items/teleportation.dm b/code/game/objects/items/teleportation.dm index c39a03dd12..2b1216b6da 100644 --- a/code/game/objects/items/teleportation.dm +++ b/code/game/objects/items/teleportation.dm @@ -33,17 +33,17 @@ user.set_machine(src) var/dat if (src.temp) - dat = "[src.temp]

    Clear" + dat = "[src.temp]

    Clear" else dat = {" Persistent Signal Locator
    Frequency: -- -- [format_frequency(src.frequency)] -+ -+
    +- +- [format_frequency(src.frequency)] ++ ++
    -Refresh"} +Refresh"} user << browse(dat, "window=radio") onclose(user, "radio") return @@ -105,7 +105,7 @@ Frequency: direct = "weak" src.temp += "[W.imp_in.name]-[dir2text(get_dir(sr, tr))]-[direct]
    " - src.temp += "You are at \[[sr.x],[sr.y],[sr.z]\] in orbital coordinates.

    Refresh
    " + src.temp += "You are at \[[sr.x],[sr.y],[sr.z]\] in orbital coordinates.

    Refresh
    " else src.temp += "Processing Error: Unable to locate orbital position.
    " else @@ -150,12 +150,21 @@ Frequency: . = ..() active_portal_pairs = list() -/obj/item/hand_tele/afterattack(atom/target, mob/user, proximity, params) - if(is_parent_of_portal(target)) - qdel(target) - to_chat(user, "You dispel [target] remotely with \the [src]!") +/obj/item/hand_tele/pre_attackby(atom/target, mob/user, params) + if(try_dispel_portal(target, user)) + return FALSE return ..() +/obj/item/hand_tele/proc/try_dispel_portal(atom/target, mob/user) + if(is_parent_of_portal(target)) + qdel(target) + to_chat(user, "You dispel [target] with \the [src]!") + return TRUE + return FALSE + +/obj/item/hand_tele/afterattack(atom/target, mob/user) + try_dispel_portal(target, user) + . = ..() /obj/item/hand_tele/attack_self(mob/user) var/turf/current_location = get_turf(user)//What turf is the user on? @@ -196,6 +205,11 @@ Frequency: if(A.noteleport) to_chat(user, "\The [src] is malfunctioning.") return + current_location = get_turf(user) //Recheck. + current_area = current_location.loc + if(!current_location || current_area.noteleport || current_location.z > ZLEVEL_SPACEMAX || !isturf(user.loc))//If turf was not found or they're on z level 2 or >7 which does not currently exist. or if user is not located on a turf + to_chat(user, "\The [src] is malfunctioning.") + return user.show_message("Locked In.", 2) var/list/obj/effect/portal/created = create_portal_pair(current_location, get_teleport_turf(get_turf(T)), src, 300, 1) if(!(LAZYLEN(created) == 2)) diff --git a/code/game/objects/items/tools.dm b/code/game/objects/items/tools.dm index d18799c681..bd618f217e 100644 --- a/code/game/objects/items/tools.dm +++ b/code/game/objects/items/tools.dm @@ -457,6 +457,15 @@ flamethrower_screwdriver(I, user) else if(istype(I, /obj/item/stack/rods)) flamethrower_rods(I, user) + else if(istype(I, /obj/item/reagent_containers) && I.is_open_container()) + var/amountNeeded = max_fuel - get_fuel() + var/obj/item/reagent_containers/container = I + if(length(container.reagents.reagent_list) > 1) + to_chat(user, "[container] has too many chemicals mixed into it. You wouldn't want to put the wrong chemicals into [src].") + return ..() + if(amountNeeded > 0 && container.reagents.has_reagent("welding_fuel")) + container.reagents.trans_id_to(src, "welding_fuel", amountNeeded) + to_chat(user, "You transfer some fuel from [container] to [src].") else return ..() diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm new file mode 100644 index 0000000000..a248dff0db --- /dev/null +++ b/code/game/objects/items/tools/crowbar.dm @@ -0,0 +1,88 @@ +/obj/item/crowbar + name = "pocket crowbar" + desc = "A small crowbar. This handy tool is useful for lots of things, such as prying floor tiles or opening unpowered doors." + icon = 'icons/obj/tools.dmi' + icon_state = "crowbar" + lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' + usesound = 'sound/items/crowbar.ogg' + flags_1 = CONDUCT_1 + slot_flags = SLOT_BELT + force = 5 + throwforce = 7 + w_class = WEIGHT_CLASS_SMALL + materials = list(MAT_METAL=50) + origin_tech = "engineering=1;combat=1" + attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked") + tool_behaviour = TOOL_CROWBAR + toolspeed = 1 + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 30) + +/obj/item/crowbar/suicide_act(mob/user) + user.visible_message("[user] is beating [user.p_them()]self to death with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + playsound(loc, 'sound/weapons/genhit.ogg', 50, 1, -1) + return (BRUTELOSS) + +/obj/item/crowbar/red + icon_state = "crowbar_red" + force = 8 + +/obj/item/crowbar/brass + name = "brass crowbar" + desc = "A brass crowbar. It feels faintly warm to the touch." + resistance_flags = FIRE_PROOF | ACID_PROOF + icon_state = "crowbar_brass" + toolspeed = 0.5 + +/obj/item/crowbar/abductor + name = "alien crowbar" + desc = "A hard-light crowbar. It appears to pry by itself, without any effort required." + icon = 'icons/obj/abductor.dmi' + usesound = 'sound/weapons/sonic_jackhammer.ogg' + icon_state = "crowbar" + toolspeed = 0.1 + origin_tech = "combat=4;engineering=4;abductor=3" + +/obj/item/crowbar/large + name = "crowbar" + desc = "It's a big crowbar. It doesn't fit in your pockets, because it's big." + force = 12 + w_class = WEIGHT_CLASS_NORMAL + throw_speed = 3 + throw_range = 3 + materials = list(MAT_METAL=70) + icon_state = "crowbar_large" + item_state = "crowbar" + toolspeed = 0.5 + +/obj/item/crowbar/cyborg + name = "hydraulic crowbar" + desc = "A hydraulic prying tool, compact but powerful. Designed to replace crowbar in construction cyborgs." + usesound = 'sound/items/jaws_pry.ogg' + force = 10 + toolspeed = 0.5 + +/obj/item/crowbar/power + name = "jaws of life" + desc = "A set of jaws of life, compressed through the magic of science. It's fitted with a prying head." + icon_state = "jaws_pry" + item_state = "jawsoflife" + lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' + materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25) + origin_tech = "materials=2;engineering=2" + usesound = 'sound/items/jaws_pry.ogg' + force = 15 + toolspeed = 0.25 + +/obj/item/crowbar/power/suicide_act(mob/user) + user.visible_message("[user] is putting [user.p_their()] head in [src], it looks like [user.p_theyre()] trying to commit suicide!") + playsound(loc, 'sound/items/jaws_pry.ogg', 50, 1, -1) + return (BRUTELOSS) + +/obj/item/crowbar/power/attack_self(mob/user) + playsound(get_turf(user), 'sound/items/change_jaws.ogg', 50, 1) + var/obj/item/wirecutters/power/cutjaws = new /obj/item/wirecutters/power + to_chat(user, "You attach the cutting jaws to [src].") + qdel(src) + user.put_in_active_hand(cutjaws) \ No newline at end of file diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm new file mode 100644 index 0000000000..278ac4385d --- /dev/null +++ b/code/game/objects/items/tools/screwdriver.dm @@ -0,0 +1,136 @@ +/obj/item/screwdriver + name = "screwdriver" + desc = "You can be totally screwy with this." + icon = 'icons/obj/tools.dmi' + icon_state = "screwdriver_map" + item_state = "screwdriver" + lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' + flags_1 = CONDUCT_1 + slot_flags = SLOT_BELT + force = 5 + w_class = WEIGHT_CLASS_TINY + throwforce = 5 + throw_speed = 3 + throw_range = 5 + materials = list(MAT_METAL=75) + attack_verb = list("stabbed") + hitsound = 'sound/weapons/bladeslice.ogg' + usesound = 'sound/items/screwdriver.ogg' + tool_behaviour = TOOL_SCREWDRIVER + toolspeed = 1 + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 30) + var/random_color = TRUE //if the screwdriver uses random coloring + var/static/list/screwdriver_colors = list( + "blue" = rgb(24, 97, 213), + "red" = rgb(149, 23, 16), + "pink" = rgb(213, 24, 141), + "brown" = rgb(160, 82, 18), + "green" = rgb(14, 127, 27), + "cyan" = rgb(24, 162, 213), + "yellow" = rgb(213, 140, 24) + ) + +/obj/item/screwdriver/suicide_act(mob/user) + user.visible_message("[user] is stabbing [src] into [user.p_their()] [pick("temple", "heart")]! It looks like [user.p_theyre()] trying to commit suicide!") + return(BRUTELOSS) + +/obj/item/screwdriver/Initialize() + . = ..() + if(random_color) //random colors! + icon_state = "screwdriver" + var/our_color = pick(screwdriver_colors) + add_atom_colour(screwdriver_colors[our_color], FIXED_COLOUR_PRIORITY) + update_icon() + if(prob(75)) + pixel_y = rand(0, 16) + +/obj/item/screwdriver/update_icon() + if(!random_color) //icon override + return + cut_overlays() + var/mutable_appearance/base_overlay = mutable_appearance(icon, "screwdriver_screwybits") + base_overlay.appearance_flags = RESET_COLOR + add_overlay(base_overlay) + +/obj/item/screwdriver/worn_overlays(isinhands = FALSE, icon_file) + . = list() + if(isinhands && random_color) + var/mutable_appearance/M = mutable_appearance(icon_file, "screwdriver_head") + M.appearance_flags = RESET_COLOR + . += M + +/obj/item/screwdriver/get_belt_overlay() + if(random_color) + var/mutable_appearance/body = mutable_appearance('icons/obj/clothing/belt_overlays.dmi', "screwdriver") + var/mutable_appearance/head = mutable_appearance('icons/obj/clothing/belt_overlays.dmi', "screwdriver_head") + body.color = color + head.add_overlay(body) + return head + else + return mutable_appearance('icons/obj/clothing/belt_overlays.dmi', icon_state) + +/obj/item/screwdriver/attack(mob/living/carbon/M, mob/living/carbon/user) + if(!istype(M)) + return ..() + if(user.zone_selected != "eyes" && user.zone_selected != "head") + return ..() + if(user.disabilities & CLUMSY && prob(50)) + M = user + return eyestab(M,user) + +/obj/item/screwdriver/brass + name = "brass screwdriver" + desc = "A screwdriver made of brass. The handle feels freezing cold." + resistance_flags = FIRE_PROOF | ACID_PROOF + icon_state = "screwdriver_brass" + item_state = "screwdriver_brass" + toolspeed = 0.5 + random_color = FALSE + +/obj/item/screwdriver/abductor + name = "alien screwdriver" + desc = "An ultrasonic screwdriver." + icon = 'icons/obj/abductor.dmi' + icon_state = "screwdriver_a" + item_state = "screwdriver_nuke" + usesound = 'sound/items/pshoom.ogg' + toolspeed = 0.1 + random_color = FALSE + +/obj/item/screwdriver/power + name = "hand drill" + desc = "A simple powered hand drill. It's fitted with a screw bit." + icon_state = "drill_screw" + item_state = "drill" + lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' + materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25) + origin_tech = "materials=2;engineering=2" //done for balance reasons, making them high value for research, but harder to get + force = 8 //might or might not be too high, subject to change + w_class = WEIGHT_CLASS_SMALL + throwforce = 8 + throw_speed = 2 + throw_range = 3//it's heavier than a screw driver/wrench, so it does more damage, but can't be thrown as far + attack_verb = list("drilled", "screwed", "jabbed","whacked") + hitsound = 'sound/items/drill_hit.ogg' + usesound = 'sound/items/drill_use.ogg' + toolspeed = 0.25 + random_color = FALSE + +/obj/item/screwdriver/power/suicide_act(mob/user) + user.visible_message("[user] is putting [src] to [user.p_their()] temple. It looks like [user.p_theyre()] trying to commit suicide!") + return(BRUTELOSS) + +/obj/item/screwdriver/power/attack_self(mob/user) + playsound(get_turf(user),'sound/items/change_drill.ogg',50,1) + var/obj/item/wrench/power/b_drill = new /obj/item/wrench/power + to_chat(user, "You attach the bolt driver bit to [src].") + qdel(src) + user.put_in_active_hand(b_drill) + +/obj/item/screwdriver/cyborg + name = "powered screwdriver" + desc = "An electrical screwdriver, designed to be both precise and quick." + usesound = 'sound/items/drill_use.ogg' + toolspeed = 0.5 \ No newline at end of file diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm new file mode 100644 index 0000000000..94fbb0a9a0 --- /dev/null +++ b/code/game/objects/items/tools/weldingtool.dm @@ -0,0 +1,345 @@ +#define WELDER_FUEL_BURN_INTERVAL 13 +/obj/item/weldingtool + name = "welding tool" + desc = "A standard edition welder provided by Nanotrasen." + icon = 'icons/obj/tools.dmi' + icon_state = "welder" + item_state = "welder" + lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' + flags_1 = CONDUCT_1 + slot_flags = SLOT_BELT + force = 3 + throwforce = 5 + hitsound = "swing_hit" + usesound = 'sound/items/welder.ogg' + var/acti_sound = 'sound/items/welderactivate.ogg' + var/deac_sound = 'sound/items/welderdeactivate.ogg' + throw_speed = 3 + throw_range = 5 + w_class = WEIGHT_CLASS_SMALL + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 30) + resistance_flags = FIRE_PROOF + + materials = list(MAT_METAL=70, MAT_GLASS=30) + origin_tech = "engineering=1;plasmatech=1" + var/welding = 0 //Whether or not the welding tool is off(0), on(1) or currently welding(2) + var/status = TRUE //Whether the welder is secured or unsecured (able to attach rods to it to make a flamethrower) + var/max_fuel = 20 //The max amount of fuel the welder can hold + var/change_icons = 1 + var/can_off_process = 0 + var/light_intensity = 2 //how powerful the emitted light is when used. + var/burned_fuel_for = 0 //when fuel was last removed + heat = 3800 + toolspeed = 1 + +/obj/item/weldingtool/Initialize() + . = ..() + create_reagents(max_fuel) + reagents.add_reagent("welding_fuel", max_fuel) + update_icon() + + +/obj/item/weldingtool/proc/update_torch() + if(welding) + add_overlay("[initial(icon_state)]-on") + item_state = "[initial(item_state)]1" + else + item_state = "[initial(item_state)]" + + +/obj/item/weldingtool/update_icon() + cut_overlays() + if(change_icons) + var/ratio = get_fuel() / max_fuel + ratio = Ceiling(ratio*4) * 25 + add_overlay("[initial(icon_state)][ratio]") + update_torch() + return + + +/obj/item/weldingtool/process() + switch(welding) + if(0) + force = 3 + damtype = "brute" + update_icon() + if(!can_off_process) + STOP_PROCESSING(SSobj, src) + return + //Welders left on now use up fuel, but lets not have them run out quite that fast + if(1) + force = 15 + damtype = "fire" + ++burned_fuel_for + if(burned_fuel_for >= WELDER_FUEL_BURN_INTERVAL) + remove_fuel(1) + update_icon() + + //This is to start fires. process() is only called if the welder is on. + open_flame() + + +/obj/item/weldingtool/suicide_act(mob/user) + user.visible_message("[user] welds [user.p_their()] every orifice closed! It looks like [user.p_theyre()] trying to commit suicide!") + return (FIRELOSS) + + +/obj/item/weldingtool/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/screwdriver)) + flamethrower_screwdriver(I, user) + else if(istype(I, /obj/item/stack/rods)) + flamethrower_rods(I, user) + else if(istype(I, /obj/item/reagent_containers) && I.is_open_container()) + var/amountNeeded = max_fuel - get_fuel() + var/obj/item/reagent_containers/container = I + if(length(container.reagents.reagent_list) > 1) + to_chat(user, "[container] has too many chemicals mixed into it. You wouldn't want to put the wrong chemicals into [src].") + return ..() + if(amountNeeded > 0 && container.reagents.has_reagent("welding_fuel")) + container.reagents.trans_id_to(src, "welding_fuel", amountNeeded) + to_chat(user, "You transfer some fuel from [container] to [src].") + else + return ..() + + +/obj/item/weldingtool/attack(mob/living/carbon/human/H, mob/user) + if(!istype(H)) + return ..() + + var/obj/item/bodypart/affecting = H.get_bodypart(check_zone(user.zone_selected)) + + if(affecting && affecting.status == BODYPART_ROBOTIC && user.a_intent != INTENT_HARM) + if(src.remove_fuel(1)) + playsound(loc, usesound, 50, 1) + if(user == H) + user.visible_message("[user] starts to fix some of the dents on [H]'s [affecting.name].", "You start fixing some of the dents on [H]'s [affecting.name].") + if(!do_mob(user, H, 50)) + return + item_heal_robotic(H, user, 15, 0) + else + return ..() + + +/obj/item/weldingtool/afterattack(atom/O, mob/user, proximity) + if(!proximity) + return + + if(welding) + remove_fuel(1) + var/turf/location = get_turf(user) + location.hotspot_expose(700, 50, 1) + if(get_fuel() <= 0) + set_light(0) + + if(isliving(O)) + var/mob/living/L = O + if(L.IgniteMob()) + message_admins("[key_name_admin(user)] set [key_name_admin(L)] on fire") + log_game("[key_name(user)] set [key_name(L)] on fire") + + +/obj/item/weldingtool/attack_self(mob/user) + switched_on(user) + if(welding) + set_light(light_intensity) + + update_icon() + + +//Returns the amount of fuel in the welder +/obj/item/weldingtool/proc/get_fuel() + return reagents.get_reagent_amount("welding_fuel") + + +//Removes fuel from the welding tool. If a mob is passed, it will try to flash the mob's eyes. This should probably be renamed to use() +/obj/item/weldingtool/proc/remove_fuel(amount = 1, mob/living/M = null) + if(!welding || !check_fuel()) + return 0 + if(amount) + burned_fuel_for = 0 + if(get_fuel() >= amount) + reagents.remove_reagent("welding_fuel", amount) + check_fuel() + if(M) + M.flash_act(light_intensity) + return TRUE + else + if(M) + to_chat(M, "You need more welding fuel to complete this task!") + return FALSE + + +//Turns off the welder if there is no more fuel (does this really need to be its own proc?) +/obj/item/weldingtool/proc/check_fuel(mob/user) + if(get_fuel() <= 0 && welding) + switched_on(user) + update_icon() + //mob icon update + if(ismob(loc)) + var/mob/M = loc + M.update_inv_hands(0) + + return 0 + return 1 + +//Switches the welder on +/obj/item/weldingtool/proc/switched_on(mob/user) + if(!status) + to_chat(user, "[src] can't be turned on while unsecured!") + return + welding = !welding + if(welding) + if(get_fuel() >= 1) + to_chat(user, "You switch [src] on.") + playsound(loc, acti_sound, 50, 1) + force = 15 + damtype = "fire" + hitsound = 'sound/items/welder.ogg' + update_icon() + START_PROCESSING(SSobj, src) + else + to_chat(user, "You need more fuel!") + switched_off(user) + else + to_chat(user, "You switch [src] off.") + playsound(loc, deac_sound, 50, 1) + switched_off(user) + +//Switches the welder off +/obj/item/weldingtool/proc/switched_off(mob/user) + welding = 0 + set_light(0) + + force = 3 + damtype = "brute" + hitsound = "swing_hit" + update_icon() + + +/obj/item/weldingtool/examine(mob/user) + ..() + to_chat(user, "It contains [get_fuel()] unit\s of fuel out of [max_fuel].") + +/obj/item/weldingtool/is_hot() + return welding * heat + +//Returns whether or not the welding tool is currently on. +/obj/item/weldingtool/proc/isOn() + return welding + + +/obj/item/weldingtool/proc/flamethrower_screwdriver(obj/item/I, mob/user) + if(welding) + to_chat(user, "Turn it off first!") + return + status = !status + if(status) + to_chat(user, "You resecure [src].") + else + to_chat(user, "[src] can now be attached and modified.") + add_fingerprint(user) + +/obj/item/weldingtool/proc/flamethrower_rods(obj/item/I, mob/user) + if(!status) + var/obj/item/stack/rods/R = I + if (R.use(1)) + var/obj/item/flamethrower/F = new /obj/item/flamethrower(user.loc) + if(!remove_item_from_storage(F)) + user.transferItemToLoc(src, F, TRUE) + F.weldtool = src + add_fingerprint(user) + to_chat(user, "You add a rod to a welder, starting to build a flamethrower.") + user.put_in_hands(F) + else + to_chat(user, "You need one rod to start building a flamethrower!") + +/obj/item/weldingtool/ignition_effect(atom/A, mob/user) + if(welding && remove_fuel(1, user)) + . = "[user] casually lights [A] with [src], what a badass." + else + . = "" + +/obj/item/weldingtool/largetank + name = "industrial welding tool" + desc = "A slightly larger welder with a larger tank." + icon_state = "indwelder" + max_fuel = 40 + materials = list(MAT_GLASS=60) + origin_tech = "engineering=2;plasmatech=2" + +/obj/item/weldingtool/largetank/cyborg + name = "integrated welding tool" + desc = "An advanced welder designed to be used in robotic systems." + toolspeed = 0.5 + +/obj/item/weldingtool/largetank/flamethrower_screwdriver() + return + + +/obj/item/weldingtool/mini + name = "emergency welding tool" + desc = "A miniature welder used during emergencies." + icon_state = "miniwelder" + max_fuel = 10 + w_class = WEIGHT_CLASS_TINY + materials = list(MAT_METAL=30, MAT_GLASS=10) + change_icons = 0 + +/obj/item/weldingtool/mini/flamethrower_screwdriver() + return + +/obj/item/weldingtool/abductor + name = "alien welding tool" + desc = "An alien welding tool. Whatever fuel it uses, it never runs out." + icon = 'icons/obj/abductor.dmi' + icon_state = "welder" + toolspeed = 0.1 + light_intensity = 0 + change_icons = 0 + origin_tech = "plasmatech=5;engineering=5;abductor=3" + +/obj/item/weldingtool/abductor/process() + if(get_fuel() <= max_fuel) + reagents.add_reagent("welding_fuel", 1) + ..() + +/obj/item/weldingtool/hugetank + name = "upgraded industrial welding tool" + desc = "An upgraded welder based of the industrial welder." + icon_state = "upindwelder" + item_state = "upindwelder" + max_fuel = 80 + materials = list(MAT_METAL=70, MAT_GLASS=120) + origin_tech = "engineering=3;plasmatech=2" + +/obj/item/weldingtool/experimental + name = "experimental welding tool" + desc = "An experimental welder capable of self-fuel generation and less harmful to the eyes." + icon_state = "exwelder" + item_state = "exwelder" + max_fuel = 40 + materials = list(MAT_METAL=70, MAT_GLASS=120) + origin_tech = "materials=4;engineering=4;bluespace=3;plasmatech=4" + var/last_gen = 0 + change_icons = 0 + can_off_process = 1 + light_intensity = 1 + toolspeed = 0.5 + var/nextrefueltick = 0 + +/obj/item/weldingtool/experimental/brass + name = "brass welding tool" + desc = "A brass welder that seems to constantly refuel itself. It is faintly warm to the touch." + resistance_flags = FIRE_PROOF | ACID_PROOF + icon_state = "brasswelder" + item_state = "brasswelder" + + +/obj/item/weldingtool/experimental/process() + ..() + if(get_fuel() < max_fuel && nextrefueltick < world.time) + nextrefueltick = world.time + 10 + reagents.add_reagent("welding_fuel", 1) + +#undef WELDER_FUEL_BURN_INTERVAL \ No newline at end of file diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm new file mode 100644 index 0000000000..da0bbd677c --- /dev/null +++ b/code/game/objects/items/tools/wirecutters.dm @@ -0,0 +1,98 @@ +/obj/item/wirecutters + name = "wirecutters" + desc = "This cuts wires." + icon = 'icons/obj/tools.dmi' + icon_state = "cutters" + lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' + flags_1 = CONDUCT_1 + slot_flags = SLOT_BELT + force = 6 + throw_speed = 3 + throw_range = 7 + w_class = WEIGHT_CLASS_SMALL + materials = list(MAT_METAL=80) + attack_verb = list("pinched", "nipped") + hitsound = 'sound/items/wirecutter.ogg' + usesound = 'sound/items/wirecutter.ogg' + origin_tech = "materials=1;engineering=1" + tool_behaviour = TOOL_WIRECUTTER + toolspeed = 1 + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 30) + var/random_color = TRUE + + +/obj/item/wirecutters/New(loc, var/param_color = null) + ..() + if(random_color) + if(!param_color) + param_color = pick("yellow","red") + icon_state = "cutters_[param_color]" + +/obj/item/wirecutters/attack(mob/living/carbon/C, mob/user) + if(istype(C) && C.handcuffed && istype(C.handcuffed, /obj/item/restraints/handcuffs/cable)) + user.visible_message("[user] cuts [C]'s restraints with [src]!") + qdel(C.handcuffed) + C.handcuffed = null + if(C.buckled && C.buckled.buckle_requires_restraints) + C.buckled.unbuckle_mob(C) + C.update_handcuffed() + return + else + ..() + +/obj/item/wirecutters/suicide_act(mob/user) + user.visible_message("[user] is cutting at [user.p_their()] arteries with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + playsound(loc, usesound, 50, 1, -1) + return (BRUTELOSS) + +/obj/item/wirecutters/brass + name = "brass wirecutters" + desc = "A pair of wirecutters made of brass. The handle feels freezing cold to the touch." + resistance_flags = FIRE_PROOF | ACID_PROOF + icon_state = "cutters_brass" + random_color = FALSE + toolspeed = 0.5 + +/obj/item/wirecutters/abductor + name = "alien wirecutters" + desc = "Extremely sharp wirecutters, made out of a silvery-green metal." + icon = 'icons/obj/abductor.dmi' + icon_state = "cutters" + toolspeed = 0.1 + origin_tech = "materials=5;engineering=4;abductor=3" + random_color = FALSE + +/obj/item/wirecutters/cyborg + name = "wirecutters" + desc = "This cuts wires." + toolspeed = 0.5 + +/obj/item/wirecutters/power + name = "jaws of life" + desc = "A set of jaws of life, compressed through the magic of science. It's fitted with a cutting head." + icon_state = "jaws_cutter" + item_state = "jawsoflife" + origin_tech = "materials=2;engineering=2" + materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25) + usesound = 'sound/items/jaws_cut.ogg' + toolspeed = 0.25 + random_color = FALSE + +/obj/item/wirecutters/power/suicide_act(mob/user) + user.visible_message("[user] is wrapping \the [src] around [user.p_their()] neck. It looks like [user.p_theyre()] trying to rip [user.p_their()] head off!") + playsound(loc, 'sound/items/jaws_cut.ogg', 50, 1, -1) + if(iscarbon(user)) + var/mob/living/carbon/C = user + var/obj/item/bodypart/BP = C.get_bodypart("head") + if(BP) + BP.drop_limb() + playsound(loc,pick('sound/misc/desceration-01.ogg','sound/misc/desceration-02.ogg','sound/misc/desceration-01.ogg') ,50, 1, -1) + return (BRUTELOSS) + +/obj/item/wirecutters/power/attack_self(mob/user) + playsound(get_turf(user), 'sound/items/change_jaws.ogg', 50, 1) + var/obj/item/crowbar/power/pryjaws = new /obj/item/crowbar/power + to_chat(user, "You attach the pry jaws to [src].") + qdel(src) + user.put_in_active_hand(pryjaws) \ No newline at end of file diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm new file mode 100644 index 0000000000..8fb6bd4211 --- /dev/null +++ b/code/game/objects/items/tools/wrench.dm @@ -0,0 +1,110 @@ +/obj/item/wrench + name = "wrench" + desc = "A wrench with common uses. Can be found in your hand." + icon = 'icons/obj/tools.dmi' + icon_state = "wrench" + lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' + flags_1 = CONDUCT_1 + slot_flags = SLOT_BELT + force = 5 + throwforce = 7 + w_class = WEIGHT_CLASS_SMALL + usesound = 'sound/items/ratchet.ogg' + materials = list(MAT_METAL=150) + origin_tech = "materials=1;engineering=1" + attack_verb = list("bashed", "battered", "bludgeoned", "whacked") + tool_behaviour = TOOL_WRENCH + toolspeed = 1 + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 30) + +/obj/item/wrench/suicide_act(mob/user) + user.visible_message("[user] is beating [user.p_them()]self to death with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + playsound(loc, 'sound/weapons/genhit.ogg', 50, 1, -1) + return (BRUTELOSS) + +/obj/item/wrench/cyborg + name = "automatic wrench" + desc = "An advanced robotic wrench. Can be found in construction cyborgs." + toolspeed = 0.5 + +/obj/item/wrench/brass + name = "brass wrench" + desc = "A brass wrench. It's faintly warm to the touch." + resistance_flags = FIRE_PROOF | ACID_PROOF + icon_state = "wrench_brass" + toolspeed = 0.5 + +/obj/item/wrench/abductor + name = "alien wrench" + desc = "A polarized wrench. It causes anything placed between the jaws to turn." + icon = 'icons/obj/abductor.dmi' + icon_state = "wrench" + usesound = 'sound/effects/empulse.ogg' + toolspeed = 0.1 + origin_tech = "materials=5;engineering=5;abductor=3" + +/obj/item/wrench/power + name = "hand drill" + desc = "A simple powered hand drill. It's fitted with a bolt bit." + icon_state = "drill_bolt" + item_state = "drill" + lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' + usesound = 'sound/items/drill_use.ogg' + materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25) + origin_tech = "materials=2;engineering=2" //done for balance reasons, making them high value for research, but harder to get + force = 8 //might or might not be too high, subject to change + w_class = WEIGHT_CLASS_SMALL + throwforce = 8 + attack_verb = list("drilled", "screwed", "jabbed") + toolspeed = 0.25 + +/obj/item/wrench/power/attack_self(mob/user) + playsound(get_turf(user),'sound/items/change_drill.ogg',50,1) + var/obj/item/wirecutters/power/s_drill = new /obj/item/screwdriver/power + to_chat(user, "You attach the screw driver bit to [src].") + qdel(src) + user.put_in_active_hand(s_drill) + +/obj/item/wrench/power/suicide_act(mob/user) + user.visible_message("[user] is pressing [src] against [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!") + return (BRUTELOSS) + +/obj/item/wrench/medical + name = "medical wrench" + desc = "A medical wrench with common(medical?) uses. Can be found in your hand." + icon_state = "wrench_medical" + force = 2 //MEDICAL + throwforce = 4 + origin_tech = "materials=1;engineering=1;biotech=3" + attack_verb = list("wrenched", "medicaled", "tapped", "jabbed", "whacked") + +/obj/item/wrench/medical/suicide_act(mob/living/user) + user.visible_message("[user] is praying to the medical wrench to take [user.p_their()] soul. It looks like [user.p_theyre()] trying to commit suicide!") + // TODO Make them glow with the power of the M E D I C A L W R E N C H + // during their ascension + + // Stun stops them from wandering off + user.Stun(100, ignore_canstun = TRUE) + playsound(loc, 'sound/effects/pray.ogg', 50, 1, -1) + + // Let the sound effect finish playing + sleep(20) + + if(!user) + return + + for(var/obj/item/W in user) + user.dropItemToGround(W) + + var/obj/item/wrench/medical/W = new /obj/item/wrench/medical(loc) + W.add_fingerprint(user) + W.desc += " For some reason, it reminds you of [user.name]." + + if(!user) + return + + user.dust() + + return OXYLOSS \ No newline at end of file diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 8d56fccad6..25c67b2713 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -750,7 +750,7 @@ /obj/item/toy/cards/cardhand/interact(mob/user) var/dat = "You have:
    " for(var/t in currenthand) - dat += "A [t].
    " + dat += "A [t].
    " dat += "Which card will you remove next?" var/datum/browser/popup = new(user, "cardhand", "Hand of Cards", 400, 240) popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm index 048184578a..19ccee75ae 100644 --- a/code/game/objects/items/twohanded.dm +++ b/code/game/objects/items/twohanded.dm @@ -148,7 +148,8 @@ /obj/item/twohanded/required/mob_can_equip(mob/M, mob/equipper, slot, disable_warning = 0) if(wielded && !slot_flags) - to_chat(M, "[src] is too cumbersome to carry with anything but your hands!") + if(!disable_warning) + to_chat(M, "[src] is too cumbersome to carry with anything but your hands!") return 0 return ..() @@ -457,15 +458,15 @@ explosive.prime() qdel(src) -/obj/item/twohanded/spear/AltClick() - ..() - if(!explosive) - return - if(ismob(loc)) - var/mob/M = loc - var/input = stripped_input(M,"What do you want your war cry to be? You will shout it when you hit someone in melee.", ,"", 50) - if(input) - src.war_cry = input +/obj/item/twohanded/spear/AltClick(mob/user) + if(user.canUseTopic(src, be_close=TRUE)) + ..() + if(!explosive) + return + if(istype(user) && loc == user) + var/input = stripped_input(user,"What do you want your war cry to be? You will shout it when you hit someone in melee.", ,"", 50) + if(input) + src.war_cry = input /obj/item/twohanded/spear/CheckParts(list/parts_list) var/obj/item/twohanded/spear/S = locate() in parts_list @@ -567,7 +568,7 @@ ..() if(!proximity) return - user.faction |= "greytide(\ref[user])" + user.faction |= "greytide([REF(user)])" if(isliving(AM)) var/mob/living/L = AM if(istype (L, /mob/living/simple_animal/hostile/illusion)) diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index a8c80e5e83..7b7c9c8ee5 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -5,6 +5,7 @@ icon_state = "toyhammer" slot_flags = SLOT_BELT throwforce = 0 + force = 1 w_class = WEIGHT_CLASS_TINY throw_speed = 3 throw_range = 7 @@ -20,10 +21,11 @@ /obj/item/banhammer/attack(mob/M, mob/user) if(user.zone_selected == "head") M.visible_message("[user] are stroking the head of [M] with a bangammer", "[user] are stroking the head with a bangammer", "you hear a bangammer stroking a head"); - else M.visible_message("[M] has been banned FOR NO REISIN by [user]", "You have been banned FOR NO REISIN by [user]", "you hear a banhammer banning someone") playsound(loc, 'sound/effects/adminhelp.ogg', 15) //keep it at 15% volume so people don't jump out of their skin too much + if(user.a_intent != INTENT_HELP) + return ..(M, user) /obj/item/sord name = "\improper SORD" @@ -591,7 +593,7 @@ desc = "This is how real men fight." icon_state = "latexballon" item_state = "nothing" - force = 1 + force = 0 throwforce = 0 flags_1 = DROPDEL_1 | ABSTRACT_1 attack_verb = list("slapped") diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index e95a81822c..18ad4eb769 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -200,7 +200,8 @@ /obj/vv_get_dropdown() . = ..() - .["Delete all of type"] = "?_src_=vars;[HrefToken()];delall=\ref[src]" + .["Delete all of type"] = "?_src_=vars;[HrefToken()];delall=[REF(src)]" + .["Osay"] = "?_src_=vars;[HrefToken()];osay[REF(src)]" /obj/examine(mob/user) ..() diff --git a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm index 2d4dbf7aa0..4250f66e51 100644 --- a/code/game/objects/structures/beds_chairs/bed.dm +++ b/code/game/objects/structures/beds_chairs/bed.dm @@ -95,13 +95,17 @@ M.pixel_x = M.get_standard_pixel_x_offset(M.lying) M.pixel_y = M.get_standard_pixel_y_offset(M.lying) +/obj/structure/bed/roller/Moved() + . = ..() + if(has_gravity()) + playsound(src, 'sound/effects/roll.ogg', 100, 1) /obj/item/roller name = "roller bed" desc = "A collapsed roller bed that can be carried around." icon = 'icons/obj/rollerbed.dmi' icon_state = "folded" - w_class = WEIGHT_CLASS_BULKY // Can't be put in backpacks. + w_class = WEIGHT_CLASS_NORMAL // No more excuses, stop getting blood everywhere /obj/item/roller/attackby(obj/item/I, mob/living/user, params) if(istype(I, /obj/item/roller/robo)) diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm index 89ed70d104..161d1fef7c 100644 --- a/code/game/objects/structures/beds_chairs/chair.dm +++ b/code/game/objects/structures/beds_chairs/chair.dm @@ -194,6 +194,12 @@ buildstackamount = 5 item_chair = null + +/obj/structure/chair/office/Moved() + . = ..() + if(has_gravity()) + playsound(src, 'sound/effects/roll.ogg', 100, 1) + /obj/structure/chair/office/light icon_state = "officechair_white" diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index f6e2023943..238c83725b 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -309,13 +309,13 @@ LINEN BINS else B = new /obj/item/bedsheet(loc) - B.loc = user.loc + B.forceMove(drop_location()) user.put_in_hands(B) to_chat(user, "You take [B] out of [src].") update_icon() if(hidden) - hidden.loc = user.loc + hidden.forceMove(drop_location()) to_chat(user, "[hidden] falls out of [B]!") hidden = null @@ -333,12 +333,12 @@ LINEN BINS else B = new /obj/item/bedsheet(loc) - B.loc = loc + B.forceMove(drop_location()) to_chat(user, "You telekinetically remove [B] from [src].") update_icon() if(hidden) - hidden.loc = loc + hidden.forceMove(drop_location()) hidden = null diff --git a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm index 1bf7daf2e2..1676ac9df8 100644 --- a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm +++ b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm @@ -15,18 +15,20 @@ delivery_icon = "deliverybox" anchorable = FALSE var/move_speed_multiplier = 1 - var/move_delay = 0 + var/move_delay = FALSE var/egged = 0 /obj/structure/closet/cardboard/relaymove(mob/user, direction) if(opened || move_delay || user.stat || user.IsStun() || user.IsKnockdown() || user.IsUnconscious() || !isturf(loc) || !has_gravity(loc)) return - move_delay = 1 + move_delay = TRUE if(step(src, direction)) - spawn(CONFIG_GET(number/walk_delay) * move_speed_multiplier) - move_delay = 0 + addtimer(CALLBACK(src, .proc/ResetMoveDelay), CONFIG_GET(number/walk_delay) * move_speed_multiplier) else - move_delay = 0 + ResetMoveDelay() + +/obj/structure/closet/cardboard/proc/ResetMoveDelay() + move_delay = FALSE /obj/structure/closet/cardboard/open() if(opened || !can_open()) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 86d6b62198..04e624a46b 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -67,6 +67,8 @@ new /obj/item/device/radio/headset/heads/hos(src) new /obj/item/clothing/under/hosparadefem(src) new /obj/item/clothing/under/hosparademale(src) + new /obj/item/clothing/under/rank/head_of_security/skirt(src) + new /obj/item/clothing/suit/armor/hos/trenchcoat/cloak(src) new /obj/item/clothing/suit/armor/vest/leather(src) new /obj/item/clothing/suit/armor/hos(src) new /obj/item/clothing/under/rank/head_of_security/alt(src) @@ -117,6 +119,7 @@ /obj/structure/closet/secure_closet/security/PopulateContents() ..() + new /obj/item/clothing/under/rank/security/skirt(src) new /obj/item/clothing/suit/armor/vest(src) new /obj/item/clothing/head/helmet/sec(src) new /obj/item/device/radio/headset/headset_sec(src) diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index 61aab75efc..c6af589cb5 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -1,3 +1,8 @@ + +#define AIRLOCK_ASSEMBLY_NEEDS_WIRES 0 +#define AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS 1 +#define AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER 2 + /obj/structure/door_assembly name = "airlock assembly" icon = 'icons/obj/doors/airlocks/station/public.dmi' @@ -6,8 +11,7 @@ anchored = FALSE density = TRUE max_integrity = 200 - desc = "The mechanical framework for an airlock." - var/state = 0 + var/state = AIRLOCK_ASSEMBLY_NEEDS_WIRES var/mineral = null var/typetext = "" var/icontext = "" @@ -26,7 +30,7 @@ name = "airlock assembly" airlock_type = /obj/machinery/door/airlock anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS /obj/structure/door_assembly/door_assembly_com name = "command airlock assembly" @@ -36,7 +40,7 @@ glass_type = /obj/machinery/door/airlock/glass_command airlock_type = /obj/machinery/door/airlock/command anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS /obj/structure/door_assembly/door_assembly_com/glass mineral = "glass" @@ -50,7 +54,7 @@ glass_type = /obj/machinery/door/airlock/glass_security airlock_type = /obj/machinery/door/airlock/security anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS /obj/structure/door_assembly/door_assembly_sec/glass mineral = "glass" @@ -64,7 +68,7 @@ glass_type = /obj/machinery/door/airlock/glass_engineering airlock_type = /obj/machinery/door/airlock/engineering anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS /obj/structure/door_assembly/door_assembly_eng/glass mineral = "glass" @@ -78,7 +82,7 @@ glass_type = /obj/machinery/door/airlock/glass_mining airlock_type = /obj/machinery/door/airlock/mining anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS /obj/structure/door_assembly/door_assembly_min/glass mineral = "glass" @@ -92,7 +96,7 @@ glass_type = /obj/machinery/door/airlock/glass_atmos airlock_type = /obj/machinery/door/airlock/atmos anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS /obj/structure/door_assembly/door_assembly_atmo/glass mineral = "glass" @@ -106,7 +110,7 @@ glass_type = /obj/machinery/door/airlock/glass_research airlock_type = /obj/machinery/door/airlock/research anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS /obj/structure/door_assembly/door_assembly_research/glass mineral = "glass" @@ -120,7 +124,7 @@ glass_type = /obj/machinery/door/airlock/glass_science airlock_type = /obj/machinery/door/airlock/science anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS /obj/structure/door_assembly/door_assembly_science/glass mineral = "glass" @@ -134,7 +138,7 @@ glass_type = /obj/machinery/door/airlock/glass_medical airlock_type = /obj/machinery/door/airlock/medical anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS /obj/structure/door_assembly/door_assembly_med/glass mineral = "glass" @@ -148,7 +152,7 @@ glass_type = /obj/machinery/door/airlock/glass_maintenance airlock_type = /obj/machinery/door/airlock/maintenance anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS /obj/structure/door_assembly/door_assembly_mai/glass mineral = "glass" @@ -163,7 +167,7 @@ glass_type = /obj/machinery/door/airlock/glass_external airlock_type = /obj/machinery/door/airlock/external anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS /obj/structure/door_assembly/door_assembly_ext/glass mineral = "glass" @@ -176,7 +180,7 @@ icontext = "fre" airlock_type = /obj/machinery/door/airlock/freezer anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS /obj/structure/door_assembly/door_assembly_hatch name = "airtight hatch assembly" @@ -186,7 +190,7 @@ icontext = "hatch" airlock_type = /obj/machinery/door/airlock/hatch anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS /obj/structure/door_assembly/door_assembly_mhatch name = "maintenance hatch assembly" @@ -196,7 +200,7 @@ icontext = "mhatch" airlock_type = /obj/machinery/door/airlock/maintenance_hatch anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS /obj/structure/door_assembly/door_assembly_glass name = "glass airlock assembly" @@ -204,7 +208,7 @@ overlays_file = 'icons/obj/doors/airlocks/station2/overlays.dmi' airlock_type = /obj/machinery/door/airlock/glass anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS mineral = "glass" material = "glass" @@ -213,7 +217,7 @@ icon = 'icons/obj/doors/airlocks/station/gold.dmi' airlock_type = /obj/machinery/door/airlock/gold anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS mineral = "gold" /obj/structure/door_assembly/door_assembly_silver @@ -221,7 +225,7 @@ icon = 'icons/obj/doors/airlocks/station/silver.dmi' airlock_type = /obj/machinery/door/airlock/silver anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS mineral = "silver" /obj/structure/door_assembly/door_assembly_diamond @@ -229,7 +233,7 @@ icon = 'icons/obj/doors/airlocks/station/diamond.dmi' airlock_type = /obj/machinery/door/airlock/diamond anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS mineral = "diamond" /obj/structure/door_assembly/door_assembly_uranium @@ -237,7 +241,7 @@ icon = 'icons/obj/doors/airlocks/station/uranium.dmi' airlock_type = /obj/machinery/door/airlock/uranium anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS mineral = "uranium" /obj/structure/door_assembly/door_assembly_plasma @@ -245,7 +249,7 @@ icon = 'icons/obj/doors/airlocks/station/plasma.dmi' airlock_type = /obj/machinery/door/airlock/plasma anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS mineral = "plasma" /obj/structure/door_assembly/door_assembly_clown @@ -254,7 +258,7 @@ icon = 'icons/obj/doors/airlocks/station/bananium.dmi' airlock_type = /obj/machinery/door/airlock/clown anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS mineral = "bananium" /obj/structure/door_assembly/door_assembly_sandstone @@ -262,7 +266,7 @@ icon = 'icons/obj/doors/airlocks/station/sandstone.dmi' airlock_type = /obj/machinery/door/airlock/sandstone anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS mineral = "sandstone" /obj/structure/door_assembly/door_assembly_titanium @@ -274,7 +278,7 @@ glass_type = /obj/machinery/door/airlock/glass_titanium airlock_type = /obj/machinery/door/airlock/titanium anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS mineral = "titanium" /obj/structure/door_assembly/door_assembly_titanium/glass @@ -289,7 +293,7 @@ icontext = "highsec" airlock_type = /obj/machinery/door/airlock/highsecurity anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS /obj/structure/door_assembly/door_assembly_vault name = "vault door assembly" @@ -299,7 +303,7 @@ icontext = "vault" airlock_type = /obj/machinery/door/airlock/vault anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS /obj/structure/door_assembly/door_assembly_shuttle name = "shuttle airlock assembly" @@ -309,7 +313,7 @@ icontext = "shuttle" airlock_type = /obj/machinery/door/airlock/shuttle anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS /obj/structure/door_assembly/door_assembly_cult name = "cult airlock assembly" @@ -319,7 +323,7 @@ icontext = "cult" airlock_type = /obj/machinery/door/airlock/cult anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS /obj/structure/door_assembly/door_assembly_cult/glass mineral = "glass" @@ -338,7 +342,7 @@ icon = 'icons/obj/doors/airlocks/station/wood.dmi' airlock_type = /obj/machinery/door/airlock/wood anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS mineral = "wood" /obj/structure/door_assembly/door_assembly_viro @@ -349,7 +353,7 @@ glass_type = /obj/machinery/door/airlock/glass_virology airlock_type = /obj/machinery/door/airlock/virology anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS /obj/structure/door_assembly/door_assembly_viro/glass mineral = "glass" @@ -362,7 +366,7 @@ icontext = "ele" airlock_type = /obj/machinery/door/airlock/centcom anchored = TRUE - state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS /obj/structure/door_assembly/examine(mob/user) ..() @@ -383,10 +387,10 @@ /obj/structure/door_assembly/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/pen)) - var/t = stripped_input(user, "Enter the name for the door.", src.name, src.created_name,MAX_NAME_LEN) + var/t = stripped_input(user, "Enter the name for the door.", name, created_name,MAX_NAME_LEN) if(!t) return - if(!in_range(src, usr) && src.loc != usr) + if(!in_range(src, usr) && loc != usr) return created_name = t @@ -410,7 +414,7 @@ icontype = input(user, "Please select a paintjob for this airlock.") in optionlist - if((!in_range(src, usr) && src.loc != usr) || !WT.use(user)) + if((!in_range(src, usr) && loc != usr) || !WT.use(user)) return var/has_solid = FALSE var/has_glass = FALSE @@ -525,7 +529,7 @@ if(WT.remove_fuel(0,user)) user.visible_message("[user] disassembles the airlock assembly.", \ "You start to disassemble the airlock assembly...") - playsound(src.loc, 'sound/items/welder2.ogg', 50, 1) + playsound(src, 'sound/items/welder2.ogg', 50, 1) if(do_after(user, 40*W.toolspeed, target = src)) if( !WT.isOn() ) @@ -542,22 +546,22 @@ break if(door_check) - playsound(src.loc, W.usesound, 100, 1) + playsound(src, W.usesound, 100, 1) user.visible_message("[user] secures the airlock assembly to the floor.", \ "You start to secure the airlock assembly to the floor...", \ "You hear wrenching.") if(do_after(user, 40*W.toolspeed, target = src)) - if( src.anchored ) + if(anchored) return to_chat(user, "You secure the airlock assembly.") - src.name = "secured airlock assembly" - src.anchored = TRUE + name = "secured airlock assembly" + anchored = TRUE else to_chat(user, "There is another door here!") else - playsound(src.loc, W.usesound, 100, 1) + playsound(src, W.usesound, 100, 1) user.visible_message("[user] unsecures the airlock assembly from the floor.", \ "You start to unsecure the airlock assembly from the floor...", \ "You hear wrenching.") @@ -579,63 +583,63 @@ if(C.get_amount() < 1 || state != 0) return C.use(1) - src.state = 1 + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS to_chat(user, "You wire the airlock assembly.") - src.name = "wired airlock assembly" + name = "wired airlock assembly" else if(istype(W, /obj/item/wirecutters) && state == 1 ) - playsound(src.loc, W.usesound, 100, 1) + playsound(src, W.usesound, 100, 1) user.visible_message("[user] cuts the wires from the airlock assembly.", \ "You start to cut the wires from the airlock assembly...") if(do_after(user, 40*W.toolspeed, target = src)) - if( src.state != 1 ) + if(state != 1) return to_chat(user, "You cut the wires from the airlock assembly.") new/obj/item/stack/cable_coil(get_turf(user), 1) - src.state = 0 - src.name = "secured airlock assembly" + state = AIRLOCK_ASSEMBLY_NEEDS_WIRES + name = "secured airlock assembly" else if(istype(W, /obj/item/electronics/airlock) && state == 1 ) - playsound(src.loc, W.usesound, 100, 1) + playsound(src, W.usesound, 100, 1) user.visible_message("[user] installs the electronics into the airlock assembly.", \ "You start to install electronics into the airlock assembly...") if(do_after(user, 40, target = src)) - if( src.state != 1 ) + if( state != 1 ) return if(!user.transferItemToLoc(W, src)) return to_chat(user, "You install the airlock electronics.") - src.state = 2 - src.name = "near finished airlock assembly" - src.electronics = W + state = AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER + name = "near finished airlock assembly" + electronics = W else if(istype(W, /obj/item/crowbar) && state == 2 ) - playsound(src.loc, W.usesound, 100, 1) + playsound(src, W.usesound, 100, 1) user.visible_message("[user] removes the electronics from the airlock assembly.", \ "You start to remove electronics from the airlock assembly...") if(do_after(user, 40*W.toolspeed, target = src)) - if( src.state != 2 ) + if(state != 2) return to_chat(user, "You remove the airlock electronics.") - src.state = 1 - src.name = "wired airlock assembly" + state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS + name = "wired airlock assembly" var/obj/item/electronics/airlock/ae if (!electronics) - ae = new/obj/item/electronics/airlock( src.loc ) + ae = new/obj/item/electronics/airlock( loc ) else ae = electronics electronics = null - ae.loc = src.loc + ae.forceMove(src.loc) else if(istype(W, /obj/item/stack/sheet) && !mineral) var/obj/item/stack/sheet/G = W if(G) if(G.get_amount() >= 1) if(is_glass_sheet(G)) - playsound(src.loc, 'sound/items/crowbar.ogg', 100, 1) + playsound(src, 'sound/items/crowbar.ogg', 100, 1) user.visible_message("[user] adds [G.name] to the airlock assembly.", \ "You start to install [G.name] into the airlock assembly...") if(do_after(user, 40, target = src)) @@ -653,8 +657,8 @@ material = "glass" //This list contains the airlock paintjobs that have a glass version: if(icontext in list("eng", "atmo", "sec", "com", "med", "res", "min")) - src.airlock_type = text2path("/obj/machinery/door/airlock/[typetext]") - src.glass_type = text2path("/obj/machinery/door/airlock/glass_[typetext]") + airlock_type = text2path("/obj/machinery/door/airlock/[typetext]") + glass_type = text2path("/obj/machinery/door/airlock/glass_[typetext]") else //This airlock is default or does not have a glass version, so we revert to the default glass airlock. |- Ricotez airlock_type = /obj/machinery/door/airlock @@ -664,7 +668,7 @@ else if(istype(G, /obj/item/stack/sheet/mineral)) var/M = G.sheettype if(G.get_amount() >= 2) - playsound(src.loc, 'sound/items/crowbar.ogg', 100, 1) + playsound(src, 'sound/items/crowbar.ogg', 100, 1) user.visible_message("[user] adds [G.name] to the airlock assembly.", \ "You start to install [G.name] into the airlock assembly...") if(do_after(user, 40, target = src)) @@ -678,28 +682,28 @@ glass_type = /obj/machinery/door/airlock/glass else if(istype(W, /obj/item/screwdriver) && state == 2 ) - playsound(src.loc, W.usesound, 100, 1) + playsound(src, W.usesound, 100, 1) user.visible_message("[user] finishes the airlock.", \ "You start finishing the airlock...") if(do_after(user, 40*W.toolspeed, target = src)) - if(src.loc && state == 2) + if(loc && state == 2) to_chat(user, "You finish the airlock.") var/obj/machinery/door/airlock/door if(mineral == "glass") - door = new src.glass_type( src.loc ) + door = new glass_type( loc ) else - door = new src.airlock_type( src.loc ) - //door.req_access = src.req_access - door.electronics = src.electronics - door.heat_proof = src.heat_proof_finished - if(src.electronics.one_access) - door.req_one_access = src.electronics.accesses + door = new airlock_type( loc ) + //door.req_access = req_access + door.electronics = electronics + door.heat_proof = heat_proof_finished + if(electronics.one_access) + door.req_one_access = electronics.accesses else - door.req_access = src.electronics.accesses + door.req_access = electronics.accesses if(created_name) door.name = created_name - src.electronics.loc = door + electronics.forceMove(door) qdel(src) else return ..() diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 3b59bdbcec..770442f6c9 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -11,7 +11,7 @@ var/mineral_amount = 2 var/walltype = /turf/closed/wall var/girder_type = /obj/structure/girder/displaced - var/opening = 0 + var/opening = FALSE density = TRUE opacity = 1 max_integrity = 100 @@ -50,43 +50,38 @@ if(opening) return - opening = 1 - if(density) - do_the_flick() - sleep(5) - if(!QDELETED(src)) - density = FALSE - set_opacity(0) - update_icon() - else + opening = TRUE + update_icon() + if(!density) var/srcturf = get_turf(src) for(var/mob/living/obstacle in srcturf) //Stop people from using this as a shield - opening = 0 + opening = FALSE return - do_the_flick() - density = TRUE - sleep(5) - if(!QDELETED(src)) - set_opacity(1) - update_icon() + addtimer(CALLBACK(src, /obj/structure/falsewall/proc/toggle_open), 5) air_update_turf(1) - opening = 0 -/obj/structure/falsewall/proc/do_the_flick() - if(density) - smooth = SMOOTH_FALSE - clear_smooth_overlays() - icon_state = "fwall_opening" - else - icon_state = "fwall_closing" +/obj/structure/falsewall/proc/toggle_open() + if(!QDELETED(src)) + density = !density + set_opacity(density) + opening = FALSE + update_icon() /obj/structure/falsewall/update_icon()//Calling icon_update will refresh the smoothwalls if it's closed, otherwise it will make sure the icon is correct if it's open - if(density) - smooth = SMOOTH_TRUE - queue_smooth(src) - icon_state = initial(icon_state) + if(opening) + if(density) + icon_state = "fwall_opening" + smooth = SMOOTH_FALSE + clear_smooth_overlays() + else + icon_state = "fwall_closing" else - icon_state = "fwall_open" + if(density) + icon_state = initial(icon_state) + smooth = SMOOTH_TRUE + queue_smooth(src) + else + icon_state = "fwall_open" /obj/structure/falsewall/proc/ChangeToWall(delete = 1) var/turf/T = get_turf(src) diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index 092f5c4e9a..9a2798eacc 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -122,10 +122,10 @@ golems, so that no golem may ever be forced to serve again.
    " /obj/effect/mob_spawn/human/golem/Initialize(mapload, datum/species/golem/species = null, mob/creator = null) - . = ..() - if(species) + if(species) //spawners list uses object name to register so this goes before ..() name += " ([initial(species.prefix)])" mob_species = species + . = ..() var/area/A = get_area(src) if(!mapload && A) notify_ghosts("\A [initial(species.prefix)] golem shell has been completed in \the [A.name].", source = src, action=NOTIFY_ATTACK, flashwindow = FALSE) @@ -168,7 +168,8 @@ return log_game("[user.ckey] golem-swapped into [src]") user.visible_message("A faint light leaves [user], moving to [src] and animating it!","You leave your old body behind, and transfer into [src]!") - create(ckey = user.ckey, flavour = FALSE, name = user.real_name) + show_flavour = FALSE + create(ckey = user.ckey,name = user.real_name) user.death() return ..() @@ -316,10 +317,10 @@ /obj/effect/mob_spawn/human/hotel_staff/security name = "hotel security sleeper" - mob_name = "hotel security memeber" + mob_name = "hotel security member" outfit = /datum/outfit/hotelstaff/security - flavour_text = "You are a peacekeeper assigned to this hotel to protect the intrests of the company while keeping the peace between \ - guests and the staff.Do NOT leave the hotel, as that is grounds for contract termination." + flavour_text = "You are a peacekeeper assigned to this hotel to protect the interests of the company while keeping the peace between \ + guests and the staff. Do NOT leave the hotel, as that is grounds for contract termination." objectives = "Do not leave your assigned hotel. Try and keep the peace between staff and guests, non-lethal force heavily advised if possible." /datum/outfit/hotelstaff/security @@ -526,3 +527,44 @@ /obj/effect/mob_spawn/human/oldsci/Destroy() new/obj/structure/showcase/machinery/oldpod/used(drop_location()) return ..() + + +#define PIRATE_NAMES_FILE "pirates.json" + +/obj/effect/mob_spawn/human/pirate + name = "space pirate sleeper" + desc = "A cryo sleeper smelling faintly of rum." + random = TRUE + icon = 'icons/obj/cryogenic2.dmi' + icon_state = "sleeper" + mob_name = "a space pirate" + mob_species = /datum/species/human + outfit = /datum/outfit/pirate/space + roundstart = FALSE + death = FALSE + anchored = TRUE + density = FALSE + show_flavour = FALSE //Flavour only exists for spawners menu + flavour_text = "You are a space pirate. The station refused to pay for your protection, protect the ship, siphon the credits from the station and raid it for even more loot." + assignedrole = "Space Pirate" + var/rank = "Mate" + +/obj/effect/mob_spawn/human/pirate/special(mob/living/new_spawn) + new_spawn.fully_replace_character_name(new_spawn.real_name,generate_pirate_name()) + new_spawn.mind.add_antag_datum(/datum/antagonist/pirate) + +/obj/effect/mob_spawn/human/pirate/proc/generate_pirate_name() + var/beggings = strings(PIRATE_NAMES_FILE, "beginnings") + var/endings = strings(PIRATE_NAMES_FILE, "endings") + return "[rank] [pick(beggings)][pick(endings)]" + +/obj/effect/mob_spawn/human/pirate/Destroy() + new/obj/structure/showcase/machinery/oldpod/used(drop_location()) + return ..() + +/obj/effect/mob_spawn/human/pirate/captain + rank = "Captain" + outfit = /datum/outfit/pirate/space/captain + +/obj/effect/mob_spawn/human/pirate/gunner + rank = "Gunner" \ No newline at end of file diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 389e851404..3061a9d258 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -31,58 +31,8 @@ /obj/structure/girder/attackby(obj/item/W, mob/user, params) add_fingerprint(user) - if(istype(W, /obj/item/screwdriver)) - if(state == GIRDER_DISPLACED) - playsound(src.loc, W.usesound, 100, 1) - user.visible_message("[user] disassembles the girder.", \ - "You start to disassemble the girder...", "You hear clanking and banging noises.") - if(do_after(user, 40*W.toolspeed, target = src)) - if(state != GIRDER_DISPLACED) - return - state = GIRDER_DISASSEMBLED - to_chat(user, "You disassemble the girder.") - var/obj/item/stack/sheet/metal/M = new (loc, 2) - M.add_fingerprint(user) - qdel(src) - else if(state == GIRDER_REINF) - playsound(src.loc, W.usesound, 100, 1) - to_chat(user, "You start unsecuring support struts...") - if(do_after(user, 40*W.toolspeed, target = src)) - if(state != GIRDER_REINF) - return - to_chat(user, "You unsecure the support struts.") - state = GIRDER_REINF_STRUTS - else if(state == GIRDER_REINF_STRUTS) - playsound(src.loc, W.usesound, 100, 1) - to_chat(user, "You start securing support struts...") - if(do_after(user, 40*W.toolspeed, target = src)) - if(state != GIRDER_REINF_STRUTS) - return - to_chat(user, "You secure the support struts.") - state = GIRDER_REINF - else if(istype(W, /obj/item/wrench)) - if(state == GIRDER_DISPLACED) - if(!isfloorturf(loc)) - to_chat(user, "A floor must be present to secure the girder!") - return - playsound(src.loc, W.usesound, 100, 1) - to_chat(user, "You start securing the girder...") - if(do_after(user, 40*W.toolspeed, target = src)) - to_chat(user, "You secure the girder.") - var/obj/structure/girder/G = new (loc) - transfer_fingerprints_to(G) - qdel(src) - else if(state == GIRDER_NORMAL && can_displace) - playsound(src.loc, W.usesound, 100, 1) - to_chat(user, "You start unsecuring the girder...") - if(do_after(user, 40*W.toolspeed, target = src)) - to_chat(user, "You unsecure the girder.") - var/obj/structure/girder/displaced/D = new (loc) - transfer_fingerprints_to(D) - qdel(src) - - else if(istype(W, /obj/item/gun/energy/plasmacutter)) + if(istype(W, /obj/item/gun/energy/plasmacutter)) to_chat(user, "You start slicing apart the girder...") playsound(src, 'sound/items/welder.ogg', 100, 1) if(do_after(user, 40*W.toolspeed, target = src)) @@ -98,15 +48,6 @@ D.playDigSound() qdel(src) - else if(istype(W, /obj/item/wirecutters) && state == GIRDER_REINF_STRUTS) - playsound(src.loc, W.usesound, 100, 1) - to_chat(user, "You start removing the inner grille...") - if(do_after(user, 40*W.toolspeed, target = src)) - to_chat(user, "You remove the inner grille.") - new /obj/item/stack/sheet/plasteel(get_turf(src)) - var/obj/structure/girder/G = new (loc) - transfer_fingerprints_to(G) - qdel(src) else if(istype(W, /obj/item/stack)) if(iswallturf(loc)) @@ -269,8 +210,84 @@ else return ..() +// Screwdriver behavior for girders +/obj/structure/girder/screwdriver_act(mob/user, obj/item/tool) + . = FALSE + if(state == GIRDER_DISPLACED) + playsound(src, tool.usesound, 100, 1) + user.visible_message("[user] disassembles the girder.", + "You start to disassemble the girder...", + "You hear clanking and banging noises.") + if(do_after(user, 40 * tool.toolspeed, target = src)) + if(state != GIRDER_DISPLACED) + return + state = GIRDER_DISASSEMBLED + to_chat(user, "You disassemble the girder.") + var/obj/item/stack/sheet/metal/M = new (loc, 2) + M.add_fingerprint(user) + qdel(src) + return TRUE + + else if(state == GIRDER_REINF) + playsound(src, tool.usesound, 100, 1) + to_chat(user, "You start unsecuring support struts...") + if(do_after(user, 40 * tool.toolspeed, target = src)) + if(state != GIRDER_REINF) + return + to_chat(user, "You unsecure the support struts.") + state = GIRDER_REINF_STRUTS + return TRUE + + else if(state == GIRDER_REINF_STRUTS) + playsound(src, tool.usesound, 100, 1) + to_chat(user, "You start securing support struts...") + if(do_after(user, 40 * tool.toolspeed, target = src)) + if(state != GIRDER_REINF_STRUTS) + return + to_chat(user, "You secure the support struts.") + state = GIRDER_REINF + return TRUE + +// Wirecutter behavior for girders +/obj/structure/girder/wirecutter_act(mob/user, obj/item/tool) + . = FALSE + if(state == GIRDER_REINF_STRUTS) + playsound(src.loc, tool.usesound, 100, 1) + to_chat(user, "You start removing the inner grille...") + if(do_after(user, 40 * tool.toolspeed, target = src)) + to_chat(user, "You remove the inner grille.") + new /obj/item/stack/sheet/plasteel(get_turf(src)) + var/obj/structure/girder/G = new (loc) + transfer_fingerprints_to(G) + qdel(src) + return TRUE + +/obj/structure/girder/wrench_act(mob/user, obj/item/tool) + . = FALSE + if(state == GIRDER_DISPLACED) + if(!isfloorturf(loc)) + to_chat(user, "A floor must be present to secure the girder!") + return + playsound(src, tool.usesound, 100, 1) + to_chat(user, "You start securing the girder...") + if(do_after(user, 40 * tool.toolspeed, target = src)) + to_chat(user, "You secure the girder.") + var/obj/structure/girder/G = new (loc) + transfer_fingerprints_to(G) + qdel(src) + return TRUE + else if(state == GIRDER_NORMAL && can_displace) + playsound(src, tool.usesound, 100, 1) + to_chat(user, "You start unsecuring the girder...") + if(do_after(user, 40 * tool.toolspeed, target = src)) + to_chat(user, "You unsecure the girder.") + var/obj/structure/girder/displaced/D = new (loc) + transfer_fingerprints_to(D) + qdel(src) + return TRUE + /obj/structure/girder/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGRILLE)) + if(istype(mover) && (mover.pass_flags & PASSGRILLE)) return prob(girderpasschance) else if(istype(mover, /obj/item/projectile)) @@ -282,7 +299,7 @@ . = !density if(ismovableatom(caller)) var/atom/movable/mover = caller - . = . || mover.checkpass(PASSGRILLE) + . = . || (mover.pass_flags & PASSGRILLE) /obj/structure/girder/deconstruct(disassembled = TRUE) if(!(flags_1 & NODECONSTRUCT_1)) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 308a759929..45aa4a0889 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -21,6 +21,24 @@ . = ..() AddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION) +/obj/structure/grille/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) + . = ..() + update_icon() + +/obj/structure/grille/update_icon() + if(QDELETED(src)) + return + + var/ratio = obj_integrity / max_integrity + ratio = Ceiling(ratio*4) * 25 + + if(smooth) + queue_smooth(src) + + if(ratio > 50) + return + icon_state = "grille50_[rand(0,3)]" + /obj/structure/grille/examine(mob/user) ..() if(anchored) @@ -100,7 +118,7 @@ /obj/structure/grille/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGRILLE)) + if(istype(mover) && (mover.pass_flags & PASSGRILLE)) return TRUE else if(istype(mover, /obj/item/projectile) && density) @@ -112,7 +130,7 @@ . = !density if(ismovableatom(caller)) var/atom/movable/mover = caller - . = . || mover.checkpass(PASSGRILLE) + . = . || (mover.pass_flags & PASSGRILLE) /obj/structure/grille/attackby(obj/item/W, mob/user, params) user.changeNext_move(CLICK_CD_MELEE) diff --git a/code/game/objects/structures/guncase.dm b/code/game/objects/structures/guncase.dm index ac6a69ed93..25073853ad 100644 --- a/code/game/objects/structures/guncase.dm +++ b/code/game/objects/structures/guncase.dm @@ -69,7 +69,7 @@ if(LAZYLEN(contents)) for(var/i in 1 to contents.len) var/obj/item/I = contents[i] - dat += "[I.name]
    " + dat += "[I.name]
    " dat += "
    " var/datum/browser/popup = new(user, "gunlocker", "
    [name]
    ", 350, 300) diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 747e0b3317..b6332492dd 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -93,15 +93,15 @@ user.set_machine(src) var/dat if(mybag) - dat += "[mybag.name]
    " + dat += "[mybag.name]
    " if(mymop) - dat += "[mymop.name]
    " + dat += "[mymop.name]
    " if(myspray) - dat += "[myspray.name]
    " + dat += "[myspray.name]
    " if(myreplacer) - dat += "[myreplacer.name]
    " + dat += "[myreplacer.name]
    " if(signs) - dat += "[signs] sign\s
    " + dat += "[signs] sign\s
    " var/datum/browser/popup = new(user, "janicart", name, 240, 160) popup.set_content(dat) popup.open() diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index a5def04e0b..8b3d2981e2 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -323,7 +323,7 @@ GLOBAL_LIST_EMPTY(crematoriums) icon_state = "morguet" /obj/structure/tray/m_tray/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSTABLE)) + if(istype(mover) && (mover.pass_flags & PASSTABLE)) return 1 if(locate(/obj/structure/table) in get_turf(mover)) return 1 @@ -334,4 +334,4 @@ GLOBAL_LIST_EMPTY(crematoriums) . = !density if(ismovableatom(caller)) var/atom/movable/mover = caller - . = . || mover.checkpass(PASSTABLE) + . = . || (mover.pass_flags & PASSTABLE) diff --git a/code/game/objects/structures/musician.dm b/code/game/objects/structures/musician.dm index d253cbcf44..8d62168f7c 100644 --- a/code/game/objects/structures/musician.dm +++ b/code/game/objects/structures/musician.dm @@ -144,31 +144,31 @@ if(lines.len > 0) dat += "

    Playback

    " if(!playing) - dat += "Play Stop

    " + dat += "Play Stop

    " dat += "Repeat Song: " - dat += repeat > 0 ? "--" : "--" + dat += repeat > 0 ? "--" : "--" dat += " [repeat] times " - dat += repeat < max_repeats ? "++" : "++" + dat += repeat < max_repeats ? "++" : "++" dat += "
    " else - dat += "Play Stop
    " + dat += "Play Stop
    " dat += "Repeats left: [repeat]
    " if(!edit) - dat += "
    Show Editor
    " + dat += "
    Show Editor
    " else dat += "

    Editing

    " - dat += "Hide Editor" - dat += " Start a New Song" - dat += " Import a Song

    " + dat += "Hide Editor" + dat += " Start a New Song" + dat += " Import a Song

    " var/bpm = round(600 / tempo) - dat += "Tempo: - [bpm] BPM +

    " + dat += "Tempo: - [bpm] BPM +

    " var/linecount = 0 for(var/line in lines) linecount += 1 - dat += "Line [linecount]: Edit X [line]
    " - dat += "Add Line

    " + dat += "Line [linecount]: Edit X [line]
    " + dat += "Add Line

    " if(help) - dat += "Hide Help
    " + dat += "Hide Help
    " dat += {" Lines are a series of chords, separated by commas (,), each with notes separated by hyphens (-).
    Every note in a chord will play together, with chord timed by the tempo.
    @@ -187,7 +187,7 @@ A song may only contain up to [MUSIC_MAXLINES] lines.
    "} else - dat += "Show Help
    " + dat += "Show Help
    " var/datum/browser/popup = new(user, "instrument", instrumentObj.name, 700, 500) popup.set_content(dat) diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm index 85c1694cb0..aeca1453e3 100644 --- a/code/game/objects/structures/noticeboard.dm +++ b/code/game/objects/structures/noticeboard.dm @@ -44,9 +44,9 @@ var/dat = "[name]
    " for(var/obj/item/P in src) if(istype(P, /obj/item/paper)) - dat += "[P.name] [auth ? "Write Remove" : ""]
    " + dat += "[P.name] [auth ? "Write Remove" : ""]
    " else - dat += "[P.name] [auth ? "Remove" : ""]
    " + dat += "[P.name] [auth ? "Remove" : ""]
    " user << browse("Notices[dat]","window=noticeboard") onclose(user, "noticeboard") diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm index 16e77c1141..d0d8989e04 100644 --- a/code/game/objects/structures/plasticflaps.dm +++ b/code/game/objects/structures/plasticflaps.dm @@ -64,7 +64,7 @@ return 1 //diseases, stings, etc can pass /obj/structure/plasticflaps/CanPass(atom/movable/A, turf/T) - if(istype(A) && A.checkpass(PASSGLASS)) + if(istype(A) && (A.pass_flags & PASSGLASS)) return prob(60) var/obj/structure/bed/B = A diff --git a/code/game/objects/structures/reflector.dm b/code/game/objects/structures/reflector.dm index 45f9c3614d..e47afd53d4 100644 --- a/code/game/objects/structures/reflector.dm +++ b/code/game/objects/structures/reflector.dm @@ -1,13 +1,16 @@ /obj/structure/reflector - name = "reflector frame" - icon = 'icons/obj/stock_parts.dmi' - icon_state = "box_0" - desc = "An angled mirror for reflecting lasers." + name = "reflector base" + icon = 'icons/obj/structures.dmi' + icon_state = "reflector_map" + desc = "A base for reflector assemblies." anchored = FALSE - density = TRUE + density = FALSE layer = BELOW_OBJ_LAYER + var/deflector_icon_state + var/image/deflector_overlay var/finished = FALSE var/admin = FALSE //Can't be rotated or deconstructed + var/can_rotate = TRUE var/framebuildstacktype = /obj/item/stack/sheet/metal var/framebuildstackamount = 5 var/buildstacktype = /obj/item/stack/sheet/metal @@ -17,19 +20,42 @@ /obj/structure/reflector/Initialize() . = ..() + icon_state = "reflector_base" allowed_projectile_typecache = typecacheof(allowed_projectile_typecache) + if(deflector_icon_state) + deflector_overlay = image(icon, deflector_icon_state) + add_overlay(deflector_overlay) + if(rotation_angle == -1) setAngle(dir2angle(dir)) else setAngle(rotation_angle) + if(admin) + can_rotate = FALSE + /obj/structure/reflector/examine(mob/user) ..() - to_chat(user, "Alt-click to adjust its direction.") + if(finished) + to_chat(user, "It is set to [rotation_angle] degrees, and the rotation is [can_rotate ? "unlocked" : "locked"].") + if(!admin) + if(can_rotate) + to_chat(user, "Alt-click to adjust its direction.") + else + to_chat(user, "Use screwdriver to unlock the rotation.") -/obj/structure/reflector/Moved() - setAngle(dir_map_to_angle(dir)) - return ..() +/obj/structure/reflector/proc/setAngle(new_angle) + if(can_rotate) + rotation_angle = new_angle + if(deflector_overlay) + cut_overlay(deflector_overlay) + deflector_overlay.transform = turn(matrix(), new_angle) + add_overlay(deflector_overlay) + + +/obj/structure/reflector/setDir(new_dir) + setAngle(dir_map_to_angle(new_dir)) + return ..(NORTH) /obj/structure/reflector/proc/dir_map_to_angle(dir) return 0 @@ -51,22 +77,45 @@ /obj/structure/reflector/attackby(obj/item/W, mob/user, params) if(admin) return + + if(istype(W, /obj/item/screwdriver)) + can_rotate = !can_rotate + to_chat(user, "You [can_rotate ? "unlock" : "lock"] [src]'s rotation.") + playsound(src, W.usesound, 50, 1) + return + if(istype(W, /obj/item/wrench)) if(anchored) - to_chat(user, "Unweld [src] first!") + to_chat(user, "Unweld [src] from the floor first!") + return + user.visible_message("[user] starts to dismantle [src].", "You start to dismantle [src]...") if(do_after(user, 80*W.toolspeed, target = src)) - playsound(src.loc, W.usesound, 50, 1) - to_chat(user, "You dismantle [src].") - new framebuildstacktype(loc, framebuildstackamount) + playsound(src, W.usesound, 50, 1) + to_chat(user, "You dismantle [src].") + new framebuildstacktype(drop_location(), framebuildstackamount) if(buildstackamount) - new buildstacktype(loc, buildstackamount) + new buildstacktype(drop_location(), buildstackamount) qdel(src) else if(istype(W, /obj/item/weldingtool)) var/obj/item/weldingtool/WT = W - if(!anchored) + + if(obj_integrity < max_integrity) + if(WT.remove_fuel(0,user)) + user.visible_message("[user] starts to repair [src].", + "You begin repairing [src]...", + "You hear welding.") + playsound(src, W.usesound, 40, 1) + if(do_after(user,40*WT.toolspeed, target = src)) + obj_integrity = max_integrity + user.visible_message("[user] has repaired [src].", \ + "You finish repairing [src].") + + else if(!anchored) if (WT.remove_fuel(0,user)) - playsound(src, 'sound/items/welder2.ogg', 50, 1) - user.visible_message("[user] starts to weld [src] to the floor.", "You start to weld [src] to the floor...", "You hear welding.") + playsound(src, W.usesound, 50, 1) + user.visible_message("[user] starts to weld [src] to the floor.", + "You start to weld [src] to the floor...", + "You hear welding.") if (do_after(user,20*W.toolspeed, target = src)) if(!WT.isOn()) return @@ -74,7 +123,7 @@ to_chat(user, "You weld [src] to the floor.") else if (WT.remove_fuel(0,user)) - playsound(src, 'sound/items/welder2.ogg', 50, 1) + playsound(src, W.usesound, 50, 1) user.visible_message("[user] starts to cut [src] free from the floor.", "You start to cut [src] free from the floor...", "You hear welding.") if (do_after(user,20*W.toolspeed, target = src)) if(!WT.isOn()) @@ -86,50 +135,44 @@ if(finished) return var/obj/item/stack/sheet/S = W - if(istype(W, /obj/item/stack/sheet/glass)) + if(istype(S, /obj/item/stack/sheet/glass)) if(S.use(5)) - new /obj/structure/reflector/single (loc) - qdel (src) + new /obj/structure/reflector/single(drop_location()) + qdel(src) else to_chat(user, "You need five sheets of glass to create a reflector!") return - if(istype(W, /obj/item/stack/sheet/rglass)) + if(istype(S, /obj/item/stack/sheet/rglass)) if(S.use(10)) - new /obj/structure/reflector/double (loc) + new /obj/structure/reflector/double(drop_location()) qdel(src) else to_chat(user, "You need ten sheets of reinforced glass to create a double reflector!") return - if(istype(W, /obj/item/stack/sheet/mineral/diamond)) + if(istype(S, /obj/item/stack/sheet/mineral/diamond)) if(S.use(1)) - new /obj/structure/reflector/box (loc) + new /obj/structure/reflector/box(drop_location()) qdel(src) else return ..() /obj/structure/reflector/proc/rotate(mob/user) - if (anchored) - to_chat(user, "It is fastened to the floor!") + if (!can_rotate || admin) + to_chat(user, "The rotation is locked!") return FALSE - var/new_angle = input(user, "Input a new angle for primary reflection face.", "Reflector Angle") as null|num + var/new_angle = input(user, "Input a new angle for primary reflection face.", "Reflector Angle", rotation_angle) as null|num if(!user.canUseTopic(src, be_close=TRUE)) to_chat(user, "You can't do that right now!") return - setAngle(NORM_ROT(new_angle)) + if(!isnull(new_angle)) + setAngle(NORM_ROT(new_angle)) return TRUE -/obj/structure/reflector/proc/setAngle(new_angle) - rotation_angle = new_angle - setDir(NORTH) - var/matrix/M = new - M.Turn(new_angle) - transform = M - /obj/structure/reflector/AltClick(mob/user) if(!user.canUseTopic(src, be_close=TRUE)) to_chat(user, "You can't do that right now!") return - else + else if(finished) rotate(user) @@ -139,9 +182,9 @@ /obj/structure/reflector/single name = "reflector" - icon = 'icons/obj/structures.dmi' - icon_state = "reflector" - desc = "A double sided angled mirror for reflecting lasers. This one does so at a 90 degree angle." + deflector_icon_state = "reflector" + desc = "An angled mirror for reflecting laser beams." + density = TRUE finished = TRUE buildstacktype = /obj/item/stack/sheet/glass buildstackamount = 5 @@ -170,9 +213,9 @@ /obj/structure/reflector/double name = "double sided reflector" - icon = 'icons/obj/structures.dmi' - icon_state = "reflector_double" - desc = "A double sided angled mirror for reflecting lasers. This one does so at a 90 degree angle." + deflector_icon_state = "reflector_double" + desc = "A double sided angled mirror for reflecting laser beams." + density = TRUE finished = TRUE buildstacktype = /obj/item/stack/sheet/rglass buildstackamount = 10 @@ -202,9 +245,9 @@ /obj/structure/reflector/box name = "reflector box" - icon = 'icons/obj/structures.dmi' - icon_state = "reflector_box" - desc = "A box with an internal set of mirrors that reflects all laser fire in a single direction." + deflector_icon_state = "reflector_box" + desc = "A box with an internal set of mirrors that reflects all laser beams in a single direction." + density = TRUE finished = TRUE buildstacktype = /obj/item/stack/sheet/mineral/diamond buildstackamount = 1 diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index de8d913f4f..733dcf646d 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -83,12 +83,12 @@ FLOOR SAFES /obj/structure/safe/attack_hand(mob/user) user.set_machine(src) var/dat = "
    " - dat += "[open ? "Close" : "Open"] [src] | - [dial * 5] +" + dat += "[open ? "Close" : "Open"] [src] | - [dial * 5] +" if(open) dat += "" for(var/i = contents.len, i>=1, i--) var/obj/item/P = contents[i] - dat += "" + dat += "" dat += "
    [P.name]
    [P.name]
    " user << browse("[name][dat]", "window=safe;size=350x300") diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 40edea8ff4..b46b1c72aa 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -74,7 +74,7 @@ ..() /obj/structure/table/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSTABLE)) + if(istype(mover) && (mover.pass_flags & PASSTABLE)) return 1 if(mover.throwing) return 1 @@ -87,7 +87,7 @@ . = !density if(ismovableatom(caller)) var/atom/movable/mover = caller - . = . || mover.checkpass(PASSTABLE) + . = . || (mover.pass_flags & PASSTABLE) /obj/structure/table/proc/tablepush(mob/living/user, mob/living/pushed_mob) pushed_mob.forceMove(src.loc) @@ -378,8 +378,8 @@ /obj/structure/table/optable/New() ..() - for(var/dir in GLOB.cardinals) - computer = locate(/obj/machinery/computer/operating, get_step(src, dir)) + for(var/direction in GLOB.cardinals) + computer = locate(/obj/machinery/computer/operating, get_step(src, direction)) if(computer) computer.table = src break @@ -423,7 +423,7 @@ /obj/structure/rack/CanPass(atom/movable/mover, turf/target) if(src.density == 0) //Because broken racks -Agouri |TODO: SPRITE!| return 1 - if(istype(mover) && mover.checkpass(PASSTABLE)) + if(istype(mover) && (mover.pass_flags & PASSTABLE)) return 1 else return 0 @@ -432,7 +432,7 @@ . = !density if(ismovableatom(caller)) var/atom/movable/mover = caller - . = . || mover.checkpass(PASSTABLE) + . = . || (mover.pass_flags & PASSTABLE) /obj/structure/rack/MouseDrop_T(obj/O, mob/user) if ((!( istype(O, /obj/item) ) || user.get_active_held_item() != O)) diff --git a/code/game/objects/structures/transit_tubes/transit_tube.dm b/code/game/objects/structures/transit_tubes/transit_tube.dm index e409eb533b..f701d92360 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube.dm @@ -14,7 +14,7 @@ var/enter_delay = 0 /obj/structure/transit_tube/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return 1 return !density diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 0cb6451116..0e5675a5a0 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -498,7 +498,7 @@ flick("baton_active", src) var/stunforce = B.stunforce user.Knockdown(stunforce) - user.stuttering = stunforce + user.stuttering = stunforce/20 B.deductcharge(B.hitcost) user.visible_message("[user] shocks themself while attempting to wash the active [B.name]!", \ "You unwisely attempt to wash [B] while it's still on.") diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index 520ba2ee69..b29df0aaf4 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -55,7 +55,7 @@ icon_state = "[facing]_[secure ? "secure_" : ""]windoor_assembly[state]" /obj/structure/windoor_assembly/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return 1 if(get_dir(loc, target) == dir) //Make sure looking at appropriate border return !density @@ -78,7 +78,7 @@ return 1 /obj/structure/windoor_assembly/CheckExit(atom/movable/mover as mob|obj, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return 1 if(get_dir(loc, target) == dir) return !density diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 18073a6f6b..2b9494c535 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -120,7 +120,7 @@ ..(FULLTILE_WINDOW_DIR) /obj/structure/window/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return 1 if(dir == FULLTILE_WINDOW_DIR) return 0 //full tile window, you can't move into it! @@ -139,7 +139,7 @@ return 1 /obj/structure/window/CheckExit(atom/movable/O as mob|obj, target) - if(istype(O) && O.checkpass(PASSGLASS)) + if(istype(O) && (O.pass_flags & PASSGLASS)) return 1 if(get_dir(O.loc, target) == dir) return 0 diff --git a/code/game/sound.dm b/code/game/sound.dm index 7ed7822888..b150c1c148 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -102,7 +102,7 @@ UNTIL(SSticker.login_music) //wait for SSticker init to set the login music if(prefs && (prefs.toggles & SOUND_LOBBY)) - SEND_SOUND(src, sound(SSticker.login_music, repeat = 0, wait = 0, volume = vol, channel = CHANNEL_LOBBYMUSIC) // MAD JAMS) + SEND_SOUND(src, sound(SSticker.login_music, repeat = 0, wait = 0, volume = vol, channel = CHANNEL_LOBBYMUSIC)) // MAD JAMS /proc/get_rand_frequency() return rand(32000, 55000) //Frequency stuff only works with 45kbps oggs. diff --git a/code/game/turfs/closed.dm b/code/game/turfs/closed.dm index 9f52c3e035..1dc749dc70 100644 --- a/code/game/turfs/closed.dm +++ b/code/game/turfs/closed.dm @@ -15,6 +15,12 @@ /turf/closed/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) return FALSE +/turf/closed/CanPass(atom/movable/mover, turf/target) + if(istype(mover) && (mover.pass_flags & PASSCLOSEDTURF)) + return TRUE + else + ..() + /turf/closed/indestructible name = "wall" icon = 'icons/turf/walls.dmi' @@ -36,7 +42,7 @@ /turf/closed/indestructible/splashscreen name = "Space Station 13" - icon = 'config/title_screens/images/title1.dmi' + icon = 'icons/blank_title.png' icon_state = "" layer = FLY_LAYER diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index d227710b32..ae6aa0cb2d 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -355,3 +355,11 @@ if(wet_overlay) cut_overlay(wet_overlay) + +/turf/open/rad_act(pulse_strength) + if (air.gases[/datum/gas/carbon_dioxide] && air.gases[/datum/gas/oxygen]) + air.gases[/datum/gas/carbon_dioxide][MOLES]=max(air.gases[/datum/gas/carbon_dioxide][MOLES]-(pulse_strength/1000),0) + air.gases[/datum/gas/oxygen][MOLES]=max(air.gases[/datum/gas/oxygen][MOLES]-(pulse_strength/2000),0) + ASSERT_GAS(/datum/gas/pluoxium,air) + air.gases[/datum/gas/pluoxium][MOLES]+=(pulse_strength/4000) + air.garbage_collect() \ No newline at end of file diff --git a/code/game/turfs/simulated/chasm.dm b/code/game/turfs/simulated/chasm.dm index 74150c6433..2411e7757e 100644 --- a/code/game/turfs/simulated/chasm.dm +++ b/code/game/turfs/simulated/chasm.dm @@ -11,7 +11,7 @@ canSmoothWith = list(/turf/open/floor/fakepit, /turf/open/chasm) density = TRUE //This will prevent hostile mobs from pathing into chasms, while the canpass override will still let it function like an open turf var/static/list/falling_atoms = list() //Atoms currently falling into the chasm - var/static/list/forbidden_types = typecacheof(list(/obj/effect/portal, /obj/singularity, /obj/structure/stone_tile, /obj/item/projectile, /obj/effect/abstract, /obj/effect/temp_visual)) + var/static/list/forbidden_types = typecacheof(list(/obj/effect/portal, /obj/singularity, /obj/structure/stone_tile, /obj/item/projectile, /obj/effect/abstract, /obj/effect/temp_visual, /obj/effect/light_emitter/tendril, /obj/effect/collapse)) var/drop_x = 1 var/drop_y = 1 var/drop_z = 1 diff --git a/code/game/turfs/simulated/floor/plating/asteroid.dm b/code/game/turfs/simulated/floor/plating/asteroid.dm index e819c19b99..abbf83a164 100644 --- a/code/game/turfs/simulated/floor/plating/asteroid.dm +++ b/code/game/turfs/simulated/floor/plating/asteroid.dm @@ -57,8 +57,6 @@ playsound(src, 'sound/weapons/genhit.ogg', 50, 1) return - return ..() - /turf/open/floor/plating/asteroid/singularity_act() if(turf_z_is_planet(src)) diff --git a/code/game/turfs/simulated/wall/mineral_walls.dm b/code/game/turfs/simulated/wall/mineral_walls.dm index 0578861074..ad85568267 100644 --- a/code/game/turfs/simulated/wall/mineral_walls.dm +++ b/code/game/turfs/simulated/wall/mineral_walls.dm @@ -222,13 +222,13 @@ icon = 'icons/turf/walls/survival_pod_walls.dmi' icon_state = "smooth" smooth = SMOOTH_MORE|SMOOTH_DIAGONAL - canSmoothWith = list(/turf/closed/wall/mineral/titanium/survival, /obj/machinery/door/airlock/survival_pod, /obj/structure/window/shuttle/survival_pod, /obj/structure/shuttle/engine) + canSmoothWith = list(/turf/closed/wall/mineral/titanium/survival, /obj/machinery/door/airlock, /obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/shuttle, /obj/structure/shuttle/engine) /turf/closed/wall/mineral/titanium/survival/nodiagonal smooth = SMOOTH_MORE /turf/closed/wall/mineral/titanium/survival/pod - canSmoothWith = list(/turf/closed/wall/mineral/titanium/survival, /obj/machinery/door/airlock, /obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/shuttle, /obj/structure/shuttle/engine) + canSmoothWith = list(/turf/closed/wall/mineral/titanium/survival, /obj/machinery/door/airlock/survival_pod, /obj/structure/window/shuttle/survival_pod) /////////////////////Plastitanium walls///////////////////// diff --git a/code/game/turfs/simulated/wall/reinf_walls.dm b/code/game/turfs/simulated/wall/reinf_walls.dm index c997d8dd55..4211c83d37 100644 --- a/code/game/turfs/simulated/wall/reinf_walls.dm +++ b/code/game/turfs/simulated/wall/reinf_walls.dm @@ -256,11 +256,10 @@ dismantle_wall() /turf/closed/wall/r_wall/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) - if(!the_rcd.canRturf) - return FALSE - return ..() + if(the_rcd.canRturf) + return ..() + /turf/closed/wall/r_wall/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) - if(!the_rcd.canRturf) - return FALSE - return ..() + if(the_rcd.canRturf) + return ..() \ No newline at end of file diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index d3edd42cec..6d8db55ad8 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -25,7 +25,18 @@ /turf/closed/wall/clockwork) smooth = SMOOTH_TRUE - var/list/damage_decals + var/list/dent_decals + + var/static/list/dent_decal_list = list( + WALL_DENT_HIT = list( + mutable_appearance('icons/effects/effects.dmi', "impact1", BULLET_HOLE_LAYER), + mutable_appearance('icons/effects/effects.dmi', "impact2", BULLET_HOLE_LAYER), + mutable_appearance('icons/effects/effects.dmi', "impact3", BULLET_HOLE_LAYER) + ), + WALL_DENT_SHOT = list( + mutable_appearance('icons/effects/effects.dmi', "bullet_hole", BULLET_HOLE_LAYER) + ) + ) /turf/closed/wall/examine(mob/user) ..() @@ -101,6 +112,8 @@ /turf/closed/wall/blob_act(obj/structure/blob/B) if(prob(50)) dismantle_wall() + else + add_dent(WALL_DENT_HIT) /turf/closed/wall/mech_melee_attack(obj/mecha/M) M.do_attack_animation(src) @@ -111,6 +124,8 @@ if(prob(hardness + M.force) && M.force > 20) dismantle_wall(1) playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1) + else + add_dent(WALL_DENT_HIT) if(BURN) playsound(src, 'sound/items/welder.ogg', 100, 1) if(TOX) @@ -138,6 +153,7 @@ dismantle_wall(1) else playsound(src, 'sound/effects/bang.ogg', 50, 1) + add_dent(WALL_DENT_HIT) to_chat(user, text("You punch the wall.")) return TRUE @@ -167,18 +183,20 @@ if(try_clean(W, user, T) || try_wallmount(W, user, T) || try_decon(W, user, T) || try_destroy(W, user, T)) return + return ..() + /turf/closed/wall/proc/try_clean(obj/item/W, mob/user, turf/T) - if((user.a_intent != INTENT_HELP) || !LAZYLEN(damage_decals) || !istype(W, /obj/item/weldingtool)) + if((user.a_intent != INTENT_HELP) || !LAZYLEN(dent_decals) || !istype(W, /obj/item/weldingtool)) return FALSE var/obj/item/weldingtool/WT = W if(WT.remove_fuel(0, user)) to_chat(user, "You begin fixing dents on the wall...") playsound(src, W.usesound, 100, 1) - if(do_after(user, slicing_duration * W.toolspeed * 0.5, target = src)) - if(iswallturf(src) && user && !QDELETED(WT) && WT.isOn() && !QDELETED(T) && (user.loc == T) && (user.get_active_held_item() == WT) && damage_decals.len) + if(do_after(user, slicing_duration * W.toolspeed * 0.1, target = src)) + if(iswallturf(src) && user && !QDELETED(WT) && WT.isOn() && !QDELETED(T) && (user.loc == T) && (user.get_active_held_item() == WT) && LAZYLEN(dent_decals)) to_chat(user, "You fix some dents on the wall.") - cut_overlay(damage_decals) - LAZYCLEARLIST(damage_decals) + cut_overlay(dent_decals) + LAZYCLEARLIST(dent_decals) return TRUE return FALSE @@ -253,7 +271,7 @@ if(.) ChangeTurf(/turf/closed/wall/clockwork) -/turf/closed/wall/get_dumping_location(obj/item/storage/source,mob/user) +/turf/closed/wall/get_dumping_location(obj/item/storage/source, mob/user) return null /turf/closed/wall/acid_act(acidpwr, acid_volume) @@ -278,7 +296,11 @@ return TRUE return FALSE -/turf/closed/wall/proc/add_damage_decal(var/mutable_appearance/decal) - cut_overlay(damage_decals) - LAZYADD(damage_decals, decal) - add_overlay(damage_decals) +/turf/closed/wall/proc/add_dent(denttype, x=rand(-8, 8), y=rand(-8, 8)) + var/mutable_appearance/decal = pick(dent_decal_list[denttype]) + decal.pixel_x = x + decal.pixel_y = y + + cut_overlay(dent_decals) + LAZYADD(dent_decals, decal) + add_overlay(dent_decals) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 40c026a7cb..36ba033eef 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -440,13 +440,13 @@ /turf/proc/empty(turf_type=/turf/open/space, baseturf_type, list/ignore_typecache, forceop = FALSE) // Remove all atoms except observers, landmarks, docking ports var/static/list/ignored_atoms = typecacheof(list(/mob/dead, /obj/effect/landmark, /obj/docking_port, /atom/movable/lighting_object)) - var/list/allowed_contents = typecache_filter_list_reverse(GetAllContents(), ignored_atoms | ignore_typecache) + var/list/allowed_contents = typecache_filter_list_reverse(GetAllContentsIgnoring(ignore_typecache), ignored_atoms) allowed_contents -= src for(var/i in 1 to allowed_contents.len) var/thing = allowed_contents[i] qdel(thing, force=TRUE) - var/turf/newT = ChangeTurf(turf_type, baseturf_type, FALSE, FALSE, forceop = forceop) + var/turf/newT = ChangeTurf(turf_type, baseturf_type, FALSE, FALSE, forceop) SSair.remove_from_active(newT) newT.CalculateAdjacentTurfs() diff --git a/code/game/world.dm b/code/game/world.dm index 026d7324e4..9a72794553 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -117,6 +117,9 @@ GLOBAL_PROTECT(security_mode) warning("/tg/station 13 uses many file operations, a few shell()s, and some external call()s. Trusted mode is recommended. You can download our source code for your own browsing and compilation at https://github.com/tgstation/tgstation") /world/Topic(T, addr, master, key) + + SERVER_TOOLS_ON_TOPIC //redirect to server tools if necessary + var/static/list/topic_handlers = TopicHandlers() var/list/input = params2list(T) var/datum/world_topic/handler @@ -124,12 +127,10 @@ GLOBAL_PROTECT(security_mode) if(I in input) handler = topic_handlers[I] break - + if((!handler || initial(handler.log)) && config && CONFIG_GET(flag/log_world_topic)) WRITE_FILE(GLOB.world_game_log, "TOPIC: \"[T]\", from:[addr], master:[master], key:[key]") - SERVER_TOOLS_ON_TOPIC //redirect to server tools if necessary - if(!handler) return diff --git a/code/modules/admin/DB_ban/functions.dm b/code/modules/admin/DB_ban/functions.dm index 6bd01183ad..5139ea8480 100644 --- a/code/modules/admin/DB_ban/functions.dm +++ b/code/modules/admin/DB_ban/functions.dm @@ -356,8 +356,8 @@ output += "" - output += "Add custom ban: (ONLY use this if you can't ban through any other method)" - output += "" + output += "Add custom ban: (ONLY use this if you can't ban through any other method)" + output += "" output += HrefTokenFormField() output += "" output += "" output += "
    Ban type:
    " - output += "Search: " - output += "" + output += "Search: " + output += "" output += HrefTokenFormField() output += "Ckey: " output += "Admin ckey: " @@ -469,25 +469,25 @@ if("PERMABAN") typedesc = "PERMABAN" if("TEMPBAN") - typedesc = "TEMPBAN
    ([duration] minutes [(unbanned) ? "" : "(Edit))"]
    Expires [expiration]
    " + typedesc = "TEMPBAN
    ([duration] minutes [(unbanned) ? "" : "(Edit))"]
    Expires [expiration]
    " if("JOB_PERMABAN") typedesc = "JOBBAN
    ([job])" if("JOB_TEMPBAN") - typedesc = "TEMP JOBBAN
    ([job])
    ([duration] minutes [(unbanned) ? "" : "(Edit))"]
    Expires [expiration]" + typedesc = "TEMP JOBBAN
    ([job])
    ([duration] minutes [(unbanned) ? "" : "(Edit))"]
    Expires [expiration]" if("ADMIN_PERMABAN") typedesc = "ADMIN PERMABAN" if("ADMIN_TEMPBAN") - typedesc = "ADMIN TEMPBAN
    ([duration] minutes [(unbanned) ? "" : "(Edit))"]
    Expires [expiration]
    " + typedesc = "ADMIN TEMPBAN
    ([duration] minutes [(unbanned) ? "" : "(Edit))"]
    Expires [expiration]
    " output += "" output += "[typedesc]" output += "[ckey]" output += "[bantime] (Round ID: [round_id])" output += "[ackey]" - output += "[(unbanned) ? "" : "Unban"]" + output += "[(unbanned) ? "" : "Unban"]" output += "" output += "" - output += "Reason: [(unbanned) ? "" : "(Edit)"] \"[reason]\"" + output += "Reason: [(unbanned) ? "" : "(Edit)"] \"[reason]\"" output += "" if(edits) output += "" diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm index 10a3774ae1..f43803631b 100644 --- a/code/modules/admin/IsBanned.dm +++ b/code/modules/admin/IsBanned.dm @@ -6,8 +6,10 @@ #define STICKYBAN_MAX_EXISTING_USER_MATCHES 5 //ie, users who were connected before the ban triggered #define STICKYBAN_MAX_ADMIN_MATCHES 2 -/world/IsBanned(key,address,computer_id) +/world/IsBanned(key,address,computer_id,type,real_bans_only=FALSE) if (!key || !address || !computer_id) + if(real_bans_only) + return FALSE log_access("Failed Login (invalid data): [key] [address]-[computer_id]") return list("reason"="invalid login data", "desc"="Error: Could not check ban status, Please try again. Error message: Your computer provided invalid or blank information to the server on connection (byond username, IP, and Computer ID.) Provided information for reference: Username:'[key]' IP:'[address]' Computer ID:'[computer_id]'. (If you continue to get this error, please restart byond or contact byond support.)") @@ -31,7 +33,7 @@ return list("reason"="whitelist", "desc" = "\nReason: You are not on the white list for this server") //Guest Checking - if(IsGuestKey(key)) + if(!real_bans_only && IsGuestKey(key)) if (CONFIG_GET(flag/guest_ban)) log_access("Failed Login: [key] - Guests not allowed") return list("reason"="guest", "desc"="\nReason: Guests not allowed. Please sign in with a byond account.") @@ -41,7 +43,7 @@ //Population Cap Checking var/extreme_popcap = CONFIG_GET(number/extreme_popcap) - if(extreme_popcap && living_player_count() >= extreme_popcap && !admin) + if(!real_bans_only && extreme_popcap && living_player_count() >= extreme_popcap && !admin) log_access("Failed Login: [key] - Population cap reached") return list("reason"="popcap", "desc"= "\nReason: [CONFIG_GET(string/extreme_popcap_message)]") @@ -160,8 +162,8 @@ world.SetConfig("ban", bannedckey, null) - log_game("Stickyban on [bannedckey] detected as rogue, reverting to it's roundstart state") - message_admins("Stickyban on [bannedckey] detected as rogue, reverting to it's roundstart state") + log_game("Stickyban on [bannedckey] detected as rogue, reverting to its roundstart state") + message_admins("Stickyban on [bannedckey] detected as rogue, reverting to its roundstart state") //do not convert to timer. spawn (5) world.SetConfig("ban", bannedckey, null) diff --git a/code/modules/admin/NewBan.dm b/code/modules/admin/NewBan.dm index add7254934..bd32533a7f 100644 --- a/code/modules/admin/NewBan.dm +++ b/code/modules/admin/NewBan.dm @@ -180,7 +180,7 @@ GLOBAL_PROTECT(Banlist) for (var/A in GLOB.Banlist.dir) count++ GLOB.Banlist.cd = "/base/[A]" - var/ref = "\ref[src]" + var/ref = "[REF(src)]" var/key = GLOB.Banlist["key"] var/id = GLOB.Banlist["id"] var/ip = GLOB.Banlist["ip"] diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index a64cd8f40e..fb646059bf 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -32,47 +32,47 @@ body += " played by [M.client] " body += "\[[M.client.holder ? M.client.holder.rank : "Player"]\]" if(CONFIG_GET(flag/use_exp_tracking)) - body += "\[" + M.client.get_exp_living() + "\]" + body += "\[" + M.client.get_exp_living() + "\]" if(isnewplayer(M)) body += " Hasn't Entered Game " else - body += " \[Heal\] " + body += " \[Heal\] " if(M.client) body += "
    \[First Seen: [M.client.player_join_date]\]\[Byond account registered on: [M.client.account_join_date]\]" body += "

    Show related accounts by: " - body += "\[ CID | " - body += "IP \]" + body += "\[ CID | " + body += "IP \]" body += "

    \[ " - body += "VV - " - body += "TP - " + body += "VV - " + body += "TP - " body += "PM - " - body += "SM - " - body += "FLW - " - body += "LOGS\]
    " + body += "SM - " + body += "FLW - " + body += "LOGS\]
    " body += "Mob type = [M.type]

    " - body += "Kick | " - body += "Ban | " - body += "Jobban | " - body += "Identity Ban | " + body += "Kick | " + body += "Ban | " + body += "Jobban | " + body += "Identity Ban | " if(jobban_isbanned(M, "OOC")) - body+= "OOCBan | " + body+= "OOCBan | " else - body+= "OOCBan | " + body+= "OOCBan | " if(jobban_isbanned(M, "emote")) - body+= "EmoteBan | " + body+= "EmoteBan | " else - body+= "Emoteban | " + body+= "Emoteban | " body += "Notes | Messages | Watchlist | " if(M.client) - body += "| Prison | " - body += "\ Send back to Lobby | " + body += "| Prison | " + body += "\ Send back to Lobby | " var/muted = M.client.prefs.muted body += "
    Mute: " body += "\[IC | " @@ -83,15 +83,15 @@ body += "(toggle all)" body += "

    " - body += "Jump to | " - body += "Get | " - body += "Send To" + body += "Jump to | " + body += "Get | " + body += "Send To" body += "

    " - body += "Traitor panel | " - body += "Narrate to | " - body += "Subtle message | " - body += "Language Menu" + body += "Traitor panel | " + body += "Narrate to | " + body += "Subtle message | " + body += "Language Menu" if (M.client) if(!isnewplayer(M)) @@ -103,76 +103,76 @@ if(ishuman(M)) body += "Human | " else - body += "Humanize | " + body += "Humanize | " //Monkey if(ismonkey(M)) body += "Monkeyized | " else - body += "Monkeyize | " + body += "Monkeyize | " //Corgi if(iscorgi(M)) body += "Corgized | " else - body += "Corgize | " + body += "Corgize | " //AI / Cyborg if(isAI(M)) body += "Is an AI " else if(ishuman(M)) - body += "Make AI | " - body += "Make Robot | " - body += "Make Alien | " - body += "Make Slime | " - body += "Make Blob | " + body += "Make AI | " + body += "Make Robot | " + body += "Make Alien | " + body += "Make Slime | " + body += "Make Blob | " //Simple Animals if(isanimal(M)) - body += "Re-Animalize | " + body += "Re-Animalize | " else - body += "Animalize | " + body += "Animalize | " body += "

    " body += "Rudimentary transformation:
    These transformations only create a new mob type and copy stuff over. They do not take into account MMIs and similar mob-specific things. The buttons in 'Transformations' are preferred, when possible.

    " - body += "Observer | " - body += "\[ Alien: Drone, " - body += "Hunter, " - body += "Sentinel, " - body += "Praetorian, " - body += "Queen, " - body += "Larva \] " - body += "Human " - body += "\[ slime: Baby, " - body += "Adult \] " - body += "Monkey | " - body += "Cyborg | " - body += "Cat | " - body += "Runtime | " - body += "Corgi | " - body += "Ian | " - body += "Crab | " - body += "Coffee | " - body += "\[ Construct: Juggernaut , " - body += "Artificer , " - body += "Wraith \] " - body += "Shade" + body += "Observer | " + body += "\[ Alien: Drone, " + body += "Hunter, " + body += "Sentinel, " + body += "Praetorian, " + body += "Queen, " + body += "Larva \] " + body += "Human " + body += "\[ slime: Baby, " + body += "Adult \] " + body += "Monkey | " + body += "Cyborg | " + body += "Cat | " + body += "Runtime | " + body += "Corgi | " + body += "Ian | " + body += "Crab | " + body += "Coffee | " + body += "\[ Construct: Juggernaut , " + body += "Artificer , " + body += "Wraith \] " + body += "Shade" body += "
    " if (M.client) body += "

    " body += "Other actions:" body += "
    " - body += "Forcesay | " - body += "Thunderdome 1 | " - body += "Thunderdome 2 | " - body += "Thunderdome Admin | " - body += "Thunderdome Observer | " + body += "Forcesay | " + body += "Thunderdome 1 | " + body += "Thunderdome 2 | " + body += "Thunderdome Admin | " + body += "Thunderdome Observer | " body += "
    " body += "" - usr << browse(body, "window=adminplayeropts-\ref[M];size=550x515") + usr << browse(body, "window=adminplayeropts-[REF(M)];size=550x515") SSblackbox.add_details("admin_verb","Player Panel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -195,19 +195,19 @@ dat += "
    Feed channels and stories entered through here will be uneditable and handled as official news by the rest of the units." dat += "
    Note that this panel allows full freedom over the news network, there are no constrictions except the few basic ones. Don't break things!
    " if(GLOB.news_network.wanted_issue.active) - dat+= "
    Read Wanted Issue" - dat+= "

    Create Feed Channel" - dat+= "
    View Feed Channels" - dat+= "
    Submit new Feed story" - dat+= "

    Exit" + dat+= "
    Read Wanted Issue" + dat+= "

    Create Feed Channel" + dat+= "
    View Feed Channels" + dat+= "
    Submit new Feed story" + dat+= "

    Exit" var/wanted_already = 0 if(GLOB.news_network.wanted_issue.active) wanted_already = 1 dat+="
    Feed Security functions:
    " - dat+="
    [(wanted_already) ? ("Manage") : ("Publish")] \"Wanted\" Issue" - dat+="
    Censor Feed Stories" - dat+="
    Mark Feed Channel with Nanotrasen D-Notice (disables and locks the channel)." - dat+="

    The newscaster recognises you as:
    [src.admin_signature]
    " + dat+="
    [(wanted_already) ? ("Manage") : ("Publish")] \"Wanted\" Issue" + dat+="
    Censor Feed Stories" + dat+="
    Mark Feed Channel with Nanotrasen D-Notice (disables and locks the channel)." + dat+="

    The newscaster recognises you as:
    [src.admin_signature]
    " if(1) dat+= "Station Feed Channels
    " if( isemptylist(GLOB.news_network.network_channels) ) @@ -215,36 +215,36 @@ else for(var/datum/newscaster/feed_channel/CHANNEL in GLOB.news_network.network_channels) if(CHANNEL.is_admin_channel) - dat+="[CHANNEL.channel_name]
    " + dat+="[CHANNEL.channel_name]
    " else - dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
    " - dat+="

    Refresh" - dat+="
    Back" + dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
    " + dat+="

    Refresh" + dat+="
    Back" if(2) dat+="Creating new Feed Channel..." - dat+="
    Channel Name: [src.admincaster_feed_channel.channel_name]
    " - dat+="Channel Author: [src.admin_signature]
    " - dat+="Will Accept Public Feeds: [(src.admincaster_feed_channel.locked) ? ("NO") : ("YES")]

    " - dat+="
    Submit

    Cancel
    " + dat+="
    Channel Name: [src.admincaster_feed_channel.channel_name]
    " + dat+="Channel Author: [src.admin_signature]
    " + dat+="Will Accept Public Feeds: [(src.admincaster_feed_channel.locked) ? ("NO") : ("YES")]

    " + dat+="
    Submit

    Cancel
    " if(3) dat+="Creating new Feed Message..." - dat+="
    Receiving Channel: [src.admincaster_feed_channel.channel_name]
    " //MARK + dat+="
    Receiving Channel: [src.admincaster_feed_channel.channel_name]
    " //MARK dat+="Message Author: [src.admin_signature]
    " - dat+="Message Body: [src.admincaster_feed_message.returnBody(-1)]
    " - dat+="
    Submit

    Cancel
    " + dat+="Message Body: [src.admincaster_feed_message.returnBody(-1)]
    " + dat+="
    Submit

    Cancel
    " if(4) dat+="Feed story successfully submitted to [src.admincaster_feed_channel.channel_name].

    " - dat+="
    Return
    " + dat+="
    Return
    " if(5) dat+="Feed Channel [src.admincaster_feed_channel.channel_name] created successfully.

    " - dat+="
    Return
    " + dat+="
    Return
    " if(6) dat+="ERROR: Could not submit Feed story to Network.

    " if(src.admincaster_feed_channel.channel_name=="") dat+="•Invalid receiving channel name.
    " if(src.admincaster_feed_message.returnBody(-1) == "" || src.admincaster_feed_message.returnBody(-1) == "\[REDACTED\]") dat+="•Invalid message body.
    " - dat+="
    Return
    " + dat+="
    Return
    " if(7) dat+="ERROR: Could not submit Feed Channel to Network.

    " if(src.admincaster_feed_channel.channel_name =="" || src.admincaster_feed_channel.channel_name == "\[REDACTED\]") @@ -256,7 +256,7 @@ break if(check) dat+="•Channel name already in use.
    " - dat+="
    Return
    " + dat+="
    Return
    " if(9) dat+="[admincaster_feed_channel.channel_name]: \[created by: [admincaster_feed_channel.returnAuthor(-1)]\]
    " if(src.admincaster_feed_channel.censored) @@ -278,8 +278,8 @@ for(var/datum/newscaster/feed_comment/comment in MESSAGE.comments) dat+="[comment.body]
    [comment.author] [comment.time_stamp]
    " dat+="
    " - dat+="

    Refresh" - dat+="
    Back" + dat+="

    Refresh" + dat+="
    Back" if(10) dat+="Nanotrasen Feed Censorship Tool
    " dat+="NOTE: Due to the nature of news Feeds, total deletion of a Feed Story is not possible.
    " @@ -289,8 +289,8 @@ dat+="No feed channels found active...
    " else for(var/datum/newscaster/feed_channel/CHANNEL in GLOB.news_network.network_channels) - dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
    " - dat+="
    Cancel" + dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
    " + dat+="
    Cancel" if(11) dat+="Nanotrasen D-Notice Handler
    " dat+="A D-Notice is to be bestowed upon the channel if the handling Authority deems it as harmful for the station's" @@ -300,26 +300,26 @@ dat+="No feed channels found active...
    " else for(var/datum/newscaster/feed_channel/CHANNEL in GLOB.news_network.network_channels) - dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
    " + dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ()]
    " - dat+="
    Back" + dat+="
    Back" if(12) dat+="[src.admincaster_feed_channel.channel_name]: \[ created by: [src.admincaster_feed_channel.returnAuthor(-1)] \]
    " - dat+="[(src.admincaster_feed_channel.authorCensor) ? ("Undo Author censorship") : ("Censor channel Author")]
    " + dat+="[(src.admincaster_feed_channel.authorCensor) ? ("Undo Author censorship") : ("Censor channel Author")]
    " if( isemptylist(src.admincaster_feed_channel.messages) ) dat+="No feed messages found in channel...
    " else for(var/datum/newscaster/feed_message/MESSAGE in src.admincaster_feed_channel.messages) dat+="-[MESSAGE.returnBody(-1)]
    \[Story by [MESSAGE.returnAuthor(-1)]\]
    " - dat+="[(MESSAGE.bodyCensor) ? ("Undo story censorship") : ("Censor story")] - [(MESSAGE.authorCensor) ? ("Undo Author Censorship") : ("Censor message Author")]
    " - dat+="[MESSAGE.comments.len] comment[MESSAGE.comments.len > 1 ? "s" : ""]: [MESSAGE.locked ? "Unlock" : "Lock"]
    " + dat+="[(MESSAGE.bodyCensor) ? ("Undo story censorship") : ("Censor story")] - [(MESSAGE.authorCensor) ? ("Undo Author Censorship") : ("Censor message Author")]
    " + dat+="[MESSAGE.comments.len] comment[MESSAGE.comments.len > 1 ? "s" : ""]: [MESSAGE.locked ? "Unlock" : "Lock"]
    " for(var/datum/newscaster/feed_comment/comment in MESSAGE.comments) - dat+="[comment.body] X
    [comment.author] [comment.time_stamp]
    " - dat+="
    Back" + dat+="[comment.body] X
    [comment.author] [comment.time_stamp]
    " + dat+="
    Back" if(13) dat+="[src.admincaster_feed_channel.channel_name]: \[ created by: [src.admincaster_feed_channel.returnAuthor(-1)] \]
    " - dat+="Channel messages listed below. If you deem them dangerous to the station, you can Bestow a D-Notice upon the channel.
    " + dat+="Channel messages listed below. If you deem them dangerous to the station, you can Bestow a D-Notice upon the channel.
    " if(src.admincaster_feed_channel.censored) dat+="ATTENTION: This channel has been deemed as threatening to the welfare of the station, and marked with a Nanotrasen D-Notice.
    " dat+="No further feed story additions are allowed while the D-Notice is in effect.


    " @@ -329,7 +329,7 @@ else for(var/datum/newscaster/feed_message/MESSAGE in src.admincaster_feed_channel.messages) dat+="-[MESSAGE.returnBody(-1)]
    \[Story by [MESSAGE.returnAuthor(-1)]\]
    " - dat+="
    Back" + dat+="
    Back" if(14) dat+="Wanted Issue Handler:" var/wanted_already = 0 @@ -340,29 +340,29 @@ if(wanted_already) dat+="
    A wanted issue is already in Feed Circulation. You can edit or cancel it below.
    " dat+="
    " - dat+="Criminal Name: [src.admincaster_wanted_message.criminal]
    " - dat+="Description: [src.admincaster_wanted_message.body]
    " + dat+="Criminal Name: [src.admincaster_wanted_message.criminal]
    " + dat+="Description: [src.admincaster_wanted_message.body]
    " if(wanted_already) dat+="Wanted Issue created by:[GLOB.news_network.wanted_issue.scannedUser]
    " else dat+="Wanted Issue will be created under prosecutor:[src.admin_signature]
    " - dat+="
    [(wanted_already) ? ("Edit Issue") : ("Submit")]" + dat+="
    [(wanted_already) ? ("Edit Issue") : ("Submit")]" if(wanted_already) - dat+="
    Take down Issue" - dat+="
    Cancel" + dat+="
    Take down Issue" + dat+="
    Cancel" if(15) dat+="Wanted issue for [src.admincaster_wanted_message.criminal] is now in Network Circulation.

    " - dat+="
    Return
    " + dat+="
    Return
    " if(16) dat+="ERROR: Wanted Issue rejected by Network.

    " if(src.admincaster_wanted_message.criminal =="" || src.admincaster_wanted_message.criminal == "\[REDACTED\]") dat+="•Invalid name for person wanted.
    " if(src.admincaster_wanted_message.body == "" || src.admincaster_wanted_message.body == "\[REDACTED\]") dat+="•Invalid description.
    " - dat+="
    Return
    " + dat+="
    Return
    " if(17) dat+="Wanted Issue successfully deleted from Circulation
    " - dat+="
    Return
    " + dat+="
    Return
    " if(18) dat+="-- STATIONWIDE WANTED ISSUE --
    \[Submitted by: [GLOB.news_network.wanted_issue.scannedUser]\]
    " dat+="Criminal: [GLOB.news_network.wanted_issue.criminal]
    " @@ -373,10 +373,10 @@ dat+="
    " else dat+="None" - dat+="
    Back
    " + dat+="
    Back
    " if(19) dat+="Wanted issue for [src.admincaster_wanted_message.criminal] successfully edited.

    " - dat+="
    Return
    " + dat+="
    Return
    " else dat+="I'm sorry to break your immersion. This shit's bugged. Report this bug to Agouri, polyxenitopalidou@gmail.com" @@ -390,21 +390,21 @@ var/dat = {"
    Game Panel

    \n - Change Game Mode
    + Change Game Mode
    "} if(GLOB.master_mode == "secret") - dat += "(Force Secret Mode)
    " + dat += "(Force Secret Mode)
    " dat += {"
    - Create Object
    - Quick Create Object
    - Create Turf
    - Create Mob
    + Create Object
    + Quick Create Object
    + Create Turf
    + Create Mob
    "} if(marked_datum && istype(marked_datum, /atom)) - dat += "Duplicate Marked Datum
    " + dat += "Duplicate Marked Datum
    " usr << browse(dat, "window=admin2;size=210x200") return @@ -700,7 +700,8 @@ /datum/admins/proc/output_ai_laws() var/ai_number = 0 - for(var/mob/living/silicon/S in GLOB.mob_list) + for(var/i in GLOB.silicon_mobs) + var/mob/living/silicon/S = i ai_number++ if(isAI(S)) to_chat(usr, "AI [key_name(S, usr)]'s laws:") @@ -757,14 +758,14 @@ dat += " (Cannot Late Join)
    " continue if(job.total_positions >= 0) - dat += " Add | " + dat += " Add | " if(job.total_positions > job.current_positions) - dat += "Remove | " + dat += "Remove | " else dat += "Remove | " - dat += "Unlimit" + dat += "Unlimit" else - dat += " Limit" + dat += " Limit" dat += "
    " dat += "" @@ -772,6 +773,11 @@ winheight = min(winheight, 690) usr << browse(dat, "window=players;size=375x[winheight]") +/datum/admins/proc/create_or_modify_area() + set category = "Debug" + set name = "Create or modify area" + create_area(usr) + // // //ALL DONE diff --git a/code/modules/admin/admin_investigate.dm b/code/modules/admin/admin_investigate.dm index 2ca0593e8d..e169f656c4 100644 --- a/code/modules/admin/admin_investigate.dm +++ b/code/modules/admin/admin_investigate.dm @@ -2,10 +2,9 @@ if(!message || !subject) return var/F = file("[GLOB.log_directory]/[subject].html") - F << "[time_stamp()] \ref[src] ([x],[y],[z]) || [src] [message]
    " + WRITE_FILE(F, "[time_stamp()] [REF(src)] ([x],[y],[z]) || [src] [message]
    ") - -/client/proc/investigate_show(subject in list("hrefs","notes, memos, watchlist", INVESTIGATE_PORTAL, INVESTIGATE_SINGULO, INVESTIGATE_WIRES, INVESTIGATE_TELESCI, INVESTIGATE_GRAVITY, INVESTIGATE_RECORDS, INVESTIGATE_CARGO, INVESTIGATE_SUPERMATTER, INVESTIGATE_ATMOS, INVESTIGATE_EXPERIMENTOR, INVESTIGATE_BOTANY, INVESTIGATE_HALLUCINATIONS) ) +/client/proc/investigate_show(subject in list("hrefs","notes, memos, watchlist", INVESTIGATE_EXONET, INVESTIGATE_PORTAL, INVESTIGATE_SINGULO, INVESTIGATE_WIRES, INVESTIGATE_TELESCI, INVESTIGATE_GRAVITY, INVESTIGATE_RECORDS, INVESTIGATE_CARGO, INVESTIGATE_SUPERMATTER, INVESTIGATE_ATMOS, INVESTIGATE_EXPERIMENTOR, INVESTIGATE_BOTANY, INVESTIGATE_HALLUCINATIONS, INVESTIGATE_RADIATION) ) set name = "Investigate" set category = "Admin" if(!holder) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 01f825492f..594e6ba7fb 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -156,7 +156,9 @@ GLOBAL_LIST_INIT(admin_verbs_debug, world.AVerbsDebug()) /client/proc/toggle_medal_disable, /client/proc/view_runtimes, /client/proc/pump_random_event, - /client/proc/cmd_display_init_log + /client/proc/cmd_display_init_log, + /client/proc/cmd_display_overlay_log, + /datum/admins/proc/create_or_modify_area ) GLOBAL_PROTECT(admin_verbs_possess) GLOBAL_LIST_INIT(admin_verbs_possess, list(/proc/possess, /proc/release)) diff --git a/code/modules/admin/create_mob.dm b/code/modules/admin/create_mob.dm index 93c354239b..16bd79f74a 100644 --- a/code/modules/admin/create_mob.dm +++ b/code/modules/admin/create_mob.dm @@ -4,6 +4,7 @@ var/mobjs = null mobjs = jointext(typesof(/mob), ";") create_mob_html = file2text('html/create_object.html') + create_mob_html = replacetext(create_mob_html, "Create Object", "Create Mob") create_mob_html = replacetext(create_mob_html, "null /* object types */", "\"[mobjs]\"") user << browse(create_panel_helper(create_mob_html), "window=create_mob;size=425x475") diff --git a/code/modules/admin/create_object.dm b/code/modules/admin/create_object.dm index 73bb998231..51ffa539dc 100644 --- a/code/modules/admin/create_object.dm +++ b/code/modules/admin/create_object.dm @@ -1,5 +1,5 @@ /datum/admins/proc/create_panel_helper(template) - var/final_html = replacetext(template, "/* ref src */", "\ref[src];[HrefToken()]") + var/final_html = replacetext(template, "/* ref src */", "[REF(src)];[HrefToken()]") final_html = replacetext(final_html,"/* hreftokenfield */","[HrefTokenFormField()]") return final_html @@ -18,13 +18,14 @@ /obj, /obj/structure, /obj/machinery, /obj/effect, /obj/item, /obj/item/clothing, /obj/item/stack, /obj/item/device, /obj/item/reagent_containers, /obj/item/gun) - + var/path = input("Select the path of the object you wish to create.", "Path", /obj) in create_object_forms var/html_form = create_object_forms[path] if (!html_form) var/objectjs = jointext(typesof(path), ";") html_form = file2text('html/create_object.html') + html_form = replacetext(html_form, "Create Object", "Create [path]") html_form = replacetext(html_form, "null /* object types */", "\"[objectjs]\"") create_object_forms[path] = html_form diff --git a/code/modules/admin/create_turf.dm b/code/modules/admin/create_turf.dm index a25c02554e..4742cac442 100644 --- a/code/modules/admin/create_turf.dm +++ b/code/modules/admin/create_turf.dm @@ -4,6 +4,7 @@ var/turfjs = null turfjs = jointext(typesof(/turf), ";") create_turf_html = file2text('html/create_object.html') + create_turf_html = replacetext(create_turf_html, "Create Object", "Create Turf") create_turf_html = replacetext(create_turf_html, "null /* object types */", "\"[turfjs]\"") user << browse(create_panel_helper(create_turf_html), "window=create_turf;size=425x475") diff --git a/code/modules/admin/permissionverbs/permissionedit.dm b/code/modules/admin/permissionverbs/permissionedit.dm index 24a53eff2b..26d2c87b48 100644 --- a/code/modules/admin/permissionverbs/permissionedit.dm +++ b/code/modules/admin/permissionverbs/permissionedit.dm @@ -20,7 +20,7 @@
    - + @@ -36,10 +36,10 @@ if(!rights) rights = "*none*" output += "" - output += "" - output += "" - output += "" - output += "" + output += "" + output += "" + output += "" + output += "" output += "" output += {" diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index f91ebb7557..fa6e184ab4 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -282,7 +282,7 @@ " + dat += "" dat += "" - dat += "" + dat += "" else - dat += "" + dat += "" dat += "" dat += "
    CKEY \[+\]CKEY \[+\] RANK PERMISSIONS VERB-OVERRIDES
    [adm_ckey] \[-\][D.rank.name][rights][rights2text(0," ",D.rank.adds,D.rank.subs)][adm_ckey] \[-\][D.rank.name][rights][rights2text(0," ",D.rank.adds,D.rank.subs)]
    [M_name] - [M_rname] - [M_key] ([M_job]) @@ -338,7 +338,7 @@ dat += "Time limit: [CONFIG_GET(number/midround_antag_time_check)] minutes into round
    " dat += "Living crew limit: [CONFIG_GET(number/midround_antag_life_check) * 100]% of crew alive
    " dat += "If limits past: [SSticker.mode.round_ends_with_antag_death ? "End The Round" : "Continue As Extended"]
    " - dat += "End Round Now
    " + dat += "End Round Now
    " dat += "[SSticker.delay_end ? "End Round Normally" : "Delay Round End"]" var/connected_players = GLOB.clients.len var/lobby_players = 0 @@ -389,11 +389,11 @@ for(var/datum/mind/N in SSticker.mode.syndicates) var/mob/M = N.current if(M) - dat += "
    [M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]
    [M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]PMFLW
    FLW
    [N.name]([N.key]) Nuclear Operative Body destroyed!
    [N.name]([N.key]) Nuclear Operative Body destroyed!PM

    " for(var/obj/item/disk/nuclear/N in GLOB.poi_list) @@ -402,7 +402,7 @@ while(!isturf(disk_loc)) if(ismob(disk_loc)) var/mob/M = disk_loc - dat += "carried by [M.real_name] " + dat += "carried by [M.real_name] " if(isobj(disk_loc)) var/obj/O = disk_loc dat += "in \a [O.name] " @@ -416,43 +416,46 @@ for(var/datum/mind/N in get_antagonists(/datum/antagonist/rev/head)) var/mob/M = N.current if(!M) - dat += "" + dat += "" dat += "" else - dat += "" + dat += "" dat += "" - dat += "" + dat += "" for(var/datum/mind/N in get_antagonists(/datum/antagonist/rev,TRUE)) var/mob/M = N.current if(M) - dat += "" + dat += "" dat += "" - dat += "" + dat += "" dat += "
    Nuclear Disk(s)
    [N.name]([N.key])Head Revolutionary body destroyed!
    [N.name]([N.key])Head Revolutionary body destroyed!PM
    [M.real_name] (Leader)[M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]
    [M.real_name] (Leader)[M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]PMFLW
    FLW
    [M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]
    [M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]PMFLW
    FLW
    " for(var/datum/mind/N in SSjob.get_living_heads()) var/mob/M = N.current if(M) - dat += "" + dat += "" dat += "" - dat += "" + dat += "" var/turf/mob_loc = get_turf(M) dat += "" else - dat += "" + dat += "" dat += "" dat += "
    Target(s)Location
    [M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]
    [M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]PMFLWFLW[mob_loc.loc]
    [N.name]([N.key])Head body destroyed!
    [N.name]([N.key])Head body destroyed!PM
    " - if(SSticker.mode.changelings.len > 0) + + var/list/lings = get_antagonists(/datum/antagonist/changeling) + if(lings.len > 0) dat += "
    " - for(var/datum/mind/changeling in SSticker.mode.changelings) + for(var/datum/mind/changeling in lings) + var/datum/antagonist/changeling/lingantag = changeling.has_antag_datum(/datum/antagonist/changeling) var/mob/M = changeling.current if(M) - dat += "" + dat += "" dat += "" - dat += "" - dat += "" + dat += "" + dat += "" else - dat += "" + dat += "" dat += "" dat += "
    Changelings
    [M.mind.changeling.changelingID] as [M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]
    [lingantag.changelingID]([lingantag.name]) as [M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]PMFLWShow Objective
    FLWShow Objective
    [changeling.name]([changeling.key])Changeling body destroyed!
    [changeling.name]([changeling.key])Changeling body destroyed!PM
    " @@ -461,12 +464,12 @@ for(var/datum/mind/wizard in SSticker.mode.wizards) var/mob/M = wizard.current if(M) - dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]" dat += "PM" - dat += "FLW" - dat += "Show Objective" + dat += "FLW" + dat += "Show Objective" else - dat += "[wizard.name]([wizard.key])Wizard body destroyed!" + dat += "[wizard.name]([wizard.key])Wizard body destroyed!" dat += "PM" dat += "" @@ -475,12 +478,12 @@ for(var/datum/mind/apprentice in SSticker.mode.apprentices) var/mob/M = apprentice.current if(M) - dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]" dat += "PM" - dat += "FLW" - dat += "Show Objective" + dat += "FLW" + dat += "Show Objective" else - dat += "[apprentice.name]([apprentice.key])Apprentice body destroyed!!" + dat += "[apprentice.name]([apprentice.key])Apprentice body destroyed!!" dat += "PM" dat += "" @@ -489,9 +492,9 @@ for(var/datum/mind/N in SSticker.mode.cult) var/mob/M = N.current if(M) - dat += "[M.real_name][N.has_antag_datum(ANTAG_DATUM_CULT_MASTER) ? " \[Master\]" : ""][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]" + dat += "[M.real_name][N.has_antag_datum(ANTAG_DATUM_CULT_MASTER) ? " \[Master\]" : ""][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]" dat += "PM" - dat += "FLW" + dat += "FLW" dat += "" if(SSticker.mode.servants_of_ratvar.len) @@ -499,9 +502,9 @@ for(var/datum/mind/N in SSticker.mode.servants_of_ratvar) var/mob/M = N.current if(M) - dat += "[M.real_name][M.client ? "" : " (ghost)"][M.stat == DEAD ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (ghost)"][M.stat == DEAD ? " (DEAD)" : ""]" dat += "PM" - dat += "FLW" + dat += "FLW" dat += "" if(SSticker.mode.traitors.len > 0) @@ -509,12 +512,12 @@ for(var/datum/mind/traitor in SSticker.mode.traitors) var/mob/M = traitor.current if(M) - dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]" dat += "PM" - dat += "FLW" - dat += "Show Objective" + dat += "FLW" + dat += "Show Objective" else - dat += "[traitor.name]([traitor.key])Traitor body destroyed!" + dat += "[traitor.name]([traitor.key])Traitor body destroyed!" dat += "PM" dat += "" @@ -524,12 +527,12 @@ for(var/datum/mind/brother in team.members) var/mob/M = brother.current if(M) - dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]" dat += "PM" - dat += "FLW" - dat += "Show Objective" + dat += "FLW" + dat += "Show Objective" else - dat += "[brother.name]([brother.key])Brother body destroyed!" + dat += "[brother.name]([brother.key])Brother body destroyed!" dat += "PM" dat += "" @@ -538,12 +541,12 @@ for(var/datum/mind/abductor in SSticker.mode.abductors) var/mob/M = abductor.current if(M) - dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]" dat += "PM" - dat += "FLW" - dat += "Show Objective" + dat += "FLW" + dat += "Show Objective" else - dat += "[abductor.name]([abductor.key])Abductor body destroyed!" + dat += "[abductor.name]([abductor.key])Abductor body destroyed!" dat += "PM" dat += "" dat += "
    " @@ -551,12 +554,12 @@ for(var/datum/mind/abductee in E.abductee_minds) var/mob/M = abductee.current if(M) - dat += "" + dat += "" dat += "" - dat += "" - dat += "" + dat += "" + dat += "" else - dat += "" + dat += "" dat += "" dat += "
    Abductees
    [M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]
    [M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]PMFLWShow Objective
    FLWShow Objective
    [abductee.name]([abductee.key])Abductee body destroyed!
    [abductee.name]([abductee.key])Abductee body destroyed!PM
    " @@ -567,12 +570,12 @@ var/mob/M = devil.current var/datum/antagonist/devil/devilinfo = devil.has_antag_datum(ANTAG_DATUM_DEVIL) if(M) - dat += "[M.real_name] : [devilinfo.truename][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]" + dat += "[M.real_name] : [devilinfo.truename][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]" dat += "PM" - dat += "Show Objective" - dat += "Show all devil info" + dat += "Show Objective" + dat += "Show all devil info" else - dat += "[devil.name] : [devilinfo.truename] ([devil.key])devil body destroyed!" + dat += "[devil.name] : [devilinfo.truename] ([devil.key])devil body destroyed!" dat += "PM" dat += "" @@ -582,11 +585,11 @@ var/datum/mind/sintouched = X var/mob/M = sintouched.current if(M) - dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]" dat += "PM" - dat += "Show Objective" + dat += "Show Objective" else - dat += "[sintouched.name]([sintouched.key])sintouched body destroyed!" + dat += "[sintouched.name]([sintouched.key])sintouched body destroyed!" dat += "PM" dat += "" @@ -598,12 +601,12 @@ for(var/datum/mind/blob in blob_minds) var/mob/camera/blob/M = blob.current if(M) - dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]" dat += "PM" - dat += "FLW" + dat += "FLW" dat += "Progress: [M.blobs_legit.len]/[M.blobwincount]" else - dat += "[blob.name]([blob.key])Blob not found!" + dat += "[blob.name]([blob.key])Blob not found!" dat += "PM" dat += "" @@ -615,11 +618,11 @@ for(var/datum/mind/eek in mode.ape_infectees) var/mob/M = eek.current if(M) - dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]" + dat += "[M.real_name][M.client ? "" : " (No Client)"][M.stat == DEAD ? " (DEAD)" : ""]" dat += "PM" - dat += "FLW" + dat += "FLW" else - dat += "[eek.name]([eek.key])Monkey not found!" + dat += "[eek.name]([eek.key])Monkey not found!" dat += "PM" dat += "" diff --git a/code/modules/admin/secrets.dm b/code/modules/admin/secrets.dm index 5e1a8300c4..28784f0182 100644 --- a/code/modules/admin/secrets.dm +++ b/code/modules/admin/secrets.dm @@ -7,9 +7,9 @@ dat +={" General Secrets

    - Show Job Debug
    - Admin Log
    - Show Admin List
    + Show Job Debug
    + Admin Log
    + Show Admin List

    "} @@ -17,58 +17,55 @@ dat += {" Admin Secrets

    - Cure all diseases currently in existence
    - Bombing List
    - Show current traitors and objectives
    - Show last [length(GLOB.lastsignalers)] signalers
    - Show last [length(GLOB.lawchanges)] law changes
    - Show AI Laws
    - Show Game Mode
    - Show Crew Manifest
    - List DNA (Blood)
    - List Fingerprints
    - Enable/Disable CTF

    - Reset Thunderdome to default state
    - Rename Station Name
    - Reset Station Name
    + Cure all diseases currently in existence
    + Bombing List
    + Show current traitors and objectives
    + Show last [length(GLOB.lastsignalers)] signalers
    + Show last [length(GLOB.lawchanges)] law changes
    + Show AI Laws
    + Show Game Mode
    + Show Crew Manifest
    + List DNA (Blood)
    + List Fingerprints
    + Enable/Disable CTF

    + Reset Thunderdome to default state
    + Rename Station Name
    + Reset Station Name

    Shuttles

    - Move Ferry
    - Toggle Arrivals Ferry
    - Move Mining Shuttle
    - Move Labor Shuttle
    + Move Ferry
    + Toggle Arrivals Ferry
    + Move Mining Shuttle
    + Move Labor Shuttle

    "} if(check_rights(R_FUN,0)) dat += {" - Fun Secrets
    + Trigger a Virus Outbreak
    + Turn all humans into monkeys
    + Chinese Cartoons
    + Change the species of all humans
    + Make all areas powered
    + Make all areas unpowered
    + Power all SMES
    + Triple AI mode (needs to be used in the lobby)
    + Everyone is the traitor
    + Summon Guns
    + Summon Magic
    + Summon Events (Toggle)
    + There can only be one!
    + There can only be one! (40-second delay)
    + Make all players retarded
    + Egalitarian Station Mode
    + Break all lights
    + Fix all lights
    + The floor is lava! (DANGEROUS: extremely lame)

    - Trigger a Virus Outbreak
    - Turn all humans into monkeys
    - Chinese Cartoons
    - Change the species of all humans
    - Make all areas powered
    - Make all areas unpowered
    - Power all SMES
    - Triple AI mode (needs to be used in the lobby)
    - Everyone is the traitor
    - AK-47s For Everyone!
    - Summon Guns
    - Summon Magic
    - Summon Events (Toggle)
    - There can only be one!
    - There can only be one! (40-second delay)
    - Make all players retarded
    - Egalitarian Station Mode
    - Break all lights
    - Fix all lights
    - The floor is lava! (DANGEROUS: extremely lame)
    -
    - Change bomb cap
    - Mass Purrbation
    - Mass Remove Purrbation
    + Change bomb cap
    + Mass Purrbation
    + Mass Remove Purrbation
    "} dat += "
    " @@ -77,9 +74,9 @@ dat += {" Security Level Elevated

    - Change all maintenance doors to engie/brig access only
    - Change all maintenance doors to brig access only
    - Remove cap on security officers
    + Change all maintenance doors to engie/brig access only
    + Change all maintenance doors to brig access only
    + Remove cap on security officers

    "} @@ -256,7 +253,7 @@ return var/dat = "Showing DNA from blood.
    " dat += "" - for(var/mob/living/carbon/human/H in GLOB.mob_list) + for(var/mob/living/carbon/human/H in GLOB.carbon_list) if(H.ckey) dat += "" dat += "
    NameDNABlood Type
    [H][H.dna.unique_enzymes][H.dna.blood_type]
    " @@ -266,7 +263,7 @@ return var/dat = "Showing Fingerprints.
    " dat += "" - for(var/mob/living/carbon/human/H in GLOB.mob_list) + for(var/mob/living/carbon/human/H in GLOB.carbon_list) if(H.ckey) dat += "" dat += "
    NameFingerprints
    [H][md5(H.dna.uni_identity)]
    " @@ -276,7 +273,7 @@ if(!check_rights(R_FUN)) return SSblackbox.add_details("admin_secrets_fun_used","Monkeyize All Humans") - for(var/mob/living/carbon/human/H in GLOB.mob_list) + for(var/mob/living/carbon/human/H in GLOB.carbon_list) spawn(0) H.monkeyize() ok = 1 @@ -290,7 +287,7 @@ log_admin("[key_name(usr)] turned all humans into [result]", 1) message_admins("\blue [key_name_admin(usr)] turned all humans into [result]") var/newtype = GLOB.species_list[result] - for(var/mob/living/carbon/human/H in GLOB.mob_list) + for(var/mob/living/carbon/human/H in GLOB.carbon_list) H.set_species(newtype) if("tripleAI") @@ -383,7 +380,7 @@ return SSblackbox.add_details("admin_secrets_fun_used","Chinese Cartoons") message_admins("[key_name_admin(usr)] made everything kawaii.") - for(var/mob/living/carbon/human/H in GLOB.mob_list) + for(var/mob/living/carbon/human/H in GLOB.carbon_list) SEND_SOUND(H, sound('sound/ai/animes.ogg')) if(H.dna.species.id == "human") @@ -508,7 +505,7 @@ if(!check_rights(R_FUN)) return SSblackbox.add_details("admin_secrets_fun_used","Dwarf Beards") - for(var/mob/living/carbon/human/B in GLOB.mob_list) + for(var/mob/living/carbon/human/B in GLOB.carbon_list) B.facial_hair_style = "Dward Beard" B.update_hair() message_admins("[key_name_admin(usr)] activated dorf mode") diff --git a/code/modules/admin/sound_emitter.dm b/code/modules/admin/sound_emitter.dm new file mode 100644 index 0000000000..129c6c92c8 --- /dev/null +++ b/code/modules/admin/sound_emitter.dm @@ -0,0 +1,149 @@ +#define SOUND_EMITTER_LOCAL "local" //Plays the sound like a normal heard sound +#define SOUND_EMITTER_DIRECT "direct" //Plays the sound directly to hearers regardless of pressure/proximity/et cetera + +#define SOUND_EMITTER_RADIUS "radius" //Plays the sound to everyone in a radius +#define SOUND_EMITTER_ZLEVEL "zlevel" //Plays the sound to everyone on the z-level +#define SOUND_EMITTER_GLOBAL "global" //Plays the sound to everyone in the game world + +//Admin sound emitters with highly customizable functions! +/obj/effect/sound_emitter + name = "sound emitter" + desc = "Emits sounds, presumably." + icon = 'icons/effects/effects.dmi' + icon_state = "shield2" + invisibility = INVISIBILITY_OBSERVER + anchored = TRUE + density = FALSE + opacity = FALSE + alpha = 175 + var/sound_file //The sound file the emitter plays + var/sound_volume = 50 //The volume the sound file is played at + var/play_radius = 3 //Any mobs within this many tiles will hear the sounds played if it's using the appropriate mode + var/motus_operandi = SOUND_EMITTER_LOCAL //The mode this sound emitter is using + var/emitter_range = SOUND_EMITTER_ZLEVEL //The range this emitter's sound is heard at; this isn't a number, but a string (see the defines above) + +/obj/effect/sound_emitter/Destroy(force) + if(!force) + return QDEL_HINT_LETMELIVE + . = ..() + +/obj/effect/sound_emitter/singularity_act() + return + +/obj/effect/sound_emitter/examine(mob/user) + ..() + if(!isobserver(user)) + return + to_chat(user, "Sound File: [sound_file ? sound_file : "None chosen"]") + to_chat(user, "Mode: [motus_operandi]") + to_chat(user, "Range: [emitter_range]") + to_chat(user, "Sound is playing at [sound_volume]% volume.") + if(user.client.holder) + to_chat(user, "Alt-click it to quickly activate it!") + +/obj/effect/sound_emitter/attack_ghost(mob/user) + if(!check_rights_for(user.client, R_SOUNDS)) + examine(user) + return + edit_emitter(user) + +/obj/effect/sound_emitter/AltClick(mob/user) + if(check_rights_for(user.client, R_SOUNDS)) + activate(user) + to_chat(user, "Sound emitter activated.") + +/obj/effect/sound_emitter/proc/edit_emitter(mob/user) + var/dat = "" + dat += "Label: [maptext ? maptext : "No label set!"]
    " + dat += "
    " + dat += "Sound File: [sound_file ? sound_file : "No file chosen!"]
    " + dat += "Volume: [sound_volume]%
    " + dat += "
    " + dat += "Mode: [motus_operandi]
    " + if(motus_operandi != SOUND_EMITTER_LOCAL) + dat += "Range: [emitter_range][emitter_range == SOUND_EMITTER_RADIUS ? "[play_radius]-tile radius" : ""]
    " + dat += "
    " + dat += "Play Sound (interrupts other sound emitter sounds)" + var/datum/browser/popup = new(user, "emitter", "", 500, 600) + popup.set_content(dat) + popup.open() + +/obj/effect/sound_emitter/Topic(href, href_list) + ..() + if(!ismob(usr) || !usr.client || !check_rights_for(usr.client, R_SOUNDS)) + return + var/mob/user = usr + if(href_list["edit_label"]) + var/new_label = stripped_input(user, "Choose a new label.", "Sound Emitter") + if(!new_label) + return + maptext = new_label + to_chat(user, "Label set to [maptext].") + if(href_list["edit_sound_file"]) + var/new_file = input(user, "Choose a sound file.", "Sound Emitter") as null|sound + if(!new_file) + return + sound_file = new_file + to_chat(user, "New sound file set to [sound_file].") + if(href_list["edit_volume"]) + var/new_volume = input(user, "Choose a volume.", "Sound Emitter", sound_volume) as null|num + if(isnull(new_volume)) + return + new_volume = Clamp(new_volume, 0, 100) + sound_volume = new_volume + to_chat(user, "Volume set to [sound_volume]%.") + if(href_list["edit_mode"]) + var/new_mode + var/mode_list = list("Local (normal sound)" = SOUND_EMITTER_LOCAL, "Direct (not affected by environment/location)" = SOUND_EMITTER_DIRECT) + new_mode = input(user, "Choose a new mode.", "Sound Emitter") as null|anything in mode_list + if(!new_mode) + return + motus_operandi = mode_list[new_mode] + to_chat(user, "Mode set to [motus_operandi].") + if(href_list["edit_range"]) + var/new_range + var/range_list = list("Radius (all mobs within a radius)" = SOUND_EMITTER_RADIUS, "Z-Level (all mobs on the same z)" = SOUND_EMITTER_ZLEVEL, "Global (all players)" = SOUND_EMITTER_GLOBAL) + new_range = input(user, "Choose a new range.", "Sound Emitter") as null|anything in range_list + if(!new_range) + return + emitter_range = range_list[new_range] + to_chat(user, "Range set to [emitter_range].") + if(href_list["edit_radius"]) + var/new_radius = input(user, "Choose a radius.", "Sound Emitter", sound_volume) as null|num + if(isnull(new_radius)) + return + new_radius = Clamp(new_radius, 0, 127) + play_radius = new_radius + to_chat(user, "Audible radius set to [play_radius].") + if(href_list["play"]) + activate(user) + edit_emitter(user) //Refresh the UI to see our changes + +/obj/effect/sound_emitter/proc/activate(mob/user) + var/list/hearing_mobs = list() + if(motus_operandi == SOUND_EMITTER_LOCAL) + playsound(src, sound_file, sound_volume, FALSE) + return + switch(emitter_range) + if(SOUND_EMITTER_RADIUS) + for(var/mob/M in GLOB.player_list) + if(get_dist(src, M) <= play_radius) + hearing_mobs += M + if(SOUND_EMITTER_ZLEVEL) + for(var/mob/M in GLOB.player_list) + if(M.z == z) + hearing_mobs += M + if(SOUND_EMITTER_GLOBAL) + hearing_mobs = GLOB.player_list.Copy() + for(var/mob/M in hearing_mobs) + if(M.client.prefs.toggles & SOUND_MIDI) + M.playsound_local(M, sound_file, sound_volume, FALSE, channel = CHANNEL_ADMIN, pressure_affected = FALSE) + if(user) + log_admin("[ADMIN_LOOKUPFLW(user)] activated a sound emitter with file \"[sound_file]\" at [COORD(src)]") + flick("shield1", src) + +#undef SOUND_EMITTER_LOCAL +#undef SOUND_EMITTER_DIRECT +#undef SOUND_EMITTER_RADIUS +#undef SOUND_EMITTER_ZLEVEL +#undef SOUND_EMITTER_GLOBAL diff --git a/code/modules/admin/stickyban.dm b/code/modules/admin/stickyban.dm index 800d23090d..df6a9b89ad 100644 --- a/code/modules/admin/stickyban.dm +++ b/code/modules/admin/stickyban.dm @@ -142,8 +142,8 @@ to_chat(usr, "Error: No cached sticky ban for [ckey] found!") world.SetConfig("ban",ckey,null) - log_admin_private("[key_name(usr)] has reverted [ckey]'s sticky ban to it's state at round start.") - message_admins("[key_name_admin(usr)] has reverted [ckey]'s sticky ban to it's state at round start.") + log_admin_private("[key_name(usr)] has reverted [ckey]'s sticky ban to its state at round start.") + message_admins("[key_name_admin(usr)] has reverted [ckey]'s sticky ban to its state at round start.") //revert is mostly used when shit goes rouge, so we have to set it to null // and wait a byond tick before assigning it to ensure byond clears its shit. sleep(world.tick_lag) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 73da8d9424..5139f0bb47 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -618,15 +618,15 @@ //Regular jobs //Command (Blue) dat += "" - dat += "" + dat += "" for(var/jobPos in GLOB.command_positions) if(!jobPos) continue if(jobban_isbanned(M, jobPos)) - dat += "" + dat += "" counter++ else - dat += "" + dat += "" counter++ if(counter >= 6) //So things dont get squiiiiished! @@ -637,15 +637,15 @@ //Security (Red) counter = 0 dat += "
    Command Positions
    Command Positions
    [jobPos][jobPos][jobPos][jobPos]
    " - dat += "" + dat += "" for(var/jobPos in GLOB.security_positions) if(!jobPos) continue if(jobban_isbanned(M, jobPos)) - dat += "" + dat += "" counter++ else - dat += "" + dat += "" counter++ if(counter >= 5) //So things dont get squiiiiished! @@ -656,15 +656,15 @@ //Engineering (Yellow) counter = 0 dat += "
    Security Positions
    Security Positions
    [jobPos][jobPos][jobPos][jobPos]
    " - dat += "" + dat += "" for(var/jobPos in GLOB.engineering_positions) if(!jobPos) continue if(jobban_isbanned(M, jobPos)) - dat += "" + dat += "" counter++ else - dat += "" + dat += "" counter++ if(counter >= 5) //So things dont get squiiiiished! @@ -675,15 +675,15 @@ //Medical (White) counter = 0 dat += "
    Engineering Positions
    Engineering Positions
    [jobPos][jobPos][jobPos][jobPos]
    " - dat += "" + dat += "" for(var/jobPos in GLOB.medical_positions) if(!jobPos) continue if(jobban_isbanned(M, jobPos)) - dat += "" + dat += "" counter++ else - dat += "" + dat += "" counter++ if(counter >= 5) //So things dont get squiiiiished! @@ -694,15 +694,15 @@ //Science (Purple) counter = 0 dat += "
    Medical Positions
    Medical Positions
    [jobPos][jobPos][jobPos][jobPos]
    " - dat += "" + dat += "" for(var/jobPos in GLOB.science_positions) if(!jobPos) continue if(jobban_isbanned(M, jobPos)) - dat += "" + dat += "" counter++ else - dat += "" + dat += "" counter++ if(counter >= 5) //So things dont get squiiiiished! @@ -713,15 +713,15 @@ //Supply (Brown) counter = 0 dat += "
    Science Positions
    Science Positions
    [jobPos][jobPos][jobPos][jobPos]
    " - dat += "" + dat += "" for(var/jobPos in GLOB.supply_positions) if(!jobPos) continue if(jobban_isbanned(M, jobPos)) - dat += "" + dat += "" counter++ else - dat += "" + dat += "" counter++ if(counter >= 5) //So things dont get COPYPASTE! @@ -732,15 +732,15 @@ //Civilian (Grey) counter = 0 dat += "
    Supply Positions
    Supply Positions
    [jobPos][jobPos][jobPos][jobPos]
    " - dat += "" + dat += "" for(var/jobPos in GLOB.civilian_positions) if(!jobPos) continue if(jobban_isbanned(M, jobPos)) - dat += "" + dat += "" counter++ else - dat += "" + dat += "" counter++ if(counter >= 5) //So things dont get squiiiiished! @@ -751,15 +751,15 @@ //Non-Human (Green) counter = 0 dat += "
    Civilian Positions
    Civilian Positions
    [jobPos][jobPos][jobPos][jobPos]
    " - dat += "" + dat += "" for(var/jobPos in GLOB.nonhuman_positions) if(!jobPos) continue if(jobban_isbanned(M, jobPos)) - dat += "" + dat += "" counter++ else - dat += "" + dat += "" counter++ if(counter >= 5) //So things dont get squiiiiished! @@ -770,95 +770,95 @@ //Ghost Roles (light light gray) dat += "
    Non-human Positions
    Non-human Positions
    [jobPos][jobPos][jobPos][jobPos]
    " - dat += "" + dat += "" //pAI if(jobban_isbanned(M, "pAI")) - dat += "" + dat += "" else - dat += "" + dat += "" //Drones if(jobban_isbanned(M, "drone")) - dat += "" + dat += "" else - dat += "" + dat += "" //Positronic Brains if(jobban_isbanned(M, "posibrain")) - dat += "" + dat += "" else - dat += "" + dat += "" //Deathsquad if(jobban_isbanned(M, "deathsquad")) - dat += "" + dat += "" else - dat += "" + dat += "" //Lavaland roles if(jobban_isbanned(M, "lavaland")) - dat += "" + dat += "" else - dat += "" + dat += "" dat += "
    Ghost Roles
    Ghost Roles
    pAIpAIpAIpAIDroneDroneDroneDronePosibrainPosibrainPosibrainPosibrainDeathsquadDeathsquadDeathsquadDeathsquadLavalandLavalandLavalandLavaland
    " //Antagonist (Orange) var/isbanned_dept = jobban_isbanned(M, "Syndicate") dat += "" - dat += "" + dat += "" //Traitor if(jobban_isbanned(M, "traitor") || isbanned_dept) - dat += "" + dat += "" else - dat += "" + dat += "" //Changeling if(jobban_isbanned(M, "changeling") || isbanned_dept) - dat += "" + dat += "" else - dat += "" + dat += "" //Nuke Operative if(jobban_isbanned(M, "operative") || isbanned_dept) - dat += "" + dat += "" else - dat += "" + dat += "" //Revolutionary if(jobban_isbanned(M, "revolutionary") || isbanned_dept) - dat += "" + dat += "" else - dat += "" + dat += "" //Cultist if(jobban_isbanned(M, "cultist") || isbanned_dept) - dat += "" + dat += "" else - dat += "" + dat += "" //Servant of Ratvar if(jobban_isbanned(M, "servant of Ratvar") || isbanned_dept) - dat += "" + dat += "" else - dat += "" + dat += "" //Wizard if(jobban_isbanned(M, "wizard") || isbanned_dept) - dat += "" + dat += "" else - dat += "" + dat += "" //Abductor if(jobban_isbanned(M, "abductor") || isbanned_dept) - dat += "" + dat += "" else - dat += "" + dat += "" //Borer if(jobban_isbanned(M, "borer") || isbanned_dept) @@ -868,9 +868,9 @@ //Alien if(jobban_isbanned(M, "alien candidate") || isbanned_dept) - dat += "" + dat += "" else - dat += "" + dat += "" dat += "
    Antagonist Positions
    Antagonist Positions
    TraitorTraitorTraitorTraitorChangelingChangelingChangelingChangelingNuke OperativeNuke OperativeNuke OperativeNuke OperativeRevolutionaryRevolutionaryRevolutionaryRevolutionaryCultistCultistCultistCultistServantServantServantServantWizardWizardWizardWizardAbductorAbductorAbductorAbductorAlienAlienAlienAlien
    " usr << browse(dat, "window=jobban2;size=800x450") @@ -2283,9 +2283,9 @@ return alert(usr, "The game has already started.", null, null, null, null) var/dat = {"What mode do you wish to play?
    "} for(var/mode in config.modes) - dat += {"[config.mode_names[mode]]
    "} - dat += {"Secret
    "} - dat += {"Random
    "} + dat += {"[config.mode_names[mode]]
    "} + dat += {"Secret
    "} + dat += {"Random
    "} dat += {"Now: [GLOB.master_mode]"} usr << browse(dat, "window=c_mode") @@ -2299,7 +2299,7 @@ return alert(usr, "The game mode has to be secret!", null, null, null, null) var/dat = {"What game mode do you want to force secret to be? Use this if you want to change the game mode, but want the players to believe it's secret. This will only work if the current game mode is secret.
    "} for(var/mode in config.modes) - dat += {"[config.mode_names[mode]]
    "} - dat += {"Random (default)
    "} + dat += {"[config.mode_names[mode]]
    "} + dat += {"Random (default)
    "} dat += {"Now: [GLOB.secret_force_mode]"} usr << browse(dat, "window=f_secret") diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm index 0842d82553..e091001851 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm @@ -121,7 +121,7 @@ /proc/SDQL_gen_vv_href(t) var/text = "" - text += "\ref[t]" + text += "[REF(t)]" if(istype(t, /atom)) var/atom/a = t var/turf/T = a.loc diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm index 7176ac726c..8a7c030458 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm @@ -3,9 +3,11 @@ /proc/_abs(A) return abs(A) -/*/proc/_animate(atom/A, set_vars, time = 10, loop = 1, easing = LINEAR_EASING, flags_1 = null) - animate(A, set_vars, time, loop, easing, flags_1) - Borked. If anyone wants to fix this be my guest.*/ +/proc/_animate(atom/A, set_vars, time = 10, loop = 1, easing = LINEAR_EASING, flags = null) + var/mutable_appearance/MA = new() + for(var/v in set_vars) + MA.vars[v] = set_vars[v] + animate(A, appearance = MA, time, loop, easing, flags) /proc/_acrccos(A) return arccos(A) diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 0135bfbfa0..f178eb08bd 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -83,7 +83,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) dat += "Refresh

    " for(var/I in l2b) var/datum/admin_help/AH = I - dat += "Ticket #[AH.id]: [AH.initiator_key_name]: [AH.name]
    " + dat += "Ticket #[AH.id]: [AH.initiator_key_name]: [AH.name]
    " usr << browse(dat.Join(), "window=ahelp_list[state];size=600x480") @@ -224,7 +224,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) //private /datum/admin_help/proc/FullMonty(ref_src) if(!ref_src) - ref_src = "\ref[src]" + ref_src = "[REF(src)]" . = ADMIN_FULLMONTY_NONAME(initiator.mob) if(state == AHELP_ACTIVE) . += ClosureLinks(ref_src) @@ -232,7 +232,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) //private /datum/admin_help/proc/ClosureLinks(ref_src) if(!ref_src) - ref_src = "\ref[src]" + ref_src = "[REF(src)]" . = " (REJT)" . += " (IC)" . += " (CLOSE)" @@ -242,19 +242,19 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) //private /datum/admin_help/proc/LinkedReplyName(ref_src) if(!ref_src) - ref_src = "\ref[src]" + ref_src = "[REF(src)]" return "[initiator_key_name]" //private /datum/admin_help/proc/TicketHref(msg, ref_src, action = "ticket") if(!ref_src) - ref_src = "\ref[src]" - return "[msg]" + ref_src = "[REF(src)]" + return "[msg]" //message from the initiator without a target, all admins will see this //won't bug irc /datum/admin_help/proc/MessageNoRecipient(msg) - var/ref_src = "\ref[src]" + var/ref_src = "[REF(src)]" //Message to be sent to all admins var/admin_msg = "Ticket [TicketHref("#[id]", ref_src)]: [LinkedReplyName(ref_src)] [FullMonty(ref_src)]: [keywords_lookup(msg)]" @@ -402,7 +402,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) //Show the ticket panel /datum/admin_help/proc/TicketPanel() var/list/dat = list("Ticket #[id]") - var/ref_src = "\ref[src]" + var/ref_src = "[REF(src)]" dat += "

    Admin Help Ticket #[id]: [LinkedReplyName(ref_src)]

    " dat += "State: " switch(state) @@ -609,8 +609,9 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) /proc/send2irc(msg,msg2) - if(SERVER_TOOLS_PRESENT) - SERVER_TOOLS_RELAY_BROADCAST("[msg] | [msg2]") + msg = replacetext(replacetext(msg, "\proper", ""), "\improper", "") + msg2 = replacetext(replacetext(msg2, "\proper", ""), "\improper", "") + SERVER_TOOLS_RELAY_BROADCAST("[msg] | [msg2]") /proc/send2otherserver(source,msg,type = "Ahelp") var/comms_key = CONFIG_GET(string/comms_key) @@ -700,7 +701,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) if(found.mind && found.mind.special_role) is_antag = 1 founds += "Name: [found.name]([found.real_name]) Ckey: [found.ckey] [is_antag ? "(Antag)" : null] " - msg += "[original_word](?|F) " + msg += "[original_word](?|F) " continue msg += "[original_word] " if(irc) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index dadbe7da5f..552dd749eb 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -117,7 +117,7 @@ GLOBAL_PROTECT(LastAdminCalledProc) to_chat(usr, "Running your proc") GLOB.LastAdminCalledProc = procname if(target != GLOBAL_PROC) - GLOB.LastAdminCalledTargetRef = "\ref[target]" + GLOB.LastAdminCalledTargetRef = "[REF(target)]" GLOB.AdminProcCaller = ckey //if this runtimes, too bad for you ++GLOB.AdminProcCallCount . = world.WrapAdminProcCall(target, procname, arguments) @@ -507,6 +507,7 @@ GLOBAL_PROTECT(LastAdminCalledProc) var/list/areas_all = list() var/list/areas_with_APC = list() + var/list/areas_with_multiple_APCs = list() var/list/areas_with_air_alarm = list() var/list/areas_with_RC = list() var/list/areas_with_light = list() @@ -528,6 +529,8 @@ GLOBAL_PROTECT(LastAdminCalledProc) var/area/A = APC.area if(!(A.type in areas_with_APC)) areas_with_APC.Add(A.type) + else if(A.type in areas_all) + areas_with_multiple_APCs.Add(A.type) for(var/obj/machinery/airalarm/AA in GLOB.machines) var/area/A = get_area(AA) @@ -567,33 +570,48 @@ GLOBAL_PROTECT(LastAdminCalledProc) var/list/areas_without_intercom = areas_all - areas_with_intercom var/list/areas_without_camera = areas_all - areas_with_camera - to_chat(world, "AREAS WITHOUT AN APC:") - for(var/areatype in areas_without_APC) - to_chat(world, "* [areatype]") + if(areas_without_APC.len) + to_chat(world, "AREAS WITHOUT AN APC:") + for(var/areatype in areas_without_APC) + to_chat(world, "* [areatype]") - to_chat(world, "AREAS WITHOUT AN AIR ALARM:") - for(var/areatype in areas_without_air_alarm) - to_chat(world, "* [areatype]") + if(areas_with_multiple_APCs.len) + to_chat(world, "AREAS WITH MULTIPLE APCS:") + for(var/areatype in areas_with_multiple_APCs) + to_chat(world,"* [areatype]") - to_chat(world, "AREAS WITHOUT A REQUEST CONSOLE:") - for(var/areatype in areas_without_RC) - to_chat(world, "* [areatype]") + if(areas_without_air_alarm.len) + to_chat(world, "AREAS WITHOUT AN AIR ALARM:") + for(var/areatype in areas_without_air_alarm) + to_chat(world, "* [areatype]") - to_chat(world, "AREAS WITHOUT ANY LIGHTS:") - for(var/areatype in areas_without_light) - to_chat(world, "* [areatype]") + if(areas_without_RC.len) + to_chat(world, "AREAS WITHOUT A REQUEST CONSOLE:") + for(var/areatype in areas_without_RC) + to_chat(world, "* [areatype]") - to_chat(world, "AREAS WITHOUT A LIGHT SWITCH:") - for(var/areatype in areas_without_LS) - to_chat(world, "* [areatype]") + if(areas_without_light.len) + to_chat(world, "AREAS WITHOUT ANY LIGHTS:") + for(var/areatype in areas_without_light) + to_chat(world, "* [areatype]") - to_chat(world, "AREAS WITHOUT ANY INTERCOMS:") - for(var/areatype in areas_without_intercom) - to_chat(world, "* [areatype]") + if(areas_without_LS.len) + to_chat(world, "AREAS WITHOUT A LIGHT SWITCH:") + for(var/areatype in areas_without_LS) + to_chat(world, "* [areatype]") - to_chat(world, "AREAS WITHOUT ANY CAMERAS:") - for(var/areatype in areas_without_camera) - to_chat(world, "* [areatype]") + if(areas_without_intercom.len) + to_chat(world, "AREAS WITHOUT ANY INTERCOMS:") + for(var/areatype in areas_without_intercom) + to_chat(world, "* [areatype]") + + if(areas_without_camera.len) + to_chat(world, "AREAS WITHOUT ANY CAMERAS:") + for(var/areatype in areas_without_camera) + to_chat(world, "* [areatype]") + + if(!(areas_with_APC.len || areas_with_multiple_APCs.len || areas_with_air_alarm.len || areas_with_RC.len || areas_with_light.len || areas_with_LS.len || areas_with_intercom.len || areas_with_camera.len)) + to_chat(world, "No problem areas!") /client/proc/cmd_admin_areatest_station() set category = "Mapping" @@ -741,7 +759,7 @@ GLOBAL_PROTECT(LastAdminCalledProc) if("Mobs") to_chat(usr, jointext(GLOB.mob_list,",")) if("Living Mobs") - to_chat(usr, jointext(GLOB.living_mob_list,",")) + to_chat(usr, jointext(GLOB.alive_mob_list,",")) if("Dead Mobs") to_chat(usr, jointext(GLOB.dead_mob_list,",")) if("Clients") @@ -778,6 +796,13 @@ GLOBAL_PROTECT(LastAdminCalledProc) usr << browse(dellog.Join(), "window=dellog") +/client/proc/cmd_display_overlay_log() + set category = "Debug" + set name = "Display overlay Log" + set desc = "Display SSoverlays log of everything that's passed through it." + + render_stats(SSoverlays.stats, src) + /client/proc/cmd_display_init_log() set category = "Debug" set name = "Display Initialize() Log" @@ -911,4 +936,3 @@ GLOBAL_PROTECT(LastAdminCalledProc) return sort = sortlist[sort] profile_show(src, sort) - diff --git a/code/modules/admin/verbs/individual_logging.dm b/code/modules/admin/verbs/individual_logging.dm index cd3feed5d0..50b00da9a6 100644 --- a/code/modules/admin/verbs/individual_logging.dm +++ b/code/modules/admin/verbs/individual_logging.dm @@ -1,12 +1,12 @@ /proc/show_individual_logging_panel(mob/M, type = INDIVIDUAL_ATTACK_LOG) if(!M || !ismob(M)) return - var/dat = "
    Attack log | " - dat += "Say log | " - dat += "Emote log | " - dat += "OOC log | " - dat += "Show all | " - dat += "Refresh
    " + var/dat = "
    Attack log | " + dat += "Say log | " + dat += "Emote log | " + dat += "OOC log | " + dat += "Show all | " + dat += "Refresh
    " dat += "
    " diff --git a/code/modules/admin/verbs/modifyvariables.dm b/code/modules/admin/verbs/modifyvariables.dm index 9edf84800d..3a2e13fdcc 100644 --- a/code/modules/admin/verbs/modifyvariables.dm +++ b/code/modules/admin/verbs/modifyvariables.dm @@ -299,7 +299,7 @@ GLOBAL_PROTECT(VVpixelmovement) if (!lentext(shorttype)) shorttype = "/" - .["[D]([shorttype])\ref[D]#[i]"] = D + .["[D]([shorttype])[REF(D)]#[i]"] = D /client/proc/mod_list_add_ass(atom/O) //hehe @@ -416,7 +416,7 @@ GLOBAL_PROTECT(VVpixelmovement) if (index == null) return var/assoc = 0 - var/prompt = alert(src, "Do you want to edit the key or it's assigned value?", "Associated List", "Key", "Assigned Value", "Cancel") + var/prompt = alert(src, "Do you want to edit the key or its assigned value?", "Associated List", "Key", "Assigned Value", "Cancel") if (prompt == "Cancel") return if (prompt == "Assigned Value") @@ -610,8 +610,8 @@ GLOBAL_PROTECT(VVpixelmovement) if (O.vv_edit_var(variable, var_new) == FALSE) to_chat(src, "Your edit was rejected by the object.") return - log_world("### VarEdit by [src]: [O.type] [variable]=[html_encode("[var_new]")]") - log_admin("[key_name(src)] modified [original_name]'s [variable] to [var_new]") - var/msg = "[key_name_admin(src)] modified [original_name]'s [variable] to [var_new]" + log_world("### VarEdit by [key_name(src)]: [O.type] [variable]=[var_value] => [var_new]") + log_admin("[key_name(src)] modified [original_name]'s [variable] to from [html_encode("[var_value]")] to [html_encode("[var_new]")]") + var/msg = "[key_name_admin(src)] modified [original_name]'s [variable] from [var_value] to [var_new]" message_admins(msg) admin_ticket_log(O, msg) diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index 3021f9badd..8a18dc9ac5 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -11,17 +11,17 @@ /datum/admins/proc/one_click_antag() var/dat = {" - Make Traitors
    - Make Changelings
    - Make Revs
    - Make Cult
    - Make Clockwork Cult
    - Make Blob
    - Make Wizard (Requires Ghosts)
    - Make Nuke Team (Requires Ghosts)
    - Make CentCom Response Team (Requires Ghosts)
    - Make Abductor Team (Requires Ghosts)
    - Make Revenant (Requires Ghost)
    + Make Traitors
    + Make Changelings
    + Make Revs
    + Make Cult
    + Make Clockwork Cult
    + Make Blob
    + Make Wizard (Requires Ghosts)
    + Make Nuke Team (Requires Ghosts)
    + Make CentCom Response Team (Requires Ghosts)
    + Make Abductor Team (Requires Ghosts)
    + Make Revenant (Requires Ghost)
    "} var/datum/browser/popup = new(usr, "oneclickantag", "Quick-Create Antagonist", 400, 400) @@ -213,7 +213,6 @@ /datum/admins/proc/makeNukeTeam() - var/datum/game_mode/nuclear/temp = new var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you wish to be considered for a nuke team being sent in?", "operative", temp) var/list/mob/dead/observer/chosen = list() @@ -246,24 +245,18 @@ nuke.r_code = nuke_code //Let's find the spawn locations - var/list/turf/synd_spawn = list() - for(var/obj/effect/landmark/A in GLOB.landmarks_list) - if(A.name == "Syndicate-Spawn") - synd_spawn += get_turf(A) - continue - - var/leader_chosen + var/leader_chosen = FALSE var/spawnpos = 1 //Decides where they'll spawn. 1=leader. for(var/mob/c in chosen) - if(spawnpos > synd_spawn.len) - spawnpos = 2 //Ran out of spawns. Let's loop back to the first non-leader position + if(spawnpos > GLOB.nukeop_start.len) + spawnpos = 1 //Ran out of spawns. Let's loop back to the first non-leader position var/mob/living/carbon/human/new_character=makeBody(c) if(!leader_chosen) - leader_chosen = 1 - new_character.mind.make_Nuke(synd_spawn[spawnpos],nuke_code,1) + leader_chosen = TRUE + new_character.mind.make_Nuke(pick(GLOB.nukeop_leader_start), nuke_code, TRUE) else - new_character.mind.make_Nuke(synd_spawn[spawnpos],nuke_code) + new_character.mind.make_Nuke(GLOB.nukeop_start[spawnpos], nuke_code) spawnpos++ return 1 else diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 74cbc14eab..2ac2b1a55f 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -399,7 +399,7 @@ Traitors and the like can also be revived with the previous role mostly intact. else//They may also be a cyborg or AI. switch(new_character.mind.assigned_role) if("Cyborg")//More rigging to make em' work and check if they're traitor. - new_character = new_character.Robotize() + new_character = new_character.Robotize(TRUE) if("AI") new_character = new_character.AIize() else @@ -848,8 +848,8 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits var/dat = {" Create Outfit - - + + [HrefTokenFormField()] @@ -1006,7 +1006,7 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits if(confirm != "Yes") return - for(var/mob/living/carbon/human/H in GLOB.mob_list) + for(var/mob/living/carbon/human/H in GLOB.carbon_list) new /obj/item/organ/zombie_infection(H) message_admins("[key_name_admin(usr)] added a latent zombie infection to all humans.") @@ -1043,7 +1043,7 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits if(confirm != "Yes") return - var/list/mobs = shuffle(GLOB.living_mob_list.Copy()) // might change while iterating + var/list/mobs = shuffle(GLOB.alive_mob_list.Copy()) // might change while iterating var/who_did_it = key_name_admin(usr) message_admins("[key_name_admin(usr)] started polymorphed all living mobs.") @@ -1150,8 +1150,8 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits /datum/admins/proc/modify_goals() var/dat = "" for(var/datum/station_goal/S in SSticker.mode.station_goals) - dat += "[S.name] - Announce | Remove
    " - dat += "
    Add New Goal" + dat += "[S.name] - Announce | Remove
    " + dat += "
    Add New Goal" usr << browse(dat, "window=goals;size=400x400") @@ -1225,7 +1225,7 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits var/list/msg = list() msg += "Playtime ReportPlaytime:
    " src << browse(msg.Join(), "window=Player_playtime_check") @@ -1239,7 +1239,7 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits var/list/body = list() body += "Playtime for [C.key]
    Playtime:" body += C.get_exp_report() - body += "Toggle Exempt status" + body += "Toggle Exempt status" body += "" usr << browse(body.Join(), "window=playerplaytime[C.ckey];size=550x615") diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm index cfab9055c7..b895297d83 100644 --- a/code/modules/assembly/bomb.dm +++ b/code/modules/assembly/bomb.dm @@ -14,12 +14,13 @@ var/obj/item/tank/bombtank = null //the second part of the bomb is a plasma tank origin_tech = "materials=1;engineering=1" + /obj/item/device/onetankbomb/examine(mob/user) - ..() - user.examinate(bombtank) + bombtank.examine(user) /obj/item/device/onetankbomb/update_icon() if(bombtank) + icon = bombtank.icon icon_state = bombtank.icon_state if(bombassembly) add_overlay(bombassembly.icon_state) @@ -34,11 +35,11 @@ to_chat(user, "You disassemble [src].") - bombassembly.forceMove(user.drop_location()) + bombassembly.forceMove(drop_location()) bombassembly.master = null bombassembly = null - bombtank.forceMove(user.drop_location()) + bombtank.forceMove(drop_location()) bombtank.master = null bombtank = null @@ -80,26 +81,35 @@ // ---------- Procs below are for tanks that are used exclusively in 1-tank bombs ---------- -/obj/item/tank/proc/bomb_assemble(W,user) //Bomb assembly proc. This turns assembly+tank into a bomb - var/obj/item/device/assembly_holder/S = W - var/mob/M = user - if(isigniter(S.a_left) == isigniter(S.a_right)) //Check if either part of the assembly has an igniter, but if both parts are igniters, then fuck it - return - if(!M.temporarilyRemoveItemFromInventory(src)) //Remove the assembly from your hands +//Bomb assembly proc. This turns assembly+tank into a bomb +/obj/item/tank/proc/bomb_assemble(obj/item/device/assembly_holder/assembly, mob/living/user) + //Check if either part of the assembly has an igniter, but if both parts are igniters, then fuck it + if(isigniter(assembly.a_left) == isigniter(assembly.a_right)) return - var/obj/item/device/onetankbomb/R = new + if((src in user.get_equipped_items()) && !user.canUnEquip(src)) + to_chat(user, "[src] is stuck to you!") + return - M.put_in_hands(R) //Equips the bomb if possible, or puts it on the floor. + if(!user.canUnEquip(assembly)) + to_chat(user, "[assembly] is stuck to your hand!") + return - R.bombassembly = S //Tell the bomb about its assembly part - S.master = R //Tell the assembly about its new owner - S.forceMove(R) //Move the assembly out of the fucking way + var/obj/item/device/onetankbomb/bomb = new + user.transferItemToLoc(src, bomb) + user.transferItemToLoc(assembly, bomb) - R.bombtank = src //Same for tank - master = R - forceMove(R) - R.update_icon() + bomb.bombassembly = assembly //Tell the bomb about its assembly part + assembly.master = bomb //Tell the assembly about its new owner + + bomb.bombtank = src //Same for tank + master = bomb + + forceMove(bomb) + bomb.update_icon() + + user.put_in_hands(bomb) //Equips the bomb if possible, or puts it on the floor. + to_chat(user, "You attach [assembly] to [src].") return /obj/item/tank/proc/ignite() //This happens when a bomb is told to explode diff --git a/code/modules/assembly/health.dm b/code/modules/assembly/health.dm index 61eee593fa..8ff54b7a0a 100644 --- a/code/modules/assembly/health.dm +++ b/code/modules/assembly/health.dm @@ -78,7 +78,7 @@ if(!secured) user.show_message("The [name] is unsecured!") return 0 - var/dat = "Health Sensor [scanning?"On":"Off"]" + var/dat = "Health Sensor [scanning?"On":"Off"]" if(scanning && health_scan) dat += "
    Health: [health_scan]" user << browse(dat, "window=hscan") diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index c196e984a2..14286b376c 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -105,9 +105,9 @@ /obj/item/device/assembly/infra/interact(mob/user)//TODO: change this this to the wire control panel if(is_secured(user)) user.set_machine(src) - var/dat = "Infrared Laser\nStatus: [on ? "On" : "Off"]
    \nVisibility: [visible ? "Visible" : "Invisible"]
    \n
    " - dat += "

    Refresh" - dat += "

    Close" + var/dat = "Infrared Laser\nStatus: [on ? "On" : "Off"]
    \nVisibility: [visible ? "Visible" : "Invisible"]
    \n
    " + dat += "

    Refresh" + dat += "

    Close" user << browse(dat, "window=infra") onclose(user, "infra") return diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 556979070d..f2d30d19c7 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -53,7 +53,7 @@ /obj/item/device/assembly/prox_sensor/sense() - if(!secured || next_activate > world.time) + if(!scanning || !secured || next_activate > world.time) return 0 pulse(0) audible_message("[icon2html(src, hearers(src))] *beep* *beep*", null, 3) @@ -98,11 +98,11 @@ if(is_secured(user)) var/second = time % 60 var/minute = (time - second) / 60 - var/dat = "Proximity Sensor\n[(timing ? "Arming" : "Not Arming")] [minute]:[second]\n- - + +\n" - dat += "
    Armed":"1'>Unarmed"] (Movement sensor active when armed!)" - dat += "
    Detection range: - [sensitivity] +" - dat += "

    Refresh" - dat += "

    Close" + var/dat = "Proximity Sensor\n[(timing ? "Arming" : "Not Arming")] [minute]:[second]\n- - + +\n" + dat += "
    Armed":"1'>Unarmed"] (Movement sensor active when armed!)" + dat += "
    Detection range: - [sensitivity] +" + dat += "

    Refresh" + dat += "

    Close" user << browse(dat, "window=prox") onclose(user, "prox") return diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index ecb05c17d0..0b35304620 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -40,27 +40,27 @@ if(is_secured(user)) var/t1 = "-------" // if ((src.b_stat && !( flag1 ))) - // t1 = text("-------
    \nGreen Wire: []
    \nRed Wire: []
    \nBlue Wire: []
    \n", (src.wires & 4 ? text("Cut Wire", src) : text("Mend Wire", src)), (src.wires & 2 ? text("Cut Wire", src) : text("Mend Wire", src)), (src.wires & 1 ? text("Cut Wire", src) : text("Mend Wire", src))) + // t1 = text("-------
    \nGreen Wire: []
    \nRed Wire: []
    \nBlue Wire: []
    \n", (src.wires & 4 ? "Cut Wire" : "Mend Wire"), (src.wires & 2 ? "Cut Wire" : "Mend Wire"), (src.wires & 1 ? "Cut Wire" : "Mend Wire")) // else - // t1 = "-------" Speaker: [src.listening ? "Engaged" : "Disengaged"]
    + // t1 = "-------" Speaker: [src.listening ? "Engaged" : "Disengaged"]
    var/dat = {" -Send Signal
    +Send Signal
    Frequency/Code for signaler:
    Frequency: -- -- +- +- [format_frequency(src.frequency)] -+ -+
    ++ ++
    Code: -- -- +- +- [src.code] -+ -+
    ++ ++
    [t1]
    "} user << browse(dat, "window=radio") diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index 9a959bc544..30a1ee71d3 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -74,10 +74,10 @@ if(is_secured(user)) var/second = time % 60 var/minute = (time - second) / 60 - var/dat = "Timing Unit\n[(timing ? "Timing" : "Not Timing")] [minute]:[second]\n- - + +\n" - dat += "

    Stop repeating" : "1'>Set to repeat")]" - dat += "

    Refresh" - dat += "

    Close" + var/dat = "Timing Unit\n[(timing ? "Timing" : "Not Timing")] [minute]:[second]\n- - + +\n" + dat += "

    Stop repeating" : "1'>Set to repeat")]" + dat += "

    Refresh" + dat += "

    Close" var/datum/browser/popup = new(user, "timer", name) popup.set_content(dat) popup.open() diff --git a/code/modules/atmospherics/environmental/LINDA_fire.dm b/code/modules/atmospherics/environmental/LINDA_fire.dm index 025c05f6d4..ca234308d8 100644 --- a/code/modules/atmospherics/environmental/LINDA_fire.dm +++ b/code/modules/atmospherics/environmental/LINDA_fire.dm @@ -1,3 +1,5 @@ + + /atom/proc/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) return null @@ -54,11 +56,11 @@ var/volume = 125 var/temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST - var/just_spawned = 1 - var/bypassing = 0 + var/just_spawned = TRUE + var/bypassing = FALSE -/obj/effect/hotspot/New() - ..() +/obj/effect/hotspot/Initialize() + . = ..() SSair.hotspots += src perform_exposure() setDir(pick(GLOB.cardinals)) @@ -67,14 +69,14 @@ /obj/effect/hotspot/proc/perform_exposure() var/turf/open/location = loc if(!istype(location) || !(location.air)) - return 0 + return location.active_hotspot = src if(volume > CELL_VOLUME*0.95) - bypassing = 1 + bypassing = TRUE else - bypassing = 0 + bypassing = FALSE if(bypassing) if(!just_spawned) @@ -88,17 +90,17 @@ volume = affected.reaction_results["fire"]*FIRE_GROWTH_RATE location.assume_air(affected) - for(var/A in loc) + for(var/A in location) var/atom/AT = A if(AT && AT != src) // It's possible that the item is deleted in temperature_expose AT.fire_act(temperature, volume) - return 0 - + return +#define INSUFFICIENT(path) (!location.air.gases[path] || location.air.gases[path][MOLES] < 0.5) /obj/effect/hotspot/process() if(just_spawned) - just_spawned = 0 - return 0 + just_spawned = FALSE + return var/turf/open/location = loc if(!istype(location)) @@ -111,8 +113,12 @@ if((temperature < FIRE_MINIMUM_TEMPERATURE_TO_EXIST) || (volume <= 1)) qdel(src) return + if(!location.air || (INSUFFICIENT(/datum/gas/plasma) && INSUFFICIENT(/datum/gas/tritium)) || INSUFFICIENT(/datum/gas/oxygen)) + qdel(src) + return - if(!(location.air) || !(location.air.gases[/datum/gas/plasma] || location.air.gases[/datum/gas/tritium]) || !location.air.gases[/datum/gas/oxygen] || (location.air.gases[/datum/gas/plasma][MOLES] < 0.5 && location.air.gases[/datum/gas/tritium][MOLES] < 0.5) || location.air.gases[/datum/gas/oxygen][MOLES] < 0.5) + //Not enough to burn + if(((!location.air.gases[/datum/gas/plasma] || location.air.gases[/datum/gas/plasma][MOLES] < 0.5) && (!location.air.gases[/datum/gas/tritium] || location.air.gases[/datum/gas/tritium][MOLES] < 0.5)) || location.air.gases[/datum/gas/oxygen][MOLES] < 0.5) qdel(src) return @@ -140,11 +146,8 @@ location.max_fire_temperature_sustained = temperature if(location.heat_capacity && temperature > location.heat_capacity) - location.to_be_destroyed = 1 - /*if(prob(25)) - location.ReplaceWithSpace() - return 0*/ - return 1 + location.to_be_destroyed = TRUE + return TRUE /obj/effect/hotspot/Destroy() set_light(0) @@ -153,8 +156,7 @@ if(istype(T) && T.active_hotspot == src) T.active_hotspot = null DestroyTurf() - loc = null - . = ..() + return ..() /obj/effect/hotspot/proc/DestroyTurf() if(isturf(loc)) @@ -168,12 +170,13 @@ if(prob(chance_of_deletion)) T.ChangeTurf(T.baseturf) else - T.to_be_destroyed = 0 + T.to_be_destroyed = FALSE T.max_fire_temperature_sustained = 0 -/obj/effect/hotspot/Crossed(mob/living/L) +/obj/effect/hotspot/Crossed(atom/movable/AM, oldLoc) ..() - if(isliving(L)) + if(isliving(AM)) + var/mob/living/L = AM L.fire_act(temperature, volume) /obj/effect/dummy/fire @@ -186,4 +189,5 @@ /obj/effect/dummy/fire/Initialize() . = ..() if(!isliving(loc)) - qdel(src) + return INITIALIZE_HINT_QDEL +#undef INSUFFICIENT \ No newline at end of file diff --git a/code/modules/atmospherics/environmental/LINDA_system.dm b/code/modules/atmospherics/environmental/LINDA_system.dm index a16e58056b..268528355e 100644 --- a/code/modules/atmospherics/environmental/LINDA_system.dm +++ b/code/modules/atmospherics/environmental/LINDA_system.dm @@ -43,7 +43,7 @@ var/turf/T = get_step(src, direction) if(!T) continue - if(CANATMOSPASS(T, src)) + if( !(blocks_air || T.blocks_air) && CANATMOSPASS(T, src) ) LAZYINITLIST(atmos_adjacent_turfs) LAZYINITLIST(T.atmos_adjacent_turfs) atmos_adjacent_turfs[T] = TRUE diff --git a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm index 265731e96e..5ef9469295 100644 --- a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm +++ b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm @@ -97,7 +97,23 @@ /turf/open/proc/update_visuals() var/list/new_overlay_types = tile_graphic() + var/list/atmos_overlay_types = src.atmos_overlay_types // Cache for free performance + #if DM_VERSION >= 513 + #warning 512 is stable now for sure, remove the old code + #endif + + #if DM_VERSION >= 512 + if (atmos_overlay_types) + for(var/overlay in atmos_overlay_types-new_overlay_types) //doesn't remove overlays that would only be added + vars["vis_contents"] -= overlay + + if (new_overlay_types.len) + if (atmos_overlay_types) + vars["vis_contents"] += new_overlay_types - atmos_overlay_types //don't add overlays that already exist + else + vars["vis_contents"] += new_overlay_types + #else if (atmos_overlay_types) for(var/overlay in atmos_overlay_types-new_overlay_types) //doesn't remove overlays that would only be added cut_overlay(overlay) @@ -107,9 +123,10 @@ add_overlay(new_overlay_types - atmos_overlay_types) //don't add overlays that already exist else add_overlay(new_overlay_types) + #endif UNSETEMPTY(new_overlay_types) - atmos_overlay_types = new_overlay_types + src.atmos_overlay_types = new_overlay_types /turf/open/proc/tile_graphic() . = new /list diff --git a/code/modules/atmospherics/gasmixtures/gas_types.dm b/code/modules/atmospherics/gasmixtures/gas_types.dm index 8296ab56f4..940584dfa5 100644 --- a/code/modules/atmospherics/gasmixtures/gas_types.dm +++ b/code/modules/atmospherics/gasmixtures/gas_types.dm @@ -17,9 +17,12 @@ GLOBAL_LIST_INIT(hardcoded_gases, list(/datum/gas/oxygen, /datum/gas/nitrogen, / /proc/gas_id2path(id) var/list/meta_gas = GLOB.meta_gas_info + if(id in meta_gas) + return id for(var/path in meta_gas) if(meta_gas[path][META_GAS_ID] == id) return path + return "" /*||||||||||||||/----------\||||||||||||||*\ ||||||||||||||||[GAS DATUMS]|||||||||||||||| @@ -84,11 +87,11 @@ GLOBAL_LIST_INIT(hardcoded_gases, list(/datum/gas/oxygen, /datum/gas/nitrogen, / moles_visible = 1 dangerous = TRUE -/datum/gas/brown_gas //This is nitric oxide, but given generic name to avoid confusion with nitrous oxide(N20 vs. NO2) - id = "browns" +/datum/gas/nitryl + id = "no2" specific_heat = 20 - name = "Brown Gas" - gas_overlay = "browns" + name = "Nitryl" + gas_overlay = "nitryl" moles_visible = MOLES_GAS_VISIBLE dangerous = TRUE diff --git a/code/modules/atmospherics/gasmixtures/reactions.dm b/code/modules/atmospherics/gasmixtures/reactions.dm index 63b84832af..07339807da 100644 --- a/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/code/modules/atmospherics/gasmixtures/reactions.dm @@ -11,7 +11,7 @@ #define FIRE_PLASMA_ENERGY_RELEASED 3000000 //Amount of heat released per mole of burnt plasma into the tile //General assmos defines. #define WATER_VAPOR_FREEZE 200 -#define BROWNS_FORMATION_ENERGY 100000 +#define NITRYL_FORMATION_ENERGY 100000 #define TRITIUM_BURN_OXY_FACTOR 100 #define TRITIUM_BURN_TRIT_FACTOR 10 #define SUPER_SATURATION_THRESHOLD 96 @@ -26,8 +26,9 @@ #define MAX_CATALYST_EFFICENCY 9 #define PLASMA_FUSED_COEFFICENT 0.08 #define CATALYST_COEFFICENT 0.01 -#define FUSION_PURITY_THRESHOLD 0.9 +#define FUSION_PURITY_THRESHOLD 0.95 #define FUSION_HEAT_DROPOFF 20000+T0C +#define NOBLIUM_FORMATION_ENERGY 2e9 //1 Mole of Noblium takes the planck energy to condense. /datum/controller/subsystem/air/var/list/gas_reactions //this is our singleton of all reactions /proc/init_gas_reactions() @@ -197,7 +198,7 @@ /datum/gas/tritium = MINIMUM_HEAT_CAPACITY ) -/datum/gas_reaction/fusion/react(datum/gas_mixture/air) +/datum/gas_reaction/fusion/react(datum/gas_mixture/air, turf/open/location) var/list/cached_gases = air.gases var/temperature = air.temperature @@ -210,22 +211,23 @@ var/reaction_energy = THERMAL_ENERGY(air) var/moles_impurities = air.total_moles()-(cached_gases[/datum/gas/plasma][MOLES]+cached_gases[/datum/gas/tritium][MOLES]) - var/plasma_fused = (PLASMA_FUSED_COEFFICENT*catalyst_efficency)*(temperature/PLASMA_BINDING_ENERGY)*4 - var/tritium_catalyzed = (CATALYST_COEFFICENT*catalyst_efficency)*(temperature/PLASMA_BINDING_ENERGY) + var/plasma_fused = (PLASMA_FUSED_COEFFICENT*catalyst_efficency)*(temperature/PLASMA_BINDING_ENERGY)/10 + var/tritium_catalyzed = (CATALYST_COEFFICENT*catalyst_efficency)*(temperature/PLASMA_BINDING_ENERGY)/40 var/oxygen_added = tritium_catalyzed - var/waste_added = (plasma_fused-oxygen_added)-((air.total_moles()*air.heat_capacity())/PLASMA_BINDING_ENERGY) + var/waste_added = max((plasma_fused-oxygen_added)-((air.total_moles()*air.heat_capacity())/PLASMA_BINDING_ENERGY),0) reaction_energy = max(reaction_energy+((catalyst_efficency*cached_gases[/datum/gas/plasma][MOLES])/((moles_impurities/catalyst_efficency)+2)*10)+((plasma_fused/((moles_impurities/catalyst_efficency)))*PLASMA_BINDING_ENERGY),0) - air.assert_gases(/datum/gas/oxygen, /datum/gas/nitrogen, /datum/gas/water_vapor, /datum/gas/nitrous_oxide, /datum/gas/brown_gas) + air.assert_gases(/datum/gas/oxygen, /datum/gas/carbon_dioxide, /datum/gas/water_vapor, /datum/gas/nitrous_oxide, /datum/gas/nitryl) //Fusion produces an absurd amount of waste products now, requiring active filtration. cached_gases[/datum/gas/plasma][MOLES] = max(cached_gases[/datum/gas/plasma][MOLES] - plasma_fused,0) cached_gases[/datum/gas/tritium][MOLES] = max(cached_gases[/datum/gas/tritium][MOLES] - tritium_catalyzed,0) cached_gases[/datum/gas/oxygen][MOLES] += oxygen_added - cached_gases[/datum/gas/nitrogen][MOLES] += waste_added cached_gases[/datum/gas/water_vapor][MOLES] += waste_added cached_gases[/datum/gas/nitrous_oxide][MOLES] += waste_added - cached_gases[/datum/gas/brown_gas][MOLES] += waste_added - + cached_gases[/datum/gas/nitryl][MOLES] += waste_added + cached_gases[/datum/gas/carbon_dioxide][MOLES] += waste_added + if (location) + radiation_pulse(location, reaction_energy/(PLASMA_BINDING_ENERGY*MAX_CATALYST_EFFICENCY)) if(reaction_energy > 0) var/new_heat_capacity = air.heat_capacity() if(new_heat_capacity > MINIMUM_HEAT_CAPACITY) @@ -233,12 +235,12 @@ //Prevents whatever mechanism is causing it to hit negative temperatures. return REACTING -/datum/gas_reaction/brownsformation //The formation of brown gas. Endothermic. Requires N2O as a catalyst. +/datum/gas_reaction/nitrylformation //The formation of nitryl. Endothermic. Requires N2O as a catalyst. priority = 3 - name = "Brown Gas formation" - id = "brownsformation" + name = "Nitryl formation" + id = "nitrylformation" -/datum/gas_reaction/brownsformation/init_reqs() +/datum/gas_reaction/nitrylformation/init_reqs() min_requirements = list( /datum/gas/oxygen = 20, /datum/gas/nitrogen = 20, @@ -246,18 +248,18 @@ "TEMP" = FIRE_MINIMUM_TEMPERATURE_TO_EXIST*400 ) -/datum/gas_reaction/brownsformation/react(datum/gas_mixture/air) +/datum/gas_reaction/nitrylformation/react(datum/gas_mixture/air) var/list/cached_gases = air.gases var/temperature = air.temperature var/old_heat_capacity = air.heat_capacity() var/heat_efficency = temperature/(FIRE_MINIMUM_TEMPERATURE_TO_EXIST*100) - var/energy_used = heat_efficency*BROWNS_FORMATION_ENERGY - ASSERT_GAS(/datum/gas/brown_gas,air) + var/energy_used = heat_efficency*NITRYL_FORMATION_ENERGY + ASSERT_GAS(/datum/gas/nitryl,air) cached_gases[/datum/gas/oxygen][MOLES] -= heat_efficency cached_gases[/datum/gas/nitrogen][MOLES] -= heat_efficency - cached_gases[/datum/gas/brown_gas][MOLES] += heat_efficency*2 + cached_gases[/datum/gas/nitryl][MOLES] += heat_efficency*2 if(energy_used > 0) var/new_heat_capacity = air.heat_capacity() @@ -288,8 +290,8 @@ ASSERT_GAS(/datum/gas/bz,air) cached_gases[/datum/gas/bz][MOLES]+= reaction_efficency - cached_gases[/datum/gas/tritium][MOLES] = max(cached_gases[/datum/gas/tritium][MOLES]- 2*reaction_efficency,0) - cached_gases[/datum/gas/plasma][MOLES] = max(cached_gases[/datum/gas/plasma][MOLES] - reaction_efficency,0) + cached_gases[/datum/gas/tritium][MOLES] = max(cached_gases[/datum/gas/tritium][MOLES]- reaction_efficency,0) + cached_gases[/datum/gas/plasma][MOLES] = max(cached_gases[/datum/gas/plasma][MOLES] - (2*reaction_efficency),0) if(energy_released > 0) @@ -307,7 +309,7 @@ /datum/gas/tritium = 30, /datum/gas/plasma = 10, /datum/gas/bz = 20, - /datum/gas/brown_gas = 30, + /datum/gas/nitryl = 30, "TEMP" = STIMULUM_HEAT_SCALE/2) /datum/gas_reaction/stimformation/react(datum/gas_mixture/air) @@ -322,7 +324,7 @@ cached_gases[/datum/gas/stimulum][MOLES]+= heat_scale/10 cached_gases[/datum/gas/tritium][MOLES] = max(cached_gases[/datum/gas/tritium][MOLES]- heat_scale,0) cached_gases[/datum/gas/plasma][MOLES] = max(cached_gases[/datum/gas/plasma][MOLES]- heat_scale,0) - cached_gases[/datum/gas/brown_gas][MOLES] = max(cached_gases[/datum/gas/brown_gas][MOLES]- heat_scale,0) + cached_gases[/datum/gas/nitryl][MOLES] = max(cached_gases[/datum/gas/nitryl][MOLES]- heat_scale,0) if(stim_energy_change) var/new_heat_capacity = air.heat_capacity() @@ -346,7 +348,7 @@ air.assert_gases(/datum/gas/hypernoblium,/datum/gas/bz) var/old_heat_capacity = air.heat_capacity() var/nob_formed = (cached_gases[/datum/gas/nitrogen][MOLES]*cached_gases[/datum/gas/tritium][MOLES])/100 - var/energy_taken = nob_formed*(10000000/(max(cached_gases[/datum/gas/bz][MOLES],1))) + var/energy_taken = nob_formed*(NOBLIUM_FORMATION_ENERGY/(max(cached_gases[/datum/gas/bz][MOLES],1))) cached_gases[/datum/gas/tritium][MOLES] = max(cached_gases[/datum/gas/tritium][MOLES]- 10*nob_formed,0) cached_gases[/datum/gas/nitrogen][MOLES] = max(cached_gases[/datum/gas/nitrogen][MOLES]- 20*nob_formed,0) cached_gases[/datum/gas/hypernoblium][MOLES]+= nob_formed @@ -356,6 +358,8 @@ var/new_heat_capacity = air.heat_capacity() if(new_heat_capacity > MINIMUM_HEAT_CAPACITY) air.temperature = max(((air.temperature*old_heat_capacity - energy_taken)/new_heat_capacity),TCMB) + + #undef REACTING #undef NO_REACTION #undef OXYGEN_BURN_RATE_BASE @@ -367,7 +371,7 @@ #undef FIRE_CARBON_ENERGY_RELEASED #undef FIRE_PLASMA_ENERGY_RELEASED #undef WATER_VAPOR_FREEZE -#undef BROWNS_FORMATION_ENERGY +#undef NITRYL_FORMATION_ENERGY #undef TRITIUM_BURN_OXY_FACTOR #undef SUPER_SATURATION_THRESHOLD #undef STIMULUM_HEAT_SCALE @@ -381,4 +385,5 @@ #undef PLASMA_FUSED_COEFFICENT #undef CATALYST_COEFFICENT #undef FUSION_PURITY_THRESHOLD -#undef FUSION_HEAT_DROPOFF \ No newline at end of file +#undef FUSION_HEAT_DROPOFF +#undef NOBLIUM_FORMATION_ENERGY \ No newline at end of file diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index d2603208e5..efe45f4e84 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -93,11 +93,11 @@ /datum/gas/plasma = new/datum/tlv/dangerous, // Partial pressure, kpa /datum/gas/nitrous_oxide = new/datum/tlv/dangerous, // Partial pressure, kpa /datum/gas/bz = new/datum/tlv/dangerous, - /datum/gas/hypernoblium = new/datum/tlv/dangerous, + /datum/gas/hypernoblium = new/datum/tlv/dangerous, /datum/gas/water_vapor = new/datum/tlv/dangerous, /datum/gas/tritium = new/datum/tlv/dangerous, /datum/gas/stimulum = new/datum/tlv/dangerous, - /datum/gas/brown_gas = new/datum/tlv/dangerous, + /datum/gas/nitryl = new/datum/tlv/dangerous, /datum/gas/pluoxium = new/datum/tlv/dangerous ) @@ -111,11 +111,11 @@ /datum/gas/plasma = new/datum/tlv/no_checks, /datum/gas/nitrous_oxide = new/datum/tlv/no_checks, /datum/gas/bz = new/datum/tlv/no_checks, - /datum/gas/hypernoblium = new/datum/tlv/no_checks, + /datum/gas/hypernoblium = new/datum/tlv/no_checks, /datum/gas/water_vapor = new/datum/tlv/no_checks, /datum/gas/tritium = new/datum/tlv/no_checks, /datum/gas/stimulum = new/datum/tlv/no_checks, - /datum/gas/brown_gas = new/datum/tlv/no_checks, + /datum/gas/nitryl = new/datum/tlv/no_checks, /datum/gas/pluoxium = new/datum/tlv/no_checks ) @@ -133,7 +133,7 @@ /datum/gas/water_vapor = new/datum/tlv/dangerous, /datum/gas/tritium = new/datum/tlv/dangerous, /datum/gas/stimulum = new/datum/tlv/dangerous, - /datum/gas/brown_gas = new/datum/tlv/dangerous, + /datum/gas/nitryl = new/datum/tlv/dangerous, /datum/gas/pluoxium = new/datum/tlv/dangerous ) @@ -277,11 +277,7 @@ "power" = info["power"], "scrubbing" = info["scrubbing"], "widenet" = info["widenet"], - "filter_co2" = info["filter_co2"], - "filter_toxins" = info["filter_toxins"], - "filter_n2o" = info["filter_n2o"], - "filter_rare" = info["filter_rare"], - "filter_water_vapor" = info["filter_water_vapor"] + "filter_types" = info["filter_types"] )) data["mode"] = mode data["modes"] = list() @@ -337,8 +333,8 @@ if(usr.has_unlimited_silicon_privilege && !wires.is_cut(WIRE_IDSCAN)) locked = !locked . = TRUE - if("power", "co2_scrub", "tox_scrub", "n2o_scrub", "rare_scrub","water_vapor_scrub", "widenet", "scrubbing") - send_signal(device_id, list("[action]" = text2num(params["val"]))) + if("power", "toggle_filter", "widenet", "scrubbing") + send_signal(device_id, list("[action]" = params["val"])) . = TRUE if("excheck") send_signal(device_id, list("checks" = text2num(params["val"])^1)) @@ -678,15 +674,7 @@ update_icon() return else if(istype(W, /obj/item/card/id) || istype(W, /obj/item/device/pda))// trying to unlock the interface with an ID card - if(stat & (NOPOWER|BROKEN)) - to_chat(user, "It does nothing!") - else - if(src.allowed(usr) && !wires.is_cut(WIRE_IDSCAN)) - locked = !locked - to_chat(user, "You [ locked ? "lock" : "unlock"] the air alarm interface.") - else - to_chat(user, "Access denied.") - return + togglelock(user) else if(panel_open && is_wire_tool(W)) wires.interact(user) return @@ -751,6 +739,25 @@ return return ..() + +/obj/machinery/airalarm/AltClick(mob/user) + ..() + if(!issilicon(user) && (!user.canUseTopic(src, be_close=TRUE) || !isturf(loc))) + to_chat(user, "You can't do that right now!") + return + else + togglelock(user) + +/obj/machinery/airalarm/proc/togglelock(mob/living/user) + if(stat & (NOPOWER|BROKEN)) + to_chat(user, "It does nothing!") + else + if(src.allowed(usr) && !wires.is_cut(WIRE_IDSCAN)) + locked = !locked + to_chat(user, "You [ locked ? "lock" : "unlock"] the air alarm interface.") + else + to_chat(user, "Access denied.") + return /obj/machinery/airalarm/power_change() ..() diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm index d0cba4d581..4baeb3dd3e 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm @@ -124,7 +124,7 @@ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) - ui = new(user, src, ui_key, "atmos_filter", name, 475, 155, master_ui, state) + ui = new(user, src, ui_key, "atmos_filter", name, 475, 195, master_ui, state) ui.open() /obj/machinery/atmospherics/components/trinary/filter/ui_data() @@ -133,13 +133,11 @@ data["pressure"] = round(target_pressure) data["max_pressure"] = round(MAX_OUTPUT_PRESSURE) - if(filter_type) //ui code is garbage and this is needed for it to work grr - if(ispath(filter_type)) //we need to send the gas ID. if it's a path, get it from the metainfo list... - data["filter_type"] = GLOB.meta_gas_info[filter_type][META_GAS_ID] - else //...otherwise, it's already in the form we need. - data["filter_type"] = filter_type - else - data["filter_type"] = "none" + data["filter_types"] = list() + data["filter_types"] += list(list("name" = "Nothing", "path" = "", "selected" = !filter_type)) + for(var/path in GLOB.meta_gas_info) + var/list/gas = GLOB.meta_gas_info[path] + data["filter_types"] += list(list("name" = gas[META_GAS_NAME], "id" = gas[META_GAS_ID], "selected" = (path == gas_id2path(filter_type)))) return data @@ -169,7 +167,7 @@ if("filter") filter_type = null var/filter_name = "nothing" - var/gas = text2path(params["mode"]) || gas_id2path(params["mode"]) + var/gas = gas_id2path(params["mode"]) if(gas in GLOB.meta_gas_info) filter_type = gas filter_name = GLOB.meta_gas_info[gas][META_GAS_NAME] diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index 4bcbd95c21..b0977f887e 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -18,8 +18,8 @@ var/volume = 100 var/efficiency = 1 - var/sleep_factor = 750 - var/unconscious_factor = 1000 + var/sleep_factor = 0.00125 + var/unconscious_factor = 0.001 var/heat_capacity = 20000 var/conduction_coefficient = 0.3 @@ -94,29 +94,29 @@ if(occupant) var/image/occupant_overlay + if(ismonkey(occupant)) // Monkey + occupant_overlay = image(CRYOMOBS, "monkey") + occupant_overlay.copy_overlays(occupant) + else if(isalienadult(occupant)) + if(isalienroyal(occupant)) // Queen and prae + occupant_overlay = image(CRYOMOBS, "alienq") + else if(isalienhunter(occupant)) // Hunter + occupant_overlay = image(CRYOMOBS, "alienh") + else if(isaliensentinel(occupant)) // Sentinel + occupant_overlay = image(CRYOMOBS, "aliens") + else // Drone or other + occupant_overlay = image(CRYOMOBS, "aliend") + + else if(ishuman(occupant) || islarva(occupant) || (isanimal(occupant) && !ismegafauna(occupant))) // Mobs that are smaller than cryotube + occupant_overlay = image(occupant.icon, occupant.icon_state) + if(ishuman(occupant) || islarva(occupant) || (isanimal(occupant) && !ismegafauna(occupant))) // Mobs that are smaller than cryotube occupant_overlay = image(occupant.icon, occupant.icon_state) occupant_overlay.copy_overlays(occupant) - else if(ismonkey(occupant)) // Monkey - occupant_overlay = image(CRYOMOBS, "monkey") - occupant_overlay.copy_overlays(occupant) - - else if(!isalienadult(occupant)) + else occupant_overlay = image(CRYOMOBS, "generic") - else if(isalienroyal(occupant)) // Queen and prae - occupant_overlay = image(CRYOMOBS, "alienq") - - else if(isalienhunter(occupant)) // Hunter - occupant_overlay = image(CRYOMOBS, "alienh") - - else if(isaliensentinel(occupant)) // Sentinel - occupant_overlay = image(CRYOMOBS, "aliens") - - else // Drone or other - occupant_overlay = image(CRYOMOBS, "aliend") - occupant_overlay.dir = SOUTH occupant_overlay.pixel_y = 22 @@ -182,8 +182,8 @@ if(air1.gases.len) if(mob_occupant.bodytemperature < T0C) // Sleepytime. Why? More cryo magic. - mob_occupant.Sleeping((mob_occupant.bodytemperature / sleep_factor) * 2000) - mob_occupant.Unconscious((mob_occupant.bodytemperature / unconscious_factor) * 2000) + mob_occupant.Sleeping((mob_occupant.bodytemperature * sleep_factor) * 2000) + mob_occupant.Unconscious((mob_occupant.bodytemperature * unconscious_factor) * 2000) if(beaker) if(reagent_transfer == 0) // Magically transfer reagents. Because cryo magic. beaker.reagents.trans_to(occupant, 1, 10 * efficiency) // Transfer reagents, multiplied because cryo magic. diff --git a/code/modules/atmospherics/machinery/components/unary_devices/generator_input.dm b/code/modules/atmospherics/machinery/components/unary_devices/generator_input.dm deleted file mode 100644 index a1a67e2542..0000000000 --- a/code/modules/atmospherics/machinery/components/unary_devices/generator_input.dm +++ /dev/null @@ -1,16 +0,0 @@ -/obj/machinery/atmospherics/components/unary/generator_input - - icon_state = "he_intact" - density = TRUE - - name = "generator input" - desc = "An input for a generator." - layer = LOW_OBJ_LAYER - - var/update_cycle - -/obj/machinery/atmospherics/components/unary/generator_input/update_icon() - icon_state = NODE1 ? "intact" : "exposed" - -/obj/machinery/atmospherics/components/unary/generator_input/proc/return_exchange_air() - return AIR1 diff --git a/code/modules/atmospherics/machinery/components/unary_devices/oxygen_generator.dm b/code/modules/atmospherics/machinery/components/unary_devices/oxygen_generator.dm deleted file mode 100644 index 0070cce9a1..0000000000 --- a/code/modules/atmospherics/machinery/components/unary_devices/oxygen_generator.dm +++ /dev/null @@ -1,57 +0,0 @@ -/obj/machinery/atmospherics/components/unary/oxygen_generator - - icon_state = "o2gen_map" - - name = "oxygen generator" - desc = "Generates oxygen." - - dir = SOUTH - initialize_directions = SOUTH - layer = GAS_SCRUBBER_LAYER - - var/on = FALSE - - var/oxygen_content = 10 - -/obj/machinery/atmospherics/components/unary/oxygen_generator/update_icon_nopipes() - - cut_overlays() - if(showpipe) - add_overlay(getpipeimage('icons/obj/atmospherics/components/unary_devices.dmi', "scrub_cap", initialize_directions)) //it works for now - - if(!NODE1 || !on || !is_operational()) - icon_state = "o2gen_off" - return - - else - icon_state = "o2gen_on" - -/obj/machinery/atmospherics/components/unary/oxygen_generator/New() - ..() - var/datum/gas_mixture/air_contents = AIR1 - air_contents.volume = 50 - AIR1 = air_contents - -/obj/machinery/atmospherics/components/unary/oxygen_generator/process_atmos() - - ..() - - if(!on) - return 0 - - var/datum/gas_mixture/air_contents = AIR1 - - var/total_moles = air_contents.total_moles() - - if(total_moles < oxygen_content) - var/current_heat_capacity = air_contents.heat_capacity() - - var/added_oxygen = oxygen_content - total_moles - - air_contents.temperature = (current_heat_capacity*air_contents.temperature + 20*added_oxygen*T0C)/(current_heat_capacity+20*added_oxygen) - ASSERT_GAS(/datum/gas/oxygen, air_contents) - air_contents.gases[/datum/gas/oxygen][MOLES] += added_oxygen - - update_parents() - - return 1 diff --git a/code/modules/atmospherics/machinery/components/unary_devices/unary_devices.dm b/code/modules/atmospherics/machinery/components/unary_devices/unary_devices.dm index a335fd2f59..fa46dd445d 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/unary_devices.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/unary_devices.dm @@ -5,6 +5,8 @@ device_type = UNARY pipe_flags = PIPING_ONE_PER_TURF construction_type = /obj/item/pipe/directional + var/uid + var/static/gl_uid = 1 /obj/machinery/atmospherics/components/unary/SetInitDirections() initialize_directions = dir @@ -16,3 +18,7 @@ /obj/machinery/atmospherics/components/unary/hide(intact) update_icon() ..(intact) + +/obj/machinery/atmospherics/components/unary/proc/assign_uid_vents() + uid = num2text(gl_uid++) + return uid \ No newline at end of file diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm index 82482b562f..a05a13217d 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm @@ -50,8 +50,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/New() ..() if(!id_tag) - assign_uid() - id_tag = num2text(uid) + id_tag = assign_uid_vents() /obj/machinery/atmospherics/components/unary/vent_pump/Destroy() var/area/A = get_area(src) @@ -95,7 +94,23 @@ return if(!NODE1 || !on || !is_operational()) - icon_state = "vent_off" + if(icon_state == "vent_welded") + icon_state = "vent_off" + return + + if(pump_direction & RELEASING) + icon_state = "vent_out-off" + else // pump_direction == SIPHONING + icon_state = "vent_in-off" + return + + if(icon_state == ("vent_out-off" || "vent_in-off" || "vent_off")) + if(pump_direction & RELEASING) + icon_state = "vent_out" + flick("vent_out-starting", src) + else // pump_direction == SIPHONING + icon_state = "vent_in" + flick("vent_in-starting", src) return if(pump_direction & RELEASING) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm index e0567ee967..b3ade6f0fb 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm @@ -17,12 +17,7 @@ var/on = FALSE var/scrubbing = SCRUBBING //0 = siphoning, 1 = scrubbing - var/scrub_CO2 = TRUE - var/scrub_Toxins = FALSE - var/scrub_N2O = FALSE - var/scrub_Rare = FALSE - var/scrub_WaterVapor = FALSE - + var/filter_types = list(/datum/gas/carbon_dioxide) var/volume_rate = 200 var/widenet = 0 //is this scrubber acting on the 3x3 area around it. @@ -38,8 +33,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/New() ..() if(!id_tag) - assign_uid() - id_tag = num2text(uid) + id_tag = assign_uid_vents() /obj/machinery/atmospherics/components/unary/vent_scrubber/on on = TRUE @@ -65,16 +59,7 @@ var/amount = idle_power_usage if(scrubbing & SCRUBBING) - if(scrub_CO2) - amount += idle_power_usage - if(scrub_Toxins) - amount += idle_power_usage - if(scrub_N2O) - amount += idle_power_usage - if(scrub_Rare) - amount += idle_power_usage - if(scrub_WaterVapor) - amount += idle_power_usage + amount += idle_power_usage * length(filter_types) else //scrubbing == SIPHONING amount = active_power_usage @@ -96,8 +81,11 @@ icon_state = "scrub_off" return - if(scrubbing & SCRUBBING) - icon_state = "scrub_on" + if(scrubbing & SCRUBBING) + if(widenet) + icon_state = "scrub_wide" + else + icon_state = "scrub_on" else //scrubbing == SIPHONING icon_state = "scrub_purge" @@ -113,6 +101,12 @@ var/datum/signal/signal = new signal.transmission_method = 1 //radio signal signal.source = src + + var/list/f_types = list() + for(var/path in GLOB.meta_gas_info) + var/list/gas = GLOB.meta_gas_info[path] + f_types += list(list("gas_id" = gas[META_GAS_ID], "gas_name" = gas[META_GAS_NAME], "enabled" = (path in filter_types))) + signal.data = list( "tag" = id_tag, "frequency" = frequency, @@ -121,11 +115,7 @@ "power" = on, "scrubbing" = scrubbing, "widenet" = widenet, - "filter_co2" = scrub_CO2, - "filter_toxins" = scrub_Toxins, - "filter_n2o" = scrub_N2O, - "filter_rare" =scrub_Rare, - "filter_water_vapor" = scrub_WaterVapor, + "filter_types" = f_types, "sigtype" = "status" ) @@ -173,14 +163,7 @@ return FALSE if(scrubbing & SCRUBBING) - var/should_we_scrub = FALSE - for(var/id in env_gases) - if(id == /datum/gas/nitrogen || id == /datum/gas/oxygen) - continue - if(env_gases[id][MOLES]) - should_we_scrub = TRUE - break - if(should_we_scrub) + if(length(env_gases & filter_types)) var/transfer_moles = min(1, volume_rate/environment.volume)*environment.total_moles() //Take a gas sample @@ -195,55 +178,10 @@ var/list/filtered_gases = filtered_out.gases filtered_out.temperature = removed.temperature - if(scrub_Toxins && removed_gases[/datum/gas/plasma]) - ADD_GAS(/datum/gas/plasma, filtered_gases) - filtered_gases[/datum/gas/plasma][MOLES] = removed_gases[/datum/gas/plasma][MOLES] - removed_gases[/datum/gas/plasma][MOLES] = 0 - - if(scrub_CO2 && removed_gases[/datum/gas/carbon_dioxide]) - ADD_GAS(/datum/gas/carbon_dioxide, filtered_gases) - filtered_gases[/datum/gas/carbon_dioxide][MOLES] = removed_gases[/datum/gas/carbon_dioxide][MOLES] - removed_gases[/datum/gas/carbon_dioxide][MOLES] = 0 - - if(scrub_N2O && removed_gases[/datum/gas/nitrous_oxide]) - ADD_GAS(/datum/gas/nitrous_oxide, filtered_gases) - filtered_gases[/datum/gas/nitrous_oxide][MOLES] = removed_gases[/datum/gas/nitrous_oxide][MOLES] - removed_gases[/datum/gas/nitrous_oxide][MOLES] = 0 - - if(scrub_Rare && removed_gases[/datum/gas/bz]) - ADD_GAS(/datum/gas/bz, filtered_gases) - filtered_gases[/datum/gas/bz][MOLES] = removed_gases[/datum/gas/bz][MOLES] - removed_gases[/datum/gas/bz][MOLES] = 0 - - if(scrub_Rare && removed_gases[/datum/gas/hypernoblium]) - ADD_GAS(/datum/gas/hypernoblium, filtered_gases) - filtered_gases[/datum/gas/hypernoblium][MOLES] = removed_gases[/datum/gas/hypernoblium][MOLES] - removed_gases[/datum/gas/hypernoblium][MOLES] = 0 - - if(scrub_Rare && removed_gases[/datum/gas/stimulum]) - ADD_GAS(/datum/gas/stimulum, filtered_gases) - filtered_gases[/datum/gas/stimulum][MOLES] = removed_gases[/datum/gas/stimulum][MOLES] - removed_gases[/datum/gas/stimulum][MOLES] = 0 - - if(scrub_Rare && removed_gases[/datum/gas/pluoxium]) - ADD_GAS(/datum/gas/pluoxium, filtered_gases) - filtered_gases[/datum/gas/pluoxium][MOLES] = removed_gases[/datum/gas/pluoxium][MOLES] - removed_gases[/datum/gas/pluoxium][MOLES] = 0 - - if(scrub_Rare && removed_gases[/datum/gas/brown_gas]) - ADD_GAS(/datum/gas/brown_gas, filtered_gases) - filtered_gases[/datum/gas/brown_gas][MOLES] = removed_gases[/datum/gas/brown_gas][MOLES] - removed_gases[/datum/gas/brown_gas][MOLES] = 0 - - if(scrub_Rare && removed_gases[/datum/gas/tritium]) - ADD_GAS(/datum/gas/tritium, filtered_gases) - filtered_gases[/datum/gas/tritium][MOLES] = removed_gases[/datum/gas/tritium][MOLES] - removed_gases[/datum/gas/tritium][MOLES] = 0 - - if(scrub_WaterVapor && removed_gases[/datum/gas/water_vapor]) - ADD_GAS(/datum/gas/water_vapor, filtered_gases) - filtered_gases[/datum/gas/water_vapor][MOLES] = removed_gases[/datum/gas/water_vapor][MOLES] - removed_gases[/datum/gas/water_vapor][MOLES] = 0 + for(var/gas in filter_types & removed_gases) + ADD_GAS(gas, filtered_gases) + filtered_gases[gas][MOLES] = removed_gases[gas][MOLES] + removed_gases[gas][MOLES] = 0 removed.garbage_collect() @@ -301,30 +239,8 @@ if("toggle_scrubbing" in signal.data) scrubbing = !scrubbing - if("co2_scrub" in signal.data) - scrub_CO2 = text2num(signal.data["co2_scrub"]) - if("toggle_co2_scrub" in signal.data) - scrub_CO2 = !scrub_CO2 - - if("tox_scrub" in signal.data) - scrub_Toxins = text2num(signal.data["tox_scrub"]) - if("toggle_tox_scrub" in signal.data) - scrub_Toxins = !scrub_Toxins - - if("n2o_scrub" in signal.data) - scrub_N2O = text2num(signal.data["n2o_scrub"]) - if("toggle_n2o_scrub" in signal.data) - scrub_N2O = !scrub_N2O - - if("rare_scrub" in signal.data) - scrub_Rare = text2num(signal.data["rare_scrub"]) - if("toggle_rare_scrub" in signal.data) - scrub_Rare = !scrub_Rare - - if("water_vapor_scrub" in signal.data) - scrub_WaterVapor = text2num(signal.data["water_vapor_scrub"]) - if("toggle_water_vapor_scrub" in signal.data) - scrub_WaterVapor = !scrub_WaterVapor + if("toggle_filter" in signal.data) + filter_types ^= gas_id2path(signal.data["toggle_filter"]) if("init" in signal.data) name = signal.data["init"] diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index 0a7f43b383..585b6e896a 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -41,9 +41,14 @@ "co2" = /obj/machinery/portable_atmospherics/canister/carbon_dioxide, "plasma" = /obj/machinery/portable_atmospherics/canister/toxins, "n2o" = /obj/machinery/portable_atmospherics/canister/nitrous_oxide, + "no2" = /obj/machinery/portable_atmospherics/canister/nitryl, "bz" = /obj/machinery/portable_atmospherics/canister/bz, "air" = /obj/machinery/portable_atmospherics/canister/air, "water vapor" = /obj/machinery/portable_atmospherics/canister/water_vapor, + "tritium" = /obj/machinery/portable_atmospherics/canister/tritium, + "hyper-noblium" = /obj/machinery/portable_atmospherics/canister/nob, + "stimulum" = /obj/machinery/portable_atmospherics/canister/stimulum, + "pluoxium" = /obj/machinery/portable_atmospherics/canister/pluoxium, "caution" = /obj/machinery/portable_atmospherics/canister, ) @@ -98,26 +103,31 @@ /obj/machinery/portable_atmospherics/canister/tritium name = "tritium canister" desc = "Tritium. Inhalation might cause irradiation." + icon_state = "green" gas_type = /datum/gas/tritium /obj/machinery/portable_atmospherics/canister/nob name = "hyper-noblium canister" desc = "Hyper-Noblium. More noble than all other gases." + icon_state = "freon" gas_type = /datum/gas/hypernoblium -/obj/machinery/portable_atmospherics/canister/browns - name = "brown gas canister" - desc = "Browns gas. Feels great 'til the acid eats your lungs." - gas_type = /datum/gas/brown_gas +/obj/machinery/portable_atmospherics/canister/nitryl + name = "nitryl canister" + desc = "Nitryl gas. Feels great 'til the acid eats your lungs." + icon_state = "brown" + gas_type = /datum/gas/nitryl /obj/machinery/portable_atmospherics/canister/stimulum name = "stimulum canister" desc = "Stimulum. High energy gas, high energy people." + icon_state = "darkpurple" gas_type = /datum/gas/stimulum /obj/machinery/portable_atmospherics/canister/pluoxium name = "pluoxium canister" desc = "Pluoxium. Like oxygen, but more bang for your buck." + icon_state = "darkblue" gas_type = /datum/gas/pluoxium /obj/machinery/portable_atmospherics/canister/water_vapor @@ -127,7 +137,6 @@ gas_type = /datum/gas/water_vapor filled = 1 - /obj/machinery/portable_atmospherics/canister/proc/get_time_left() if(timing) . = round(max(0, valve_timer - world.time) / 10, 1) diff --git a/code/modules/atmospherics/machinery/portable/scrubber.dm b/code/modules/atmospherics/machinery/portable/scrubber.dm index bb203fd6ee..564e6d294f 100644 --- a/code/modules/atmospherics/machinery/portable/scrubber.dm +++ b/code/modules/atmospherics/machinery/portable/scrubber.dm @@ -7,7 +7,7 @@ var/volume_rate = 1000 volume = 1000 - var/list/scrubbing = list(/datum/gas/plasma, /datum/gas/carbon_dioxide, /datum/gas/nitrous_oxide, /datum/gas/bz, /datum/gas/brown_gas, /datum/gas/tritium, /datum/gas/hypernoblium, /datum/gas/water_vapor) + var/list/scrubbing = list(/datum/gas/plasma, /datum/gas/carbon_dioxide, /datum/gas/nitrous_oxide, /datum/gas/bz, /datum/gas/nitryl, /datum/gas/tritium, /datum/gas/hypernoblium, /datum/gas/water_vapor) /obj/machinery/portable_atmospherics/scrubber/Destroy() var/turf/T = get_turf(src) @@ -66,7 +66,7 @@ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.physical_state) ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) - ui = new(user, src, ui_key, "portable_scrubber", name, 420, 335, master_ui, state) + ui = new(user, src, ui_key, "portable_scrubber", name, 420, 435, master_ui, state) ui.open() /obj/machinery/portable_atmospherics/scrubber/ui_data() @@ -75,6 +75,12 @@ data["connected"] = connected_port ? 1 : 0 data["pressure"] = round(air_contents.return_pressure() ? air_contents.return_pressure() : 0) + data["id_tag"] = -1 //must be defined in order to reuse code between portable and vent scrubbers + data["filter_types"] = list() + for(var/path in GLOB.meta_gas_info) + var/list/gas = GLOB.meta_gas_info[path] + data["filter_types"] += list(list("gas_id" = gas[META_GAS_ID], "gas_name" = gas[META_GAS_NAME], "enabled" = (path in scrubbing))) + if(holding) data["holding"] = list() data["holding"]["name"] = holding.name @@ -93,6 +99,9 @@ holding.loc = get_turf(src) holding = null . = TRUE + if("toggle_filter") + scrubbing ^= gas_id2path(params["val"]) + . = TRUE update_icon() /obj/machinery/portable_atmospherics/scrubber/huge diff --git a/code/modules/awaymissions/bluespaceartillery.dm b/code/modules/awaymissions/bluespaceartillery.dm index 3878619418..d98be456ff 100644 --- a/code/modules/awaymissions/bluespaceartillery.dm +++ b/code/modules/awaymissions/bluespaceartillery.dm @@ -30,7 +30,7 @@ var/dat = "Bluespace Artillery Control:
    " dat += "Locked on
    " dat += "Charge progress: [reload]/[reload_cooldown]:
    " - dat += "Open Fire
    " + dat += "Open Fire
    " dat += "Deployment of weapon authorized by
    Nanotrasen Naval Command

    Remember, friendly fire is grounds for termination of your contract and life.
    " user << browse(dat, "window=scroll") onclose(user, "scroll") diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index 0307a6b58e..8b640676ba 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -309,7 +309,7 @@ dead_barricades.Cut() - notify_ghosts("[name] has been activated!", enter_link="(Click to join the [team] team!) or click on the controller directly!", source = src, action=NOTIFY_ATTACK) + notify_ghosts("[name] has been activated!", enter_link="(Click to join the [team] team!) or click on the controller directly!", source = src, action=NOTIFY_ATTACK) if(!arena_reset) reset_the_arena() diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 0014f92378..9a156d6b62 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -4,6 +4,8 @@ /obj/effect/mob_spawn name = "Unknown" + density = TRUE + anchored = TRUE var/mob_type = null var/mob_name = "" var/mob_gender = null @@ -21,8 +23,7 @@ var/burn_damage = 0 var/mob_color //Change the mob's color var/assignedrole - density = TRUE - anchored = TRUE + var/show_flavour = TRUE var/banType = "lavaland" /obj/effect/mob_spawn/attack_ghost(mob/user) @@ -60,7 +61,7 @@ /obj/effect/mob_spawn/proc/equip(mob/M) return -/obj/effect/mob_spawn/proc/create(ckey, flavour = TRUE, name) +/obj/effect/mob_spawn/proc/create(ckey, name) var/mob/living/M = new mob_type(get_turf(src)) //living mobs only if(!random) M.real_name = mob_name ? mob_name : M.name @@ -80,7 +81,7 @@ if(ckey) M.ckey = ckey - if(flavour) + if(show_flavour) to_chat(M, "[flavour_text]") var/datum/mind/MM = M.mind if(objectives) @@ -130,6 +131,10 @@ var/backpack_contents = -1 var/suit_store = -1 + var/hair_style + var/facial_hair_style + var/skin_tone + /obj/effect/mob_spawn/human/Initialize() if(ispath(outfit)) outfit = new outfit() @@ -147,6 +152,20 @@ H.underwear = "Nude" H.undershirt = "Nude" H.socks = "Nude" + if(hair_style) + H.hair_style = hair_style + else + H.hair_style = random_hair_style(gender) + if(facial_hair_style) + H.facial_hair_style = facial_hair_style + else + H.facial_hair_style = random_facial_hair_style(gender) + if(skin_tone) + H.skin_tone = skin_tone + else + H.skin_tone = random_skin_tone() + H.update_hair() + H.update_body() if(outfit) var/static/list/slots = list("uniform", "r_hand", "l_hand", "suit", "shoes", "gloves", "ears", "glasses", "mask", "head", "belt", "r_pocket", "l_pocket", "back", "id", "neck", "backpack_contents", "suit_store") for(var/slot in slots) diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm index a46b32f853..15c5deb4cb 100644 --- a/code/modules/awaymissions/gateway.dm +++ b/code/modules/awaymissions/gateway.dm @@ -170,7 +170,7 @@ GLOBAL_DATUM(the_gateway, /obj/machinery/gateway/centerstation) density = TRUE icon_state = "offcenter" use_power = NO_POWER_USE - var/obj/machinery/gateway/centeraway/stationgate = null + var/obj/machinery/gateway/centerstation/stationgate = null can_link = TRUE @@ -233,6 +233,18 @@ GLOBAL_DATUM(the_gateway, /obj/machinery/gateway/centerstation) M.client.move_delay = max(world.time + 5, M.client.move_delay) +/obj/machinery/gateway/centeraway/admin + desc = "A mysterious gateway built by unknown hands, this one seems more compact." + +/obj/machinery/gateway/centeraway/admin/Initialize() + . = ..() + if(stationgate && !stationgate.awaygate) + stationgate.awaygate = src + +/obj/machinery/gateway/centeraway/admin/detect() + return TRUE + + /obj/item/paper/fluff/gateway info = "Congratulations,

    Your station has been selected to carry out the Gateway Project.

    The equipment will be shipped to you at the start of the next quarter.
    You are to prepare a secure location to house the equipment as outlined in the attached documents.

    --Nanotrasen Blue Space Research" name = "Confidential Correspondence, Pg 1" \ No newline at end of file diff --git a/code/modules/awaymissions/mission_code/wildwest.dm b/code/modules/awaymissions/mission_code/wildwest.dm index dc5cc63ec3..3031936d43 100644 --- a/code/modules/awaymissions/mission_code/wildwest.dm +++ b/code/modules/awaymissions/mission_code/wildwest.dm @@ -32,7 +32,7 @@ ////////// wildwest papers - + /obj/item/paper/fluff/awaymissions/wildwest/grinder info = "meat grinder requires sacri" @@ -124,7 +124,7 @@ if("Peace") to_chat(user, "Whatever alien sentience that the Wish Granter possesses is satisfied with your wish. There is a distant wailing as the last of the Faithless begin to die, then silence.") to_chat(user, "You feel as if you just narrowly avoided a terrible fate...") - for(var/mob/living/simple_animal/hostile/faithless/F in GLOB.mob_list) + for(var/mob/living/simple_animal/hostile/faithless/F in GLOB.mob_living_list) F.death() diff --git a/code/modules/cargo/console.dm b/code/modules/cargo/console.dm index 5a7a471e16..3fcb0648a1 100644 --- a/code/modules/cargo/console.dm +++ b/code/modules/cargo/console.dm @@ -8,6 +8,7 @@ var/safety_warning = "For safety reasons the automated supply shuttle \ cannot transport live organisms, classified nuclear weaponry or \ homing beacons." + var/blockade_warning = "Bluespace instability detected. Shuttle movement impossible." light_color = "#E2853D"//orange @@ -54,8 +55,12 @@ data["docked"] = SSshuttle.supply.mode == SHUTTLE_IDLE data["loan"] = !!SSshuttle.shuttle_loan data["loan_dispatched"] = SSshuttle.shuttle_loan && SSshuttle.shuttle_loan.dispatched - data["message"] = SSshuttle.centcom_message || "Remember to stamp and send back the supply manifests." - + var/message = "Remember to stamp and send back the supply manifests." + if(SSshuttle.centcom_message) + message = SSshuttle.centcom_message + if(SSshuttle.supplyBlocked) + message = blockade_warning + data["message"] = message data["supplies"] = list() for(var/pack in SSshuttle.supply_packs) var/datum/supply_pack/P = SSshuttle.supply_packs[pack] @@ -102,6 +107,9 @@ if(!SSshuttle.supply.canMove()) say(safety_warning) return + if(SSshuttle.supplyBlocked) + say(blockade_warning) + return if(SSshuttle.supply.getDockedId() == "supply_home") SSshuttle.supply.emagged = emagged SSshuttle.supply.contraband = contraband @@ -116,6 +124,9 @@ if("loan") if(!SSshuttle.shuttle_loan) return + if(SSshuttle.supplyBlocked) + say(blockade_warning) + return else if(SSshuttle.supply.mode != SHUTTLE_IDLE) return else if(SSshuttle.supply.getDockedId() != "supply_away") diff --git a/code/modules/cargo/exports/seeds.dm b/code/modules/cargo/exports/seeds.dm index 42f9d702e0..e73ef23ec4 100644 --- a/code/modules/cargo/exports/seeds.dm +++ b/code/modules/cargo/exports/seeds.dm @@ -26,12 +26,12 @@ export_types = list(/obj/item/seeds) needs_discovery = TRUE // Only for already discovered species -/datum/export/seed/potency.get_cost(obj/O) +/datum/export/seed/potency/get_cost(obj/O) var/obj/item/seeds/S = O var/cost = ..() if(!cost) return 0 var/potDiff = (S.potency - discoveredPlants[S.type]) - + return round(..() * potDiff) diff --git a/code/modules/client/asset_cache.dm b/code/modules/client/asset_cache.dm index 7ea6c60000..3704494050 100644 --- a/code/modules/client/asset_cache.dm +++ b/code/modules/client/asset_cache.dm @@ -180,7 +180,7 @@ GLOBAL_LIST_EMPTY(asset_datums) //Generates assets based on iconstates of a single icon /datum/asset/simple/icon_states var/icon - var/direction = SOUTH + var/list/directions = list(SOUTH) var/frame = 1 var/movement_states = FALSE @@ -189,19 +189,26 @@ GLOBAL_LIST_EMPTY(asset_datums) verify = FALSE -/datum/asset/simple/icon_states/register() - for(var/icon_state_name in icon_states(icon)) - var/asset = icon(icon, icon_state_name, direction, frame, movement_states) - if (!asset) - continue - asset = fcopy_rsc(asset) //dedupe - var/asset_name = sanitize_filename("[prefix].[icon_state_name].png") - if (generic_icon_names) - asset_name = "[generate_asset_name(asset)].png" +/datum/asset/simple/icon_states/register(_icon = icon) + for(var/icon_state_name in icon_states(_icon)) + for(var/direction in directions) + var/asset = icon(_icon, icon_state_name, direction, frame, movement_states) + if (!asset) + continue + asset = fcopy_rsc(asset) //dedupe + var/prefix2 = (directions.len > 1) ? "[dir2text(direction)]." : "" + var/asset_name = sanitize_filename("[prefix].[prefix2][icon_state_name].png") + if (generic_icon_names) + asset_name = "[generate_asset_name(asset)].png" - assets[asset_name] = asset + register_asset(asset_name, asset) - ..() +/datum/asset/simple/icon_states/multiple_icons + var/list/icons + +/datum/asset/simple/icon_states/multiple_icons/register() + for(var/i in icons) + ..(i) //DEFINITIONS FOR ASSET DATUMS START HERE. @@ -351,3 +358,17 @@ GLOBAL_LIST_EMPTY(asset_datums) /datum/asset/simple/icon_states/emojis icon = 'icons/emoji.dmi' generic_icon_names = TRUE + +/datum/asset/simple/icon_states/multiple_icons/pipes + icons = list('icons/obj/atmospherics/pipes/pipe_item.dmi', 'icons/obj/atmospherics/pipes/disposal.dmi') + prefix = "pipe" + +/datum/asset/simple/icon_states/multiple_icons/pipes/New() + directions = GLOB.alldirs + ..() + +/datum/asset/simple/icon_states/multiple_icons/pipes/register() + ..() + var/meter = icon('icons/obj/atmospherics/pipes/simple.dmi', "meterX", SOUTH, frame, movement_states) + if(meter) + register_asset(sanitize_filename("[prefix].south.meterX.png"), fcopy_rsc(meter)) diff --git a/code/modules/client/client_defines.dm b/code/modules/client/client_defines.dm index 5dfd9ecd4b..dbbe6ea512 100644 --- a/code/modules/client/client_defines.dm +++ b/code/modules/client/client_defines.dm @@ -21,7 +21,6 @@ ///////// var/datum/preferences/prefs = null var/move_delay = 1 - var/moving = null var/area = null diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index e14c48db3a..ea02e81c23 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -256,11 +256,19 @@ GLOBAL_LIST(external_rsc_urls) qdel(src) return 0 else if (byond_version < cwv) //We have words for this client. - to_chat(src, "Your version of byond may be getting out of date:") - to_chat(src, CONFIG_GET(string/client_warn_message)) - to_chat(src, "Your version: [byond_version]") - to_chat(src, "Required version to remove this message: [cwv] or later") - to_chat(src, "Visit http://www.byond.com/download/ to get the latest version of byond.") + if(CONFIG_GET(flag/client_warn_popup)) + var/msg = "Your version of byond may be getting out of date:
    " + msg += CONFIG_GET(string/client_warn_message) + "

    " + msg += "Your version: [byond_version]
    " + msg += "Required version to remove this message: [cwv] or later
    " + msg += "Visit http://www.byond.com/download/ to get the latest version of byond.
    " + src << browse(msg, "window=warning_popup") + else + to_chat(src, "Your version of byond may be getting out of date:") + to_chat(src, CONFIG_GET(string/client_warn_message)) + to_chat(src, "Your version: [byond_version]") + to_chat(src, "Required version to remove this message: [cwv] or later") + to_chat(src, "Visit http://www.byond.com/download/ to get the latest version of byond.") if (connection == "web" && !holder) if (!CONFIG_GET(flag/allow_webclient)) @@ -672,6 +680,9 @@ GLOBAL_LIST(external_rsc_urls) view = new_size apply_clickcatcher() + if (isliving(mob)) + var/mob/living/M = mob + M.update_damage_hud() /client/proc/generate_clickcatcher() if(!void) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 771ebe4155..fac42b0787 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -285,149 +285,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Backpack:
    [backbag]
    " dat += "Uplink Spawn Location:
    [uplink_spawn_loc]
    " - if(pref_species.use_skintones) - - dat += "
    " - - if(HAIR in pref_species.species_traits) - - dat += "" - - if(EYECOLOR in pref_species.species_traits) - - dat += "" - - - if((MUTCOLORS in pref_species.species_traits) || (MUTCOLORS_PARTSONLY in pref_species.species_traits)) - - dat += "" - - if("tail_lizard" in pref_species.mutant_bodyparts) - dat += "" - - if("snout" in pref_species.mutant_bodyparts) - dat += "" - - if("horns" in pref_species.mutant_bodyparts) - dat += "" - - if("frills" in pref_species.mutant_bodyparts) - dat += "" - - if("spines" in pref_species.mutant_bodyparts) - dat += "" - - if("body_markings" in pref_species.mutant_bodyparts) - dat += "" - if("legs" in pref_species.mutant_bodyparts) - dat += "" - - if(CONFIG_GET(flag/join_with_mutant_humans)) - - if("tail_human" in pref_species.mutant_bodyparts) - dat += "" - - if("ears" in pref_species.mutant_bodyparts) - dat += "" - - if("wings" in pref_species.mutant_bodyparts && GLOB.r_wings_list.len >1) - dat += "" - dat += "
    " - - dat += "

    Skin Tone

    " - - dat += "[skin_tone]
    " - - dat += "
    " - - dat += "

    Hair Style

    " - - dat += "[hair_style]
    " - dat += "< >
    " - dat += "    Change
    " - - - dat += "
    " - - dat += "

    Facial Hair Style

    " - - dat += "[facial_hair_style]
    " - dat += "< >
    " - dat += "    Change
    " - - dat += "
    " - - dat += "

    Eye Color

    " - - dat += "    Change
    " - - dat += "
    " - - dat += "

    Mutant Color

    " - - dat += "    Change
    " - - dat += "
    " - - dat += "

    Tail

    " - - dat += "[features["tail_lizard"]]
    " - - dat += "
    " - - dat += "

    Snout

    " - - dat += "[features["snout"]]
    " - - dat += "
    " - - dat += "

    Horns

    " - - dat += "[features["horns"]]
    " - - dat += "
    " - - dat += "

    Frills

    " - - dat += "[features["frills"]]
    " - - dat += "
    " - - dat += "

    Spines

    " - - dat += "[features["spines"]]
    " - - dat += "
    " - - dat += "

    Body Markings

    " - - dat += "[features["body_markings"]]
    " - - dat += "
    " - - dat += "

    Legs

    " - - dat += "[features["legs"]]
    " - - dat += "
    " - - dat += "

    Tail

    " - - dat += "[features["tail_human"]]
    " - - dat += "
    " - - dat += "

    Ears

    " - - dat += "[features["ears"]]
    " - - dat += "
    " - - dat += "

    Wings

    " - - dat += "[features["wings"]]
    " - - dat += "
    " if (1) // Game Preferences @@ -1081,10 +938,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) age = max(min( round(text2num(new_age)), AGE_MAX),AGE_MIN) if("flavor_text") - var/msg = input(usr,"Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!","Flavor Text",html_decode(features["flavor_text"])) as message + var/msg = stripped_multiline_input(usr,"Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!","Flavor Text",html_decode(features["flavor_text"]), MAX_MESSAGE_LEN*2, TRUE) as message if(msg != null) - msg = sanitize(copytext(msg, 1, MAX_MESSAGE_LEN)) - msg = html_encode(msg) + msg = copytext(msg, 1, MAX_MESSAGE_LEN*2) features["flavor_text"] = msg if("metadata") diff --git a/code/modules/client/verbs/ooc.dm b/code/modules/client/verbs/ooc.dm index e2022729be..a0c1e2135a 100644 --- a/code/modules/client/verbs/ooc.dm +++ b/code/modules/client/verbs/ooc.dm @@ -259,9 +259,19 @@ GLOBAL_VAR_INIT(normal_ooc_colour, OOC_COLOR) set category = "OOC" set desc ="Ignore a player's messages on the OOC channel" - var/selection = input("Please, select a player!", "Ignore", null, null) as null|anything in sortKey(GLOB.clients) - if(!selection) + + var/see_ghost_names = isobserver(mob) + var/list/choices = list() + for(var/client/C in GLOB.clients) + if(isobserver(C.mob) && see_ghost_names) + choices["[C.mob]([C])"] = C + else + choices[C] = C + choices = sortList(choices) + var/selection = input("Please, select a player!", "Ignore", null, null) as null|anything in choices + if(!selection || !(selection in choices)) return + selection = choices[selection] if(selection == src) to_chat(src, "You can't ignore yourself.") return diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 58c568f8a6..9923e19803 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -106,8 +106,6 @@ /obj/item/clothing/Destroy() - if(isliving(loc)) - dropped(loc) if(pockets) qdel(pockets) pockets = null @@ -164,7 +162,7 @@ M.visible_message("[M]'s [name] starts to fall apart!", "Your [name] starts to fall apart!") /obj/item/clothing/proc/update_clothes_damaged_state(damaging = TRUE) - var/index = "\ref[initial(icon)]-[initial(icon_state)]" + var/index = "[REF(initial(icon))]-[initial(icon_state)]" var/static/list/damaged_clothes_icons = list() if(damaging) damaged_clothes = 1 diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index bbc0ada952..d540b5b963 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -86,17 +86,17 @@ ..() to_chat(user, "Alt-click to take a candy corn.") -/obj/item/clothing/head/fedora/det_hat/AltClick() - ..() - if(ismob(loc)) - var/mob/M = loc - if(candy_cooldown < world.time) - var/obj/item/reagent_containers/food/snacks/candy_corn/CC = new /obj/item/reagent_containers/food/snacks/candy_corn(src) - M.put_in_hands(CC) - to_chat(M, "You slip a candy corn from your hat.") - candy_cooldown = world.time+1200 - else - to_chat(M, "You just took a candy corn! You should wait a couple minutes, lest you burn through your stash.") +/obj/item/clothing/head/fedora/det_hat/AltClick(mob/user) + if(user.canUseTopic(src, be_close=TRUE)) + ..() + if(loc == user) + if(candy_cooldown < world.time) + var/obj/item/reagent_containers/food/snacks/candy_corn/CC = new /obj/item/reagent_containers/food/snacks/candy_corn(src) + user.put_in_hands(CC) + to_chat(user, "You slip a candy corn from your hat.") + candy_cooldown = world.time+1200 + else + to_chat(user, "You just took a candy corn! You should wait a couple minutes, lest you burn through your stash.") //Mime diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 8422b5b76f..38c7e2d118 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -78,6 +78,41 @@ message = pick("Oink!","Squeeeeeeee!","Oink Oink!") return message +///frog mask - reeee!! +obj/item/clothing/mask/frog + name = "frog mask" + desc = "An ancient mask carved in the shape of a frog.
    Sanity is like gravity, all it needs is a push." + icon_state = "frog" + item_state = "frog" + flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR + w_class = WEIGHT_CLASS_SMALL + var/voicechange = TRUE + +/obj/item/clothing/mask/frog/attack_self(mob/user) + voicechange = !voicechange + to_chat(user, "You turn the voice box [voicechange ? "on" : "off"]!") + +/obj/item/clothing/mask/frog/speechModification(message) //whenever you speak + if(voicechange) + if(prob(5)) //sometimes, the angry spirit finds others words to speak. + message = pick("HUUUUU!!","SMOOOOOKIN'!!","Hello my baby, hello my honey, hello my rag-time gal.", "Feels bad, man.", "GIT DIS GUY OFF ME!!" ,"SOMEBODY STOP ME!!", "NORMIES, GET OUT!!") + else + message = pick("Ree!!", "Reee!!","REEE!!","REEEEE!!") //but its usually just angry gibberish, + return message + +obj/item/clothing/mask/frog/cursed + flags_1 = NODROP_1 //reee!! + +/obj/item/clothing/mask/frog/cursed/attack_self(mob/user) + return //no voicebox to alter. + +/obj/item/clothing/mask/frog/cursed/equipped(mob/user, slot) + var/mob/living/carbon/C = user + if(C.wear_mask == src) + to_chat(user, "[src] was cursed! Ree!!") + return ..() + + /obj/item/clothing/mask/cowmask name = "Cowface" desc = "It looks like a mask, but closer inspection reveals it's melded onto this persons face!" @@ -214,4 +249,4 @@ desc = "A burlap sack with eyeholes." icon_state = "scarecrow_sack" item_state = "scarecrow_sack" - flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR \ No newline at end of file + flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index 0552c1b4b3..e16dd2a782 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -78,20 +78,38 @@ suit_store = /obj/item/gun/energy/laser/bluetag /datum/outfit/pirate - name = "Pirate" + name = "Space Pirate" uniform = /obj/item/clothing/under/pirate shoes = /obj/item/clothing/shoes/sneakers/brown + suit = /obj/item/clothing/suit/pirate head = /obj/item/clothing/head/bandana glasses = /obj/item/clothing/glasses/eyepatch - r_hand = /obj/item/melee/transforming/energy/sword/pirate /datum/outfit/pirate/space - name = "Space Pirate" - suit = /obj/item/clothing/suit/space/pirate + head = /obj/item/clothing/head/helmet/space/pirate/bandana + mask = /obj/item/clothing/mask/breath + suit_store = /obj/item/tank/internals/oxygen + ears = /obj/item/device/radio/headset/syndicate + id = /obj/item/card/id + +/datum/outfit/pirate/space/captain head = /obj/item/clothing/head/helmet/space/pirate +/datum/outfit/pirate/post_equip(mob/living/carbon/human/H) + H.faction |= "pirate" + + var/obj/item/device/radio/R = H.ears + if(R) + R.set_frequency(GLOB.SYND_FREQ) + R.freqlock = 1 + + var/obj/item/card/id/W = H.wear_id + if(W) + W.registered_name = H.real_name + W.update_label(H.real_name) + /datum/outfit/tunnel_clown name = "Tunnel Clown" diff --git a/code/modules/clothing/spacesuits/flightsuit.dm b/code/modules/clothing/spacesuits/flightsuit.dm index 42c23621ec..30afa31f60 100644 --- a/code/modules/clothing/spacesuits/flightsuit.dm +++ b/code/modules/clothing/spacesuits/flightsuit.dm @@ -76,8 +76,8 @@ //This is probably too much code just for EMP damage. var/emp_damage = 0 //One hit should make it hard to control, continuous hits will cripple it and then simply shut it off/make it crash. Direct hits count more. - var/emp_strong_damage = 2 - var/emp_weak_damage = 1.1 + var/emp_strong_damage = 4 + var/emp_weak_damage = 2.5 var/emp_heal_amount = 0.06 //How much emp damage to heal per process. var/emp_disable_threshold = 3 //3 weak ion, 2 strong ion hits. var/emp_disabled = FALSE @@ -757,7 +757,6 @@ resistance_flags = FIRE_PROOF | ACID_PROOF helmettype = /obj/item/clothing/head/helmet/space/hardsuit/flightsuit jetpack = null - allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals, /obj/item/gun, /obj/item/reagent_containers/spray/pepper, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs) actions_types = list(/datum/action/item_action/flightsuit/toggle_helmet, /datum/action/item_action/flightsuit/toggle_boots, /datum/action/item_action/flightsuit/toggle_flightpack, /datum/action/item_action/flightsuit/lock_suit) armor = list(melee = 20, bullet = 20, laser = 20, energy = 10, bomb = 30, bio = 100, rad = 75, fire = 100, acid = 100) max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT @@ -772,6 +771,10 @@ var/flight = FALSE var/maint_panel = FALSE +/obj/item/clothing/suit/space/hardsuit/flightsuit/Initialize() + . = ..() + allowed = GLOB.advanced_hardsuit_allowed + /obj/item/clothing/suit/space/hardsuit/flightsuit/full/Initialize() makepack() makeshoes() @@ -1077,7 +1080,7 @@ armor = list(melee = 20, bullet = 20, laser = 20, energy = 10, bomb = 30, bio = 100, rad = 75, fire = 100, acid = 100) max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT var/list/datahuds = list(DATA_HUD_SECURITY_ADVANCED, DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_DIAGNOSTIC) - var/zoom_range = 14 + var/zoom_range = 12 var/zoom = FALSE actions_types = list(/datum/action/item_action/toggle_helmet_light, /datum/action/item_action/flightpack/zoom) diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 75a63352e2..c371973506 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -444,7 +444,6 @@ icon_state = "hardsuit0-rd" item_color = "rd" resistance_flags = ACID_PROOF | FIRE_PROOF - var/onboard_hud_enabled = 0 //stops conflicts with another diag HUD max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 100, bio = 100, rad = 60, fire = 60, acid = 80) var/obj/machinery/doppler_array/integrated/bomb_radar @@ -457,16 +456,13 @@ /obj/item/clothing/head/helmet/space/hardsuit/rd/equipped(mob/living/carbon/human/user, slot) ..() - if(user.glasses && istype(user.glasses, /obj/item/clothing/glasses/hud/diagnostic)) - to_chat(user, ("Your [user.glasses] prevents you using [src]'s diagnostic visor HUD.")) - else - onboard_hud_enabled = 1 + if (slot == slot_head) var/datum/atom_hud/DHUD = GLOB.huds[DATA_HUD_DIAGNOSTIC] DHUD.add_hud_to(user) /obj/item/clothing/head/helmet/space/hardsuit/rd/dropped(mob/living/carbon/human/user) ..() - if(onboard_hud_enabled && !(user.glasses && istype(user.glasses, /obj/item/clothing/glasses/hud/diagnostic))) + if (user.head == src) var/datum/atom_hud/DHUD = GLOB.huds[DATA_HUD_DIAGNOSTIC] DHUD.remove_hud_from(user) @@ -499,10 +495,13 @@ name = "security hardsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor." item_state = "sec_hardsuit" - allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals, /obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs) armor = list(melee = 30, bullet = 15, laser = 30, energy = 10, bomb = 10, bio = 100, rad = 50, fire = 75, acid = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security +/obj/item/clothing/suit/space/hardsuit/security/Initialize() + . = ..() + allowed = GLOB.security_hardsuit_allowed + //Head of Security hardsuit /obj/item/clothing/head/helmet/space/hardsuit/security/hos name = "head of security's hardsuit helmet" @@ -541,13 +540,16 @@ desc = "A MK.II SWAT suit with streamlined joints and armor made out of superior materials, insulated against intense heat. The most advanced tactical armor available Usually reserved for heavy hitter corporate security, this one has a regal finish in Nanotrasen company colors. Better not let the assistants get a hold of it." icon_state = "caparmor" item_state = "capspacesuit" - allowed = list(/obj/item/tank/internals, /obj/item/device/flashlight, /obj/item/gun/energy, /obj/item/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs) armor = list(melee = 40, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50, fire = 100, acid = 100) resistance_flags = FIRE_PROOF | ACID_PROOF heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT //this needed to be added a long fucking time ago helmettype = /obj/item/clothing/head/helmet/space/hardsuit/captain +/obj/item/clothing/suit/space/hardsuit/captain/Initialize() + . = ..() + allowed = GLOB.security_hardsuit_allowed + //Clown /obj/item/clothing/head/helmet/space/hardsuit/clown name = "cosmohonk hardsuit helmet" @@ -612,7 +614,7 @@ desc = "A hardsuit with built in energy shielding. Will rapidly recharge when not under fire." icon_state = "hardsuit-hos" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/hos - allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals, /obj/item/gun, /obj/item/reagent_containers/spray/pepper, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs) + allowed = null armor = list(melee = 30, bullet = 15, laser = 30, energy = 10, bomb = 10, bio = 100, rad = 50, fire = 100, acid = 100) resistance_flags = FIRE_PROOF | ACID_PROOF var/current_charges = 3 @@ -623,6 +625,11 @@ var/shield_state = "shield-old" var/shield_on = "shield-old" +/obj/item/clothing/suit/space/hardsuit/shielded/Initialize() + . = ..() + if(!allowed) + allowed = GLOB.advanced_hardsuit_allowed + /obj/item/clothing/suit/space/hardsuit/shielded/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) recharge_cooldown = world.time + recharge_delay if(current_charges > 0) diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 87f12aa679..e88b33e993 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -137,10 +137,16 @@ Contains: item_state = "pirate" armor = list(melee = 30, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30, fire = 60, acid = 75) flags_1 = STOPSPRESSUREDMAGE_1 + flags_inv = HIDEHAIR strip_delay = 40 equip_delay_other = 20 flags_cover = HEADCOVERSEYES +/obj/item/clothing/head/helmet/space/pirate/bandana + name = "pirate bandana" + icon_state = "bandana" + item_state = "bandana" + /obj/item/clothing/suit/space/pirate name = "pirate coat" desc = "Yarr." diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index a3b68dc151..a56afb94ae 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -3,7 +3,7 @@ /obj/item/clothing/suit/space/eva/plasmaman name = "EVA plasma envirosuit" - desc = "A special plasma containment suit designed to be space-worthy, as well as worn over other clothing. Like it's smaller counterpart, it can automatically extinguish the wearer in a crisis, and holds twice as many charges." + desc = "A special plasma containment suit designed to be space-worthy, as well as worn over other clothing. Like its smaller counterpart, it can automatically extinguish the wearer in a crisis, and holds twice as many charges." allowed = list(/obj/item/gun, /obj/item/ammo_casing, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword, /obj/item/restraints/handcuffs, /obj/item/tank) armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 0, fire = 100, acid = 75) resistance_flags = FIRE_PROOF diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 5fa3a5fa35..b1fcfb1e89 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -1,5 +1,5 @@ /obj/item/clothing/suit/armor - allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/device/flashlight/seclite, /obj/item/melee/classic_baton/telescopic, /obj/item/kitchen/knife/combat, /obj/item/tank/internals/emergency_oxygen) + allowed = null body_parts_covered = CHEST cold_protection = CHEST|GROIN min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT @@ -11,6 +11,11 @@ resistance_flags = 0 armor = list(melee = 30, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 50, acid = 50) +/obj/item/clothing/suit/armor/Initialize() + . = ..() + if(!allowed) + allowed = GLOB.security_vest_allowed + /obj/item/clothing/suit/armor/vest name = "armor vest" desc = "A slim Type I armored vest that provides decent protection against most types of damage." @@ -153,10 +158,12 @@ name = "detective's armor vest" desc = "An armored vest with a detective's badge on it." icon_state = "detective-armor" - allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/reagent_containers/spray/pepper, /obj/item/device/flashlight, /obj/item/gun/energy, /obj/item/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/device/detective_scanner, /obj/item/device/taperecorder, /obj/item/melee/classic_baton) resistance_flags = FLAMMABLE dog_fashion = null +/obj/item/clothing/suit/armor/vest/det_suit/Initialize() + . = ..() + allowed = GLOB.detective_vest_allowed //Reactive armor /obj/item/clothing/suit/armor/reactive diff --git a/code/modules/clothing/suits/cloaks.dm b/code/modules/clothing/suits/cloaks.dm index 71c86ca5fb..537dd86639 100644 --- a/code/modules/clothing/suits/cloaks.dm +++ b/code/modules/clothing/suits/cloaks.dm @@ -24,7 +24,7 @@ /obj/item/clothing/neck/cloak/hos name = "head of security's cloak" - desc = "Worn by Securistan, ruling the station with an iron fist. It's slightly armored." + desc = "Worn by Securistan, ruling the station with an iron fist." icon_state = "hoscloak" /obj/item/clothing/neck/cloak/qm @@ -33,17 +33,17 @@ /obj/item/clothing/neck/cloak/cmo name = "chief medical officer's cloak" - desc = "Worn by Meditopia, the valiant men and women keeping pestilence at bay. It's slightly shielded from contaminants." + desc = "Worn by Meditopia, the valiant men and women keeping pestilence at bay." icon_state = "cmocloak" /obj/item/clothing/neck/cloak/ce name = "chief engineer's cloak" - desc = "Worn by Engitopia, wielders of an unlimited power. It's slightly shielded against radiation." + desc = "Worn by Engitopia, wielders of an unlimited power." icon_state = "cecloak" /obj/item/clothing/neck/cloak/rd name = "research director's cloak" - desc = "Worn by Sciencia, thaumaturges and researchers of the universe. It's slightly shielded from contaminants." + desc = "Worn by Sciencia, thaumaturges and researchers of the universe." icon_state = "rdcloak" /obj/item/clothing/neck/cloak/cap diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index 5211dd7938..7c45bb6192 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -94,11 +94,14 @@ item_state = "det_suit" blood_overlay_type = "coat" body_parts_covered = CHEST|GROIN|LEGS|ARMS - allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/reagent_containers/spray/pepper, /obj/item/device/flashlight, /obj/item/gun/energy, /obj/item/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/device/detective_scanner, /obj/item/device/taperecorder, /obj/item/melee/classic_baton) armor = list(melee = 25, bullet = 10, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 45) cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS +/obj/item/clothing/suit/det_suit/Initialize() + . = ..() + allowed = GLOB.detective_vest_allowed + /obj/item/clothing/suit/det_suit/grey name = "noir trenchcoat" desc = "A hard-boiled private investigator's grey trenchcoat." diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index e50cb8ca6b..1f8c37fe6d 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -80,6 +80,12 @@ item_state = "overalls" body_parts_covered = CHEST|GROIN|LEGS +/obj/item/clothing/suit/apron/purple_bartender + name = "purple bartender apron" + desc = "A fancy purple apron for a stylish person." + icon_state = "purplebartenderapron" + item_state = "purplebartenderapron" + body_parts_covered = CHEST|GROIN|LEGS /obj/item/clothing/suit/syndicatefake name = "black and red space suit replica" @@ -134,9 +140,12 @@ item_state = "owl_wings" togglename = "wings" body_parts_covered = ARMS|CHEST - allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/device/flashlight/seclite, /obj/item/melee/classic_baton/telescopic) actions_types = list(/datum/action/item_action/toggle_wings) +/obj/item/clothing/suit/toggle/owlwings/Initialize() + . = ..() + allowed = GLOB.security_vest_allowed + /obj/item/clothing/suit/toggle/owlwings/griffinwings name = "griffon cloak" desc = "A plush white cloak made of synthetic feathers. Soft to the touch, stylish, and a 2 meter wing span that will drive your captives mad." @@ -477,9 +486,12 @@ icon_state = "coatcaptain" item_state = "coatcaptain" armor = list(melee = 25, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 0, acid = 50) - allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/ballistic, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/melee/classic_baton/telescopic) hoodtype = /obj/item/clothing/head/hooded/winterhood/captain +/obj/item/clothing/suit/hooded/wintercoat/captain/Initialize() + . = ..() + allowed = GLOB.security_wintercoat_allowed + /obj/item/clothing/head/hooded/winterhood/captain icon_state = "winterhood_captain" @@ -488,9 +500,12 @@ icon_state = "coatsecurity" item_state = "coatsecurity" armor = list(melee = 25, bullet = 15, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 0, acid = 45) - allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/ballistic, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/device/flashlight, /obj/item/melee/classic_baton/telescopic) hoodtype = /obj/item/clothing/head/hooded/winterhood/security +/obj/item/clothing/suit/hooded/wintercoat/security/Initialize() + . = ..() + allowed = GLOB.security_wintercoat_allowed + /obj/item/clothing/head/hooded/winterhood/security icon_state = "winterhood_security" @@ -498,7 +513,7 @@ name = "medical winter coat" icon_state = "coatmedical" item_state = "coatmedical" - allowed = list(/obj/item/device/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/device/healthanalyzer, /obj/item/device/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic) + allowed = list(/obj/item/device/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/device/healthanalyzer, /obj/item/device/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0, fire = 0, acid = 45) hoodtype = /obj/item/clothing/head/hooded/winterhood/medical @@ -509,7 +524,7 @@ name = "science winter coat" icon_state = "coatscience" item_state = "coatscience" - allowed = list(/obj/item/device/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/device/healthanalyzer, /obj/item/device/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic) + allowed = list(/obj/item/device/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/device/healthanalyzer, /obj/item/device/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0, fire = 0, acid = 0) hoodtype = /obj/item/clothing/head/hooded/winterhood/science @@ -521,7 +536,7 @@ icon_state = "coatengineer" item_state = "coatengineer" armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 20, fire = 30, acid = 45) - allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/device/t_scanner, /obj/item/construction/rcd, /obj/item/pipe_dispenser) + allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/device/t_scanner, /obj/item/construction/rcd, /obj/item/pipe_dispenser, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter) hoodtype = /obj/item/clothing/head/hooded/winterhood/engineering /obj/item/clothing/head/hooded/winterhood/engineering @@ -540,7 +555,7 @@ name = "hydroponics winter coat" icon_state = "coathydro" item_state = "coathydro" - allowed = list(/obj/item/reagent_containers/spray/plantbgone, /obj/item/device/plant_analyzer, /obj/item/seeds, /obj/item/reagent_containers/glass/bottle, /obj/item/cultivator, /obj/item/reagent_containers/spray/pestspray, /obj/item/hatchet, /obj/item/storage/bag/plants) + allowed = list(/obj/item/reagent_containers/spray/plantbgone, /obj/item/device/plant_analyzer, /obj/item/seeds, /obj/item/reagent_containers/glass/bottle, /obj/item/cultivator, /obj/item/reagent_containers/spray/pestspray, /obj/item/hatchet, /obj/item/storage/bag/plants, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter) hoodtype = /obj/item/clothing/head/hooded/winterhood/hydro /obj/item/clothing/head/hooded/winterhood/hydro diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm index 20bdd96e1a..13aed37142 100644 --- a/code/modules/clothing/under/accessories.dm +++ b/code/modules/clothing/under/accessories.dm @@ -64,10 +64,11 @@ /obj/item/clothing/accessory/proc/on_uniform_dropped(obj/item/clothing/under/U, user) return -/obj/item/clothing/accessory/AltClick() - if(initial(above_suit)) - above_suit = !above_suit - to_chat(usr, "\The [src] will be worn [above_suit ? "above" : "below"] your suit.") +/obj/item/clothing/accessory/AltClick(mob/user) + if(user.canUseTopic(src, be_close=TRUE)) + if(initial(above_suit)) + above_suit = !above_suit + to_chat(user, "[src] will be worn [above_suit ? "above" : "below"] your suit.") /obj/item/clothing/accessory/examine(mob/user) ..() diff --git a/code/modules/clothing/under/jobs/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm index 5210034af9..f7a1cd480d 100644 --- a/code/modules/clothing/under/jobs/civilian.dm +++ b/code/modules/clothing/under/jobs/civilian.dm @@ -8,6 +8,14 @@ item_color = "barman" alt_covers_chest = 1 +/obj/item/clothing/under/rank/bartender/purple + desc = "It looks like it has lots of flair!" + name = "purple bartender's uniform" + icon_state = "purplebartender" + item_state = "purplebartender" + item_color = "purplebartender" + alt_covers_chest = 1 + /obj/item/clothing/under/rank/captain //Alright, technically not a 'civilian' but its better then giving a .dm file for a single define. desc = "It's a blue jumpsuit with some gold markings denoting the rank of \"Captain\"." name = "captain's jumpsuit" diff --git a/code/modules/crafting/craft.dm b/code/modules/crafting/craft.dm index d25408efa0..7ff0bf78be 100644 --- a/code/modules/crafting/craft.dm +++ b/code/modules/crafting/craft.dm @@ -381,7 +381,7 @@ /datum/personal_crafting/proc/build_recipe_data(datum/crafting_recipe/R) var/list/data = list() data["name"] = R.name - data["ref"] = "\ref[R]" + data["ref"] = "[REF(R)]" var/req_text = "" var/tool_text = "" var/catalyst_text = "" diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm index 65a78d0ef0..191c2b442b 100644 --- a/code/modules/crafting/recipes.dm +++ b/code/modules/crafting/recipes.dm @@ -179,6 +179,16 @@ time = 40 category = CAT_ROBOT +/datum/crafting_recipe/honkbot + name = "Honkbot" + result = /mob/living/simple_animal/bot/honkbot + reqs = list(/obj/item/storage/box/clown = 1, + /obj/item/bodypart/r_arm/robot = 1, + /obj/item/device/assembly/prox_sensor = 1, + /obj/item/bikehorn/ = 1) + time = 40 + category = CAT_ROBOT + /datum/crafting_recipe/improvised_pneumatic_cannon //Pretty easy to obtain but name = "Pneumatic Cannon" result = /obj/item/pneumatic_cannon/ghetto diff --git a/code/modules/detectivework/scanner.dm b/code/modules/detectivework/scanner.dm index 2e7874347b..e94c40a0c7 100644 --- a/code/modules/detectivework/scanner.dm +++ b/code/modules/detectivework/scanner.dm @@ -168,7 +168,7 @@ to_chat(M, msg) log += "  [msg]" else - CRASH("[src] \ref[src] is adding a log when it was never put in scanning mode!") + CRASH("[src] [REF(src)] is adding a log when it was never put in scanning mode!") /proc/get_timestamp() return time2text(world.time + 432000, ":ss") diff --git a/code/modules/error_handler/error_viewer.dm b/code/modules/error_handler/error_viewer.dm index b19153956f..7d10488c68 100644 --- a/code/modules/error_handler/error_viewer.dm +++ b/code/modules/error_handler/error_viewer.dm @@ -66,12 +66,12 @@ GLOBAL_DATUM(error_cache, /datum/error_viewer/error_cache) linktext = name if (istype(back_to)) - back_to_param = ";viewruntime_backto=\ref[back_to]" + back_to_param = ";viewruntime_backto=[REF(back_to)]" if (linear) back_to_param += ";viewruntime_linear=1" - return "[linktext]" + return "[linktext]" /datum/error_viewer/error_cache var/list/errors = list() @@ -172,7 +172,7 @@ GLOBAL_DATUM(error_cache, /datum/error_viewer/error_cache) desc += "[html_encode(line)]
    " if (usr) - usr_ref = "\ref[usr]" + usr_ref = "[REF(usr)]" usr_loc = get_turf(usr) /datum/error_viewer/error_entry/show_to(user, datum/error_viewer/back_to, linear) @@ -186,7 +186,7 @@ GLOBAL_DATUM(error_cache, /datum/error_viewer/error_cache) html += " PP" html += " Follow" if (istype(usr_loc)) - html += "
    usr.loc: VV" + html += "
    usr.loc: VV" html += " JMP" browse_to(user, html) diff --git a/code/modules/events/_event.dm b/code/modules/events/_event.dm index 3f42b3dfcf..a7957ede48 100644 --- a/code/modules/events/_event.dm +++ b/code/modules/events/_event.dm @@ -60,7 +60,7 @@ triggering = TRUE if (alertadmins) - message_admins("Random Event triggering in 10 seconds: [name] ([typepath]) (CANCEL)") + message_admins("Random Event triggering in 10 seconds: [name] ([typepath]) (CANCEL)") sleep(100) var/gamemode = SSticker.mode.config_tag var/players_amt = get_active_player_count(alive_check = TRUE, afk_check = TRUE, human_check = TRUE) @@ -108,11 +108,12 @@ var/datum/round_event_control/control var/startWhen = 0 //When in the lifetime to call start(). - var/announceWhen = 0 //When in the lifetime to call announce(). Set an event's announceWhen to >0 if there is an announcement. + var/announceWhen = 0 //When in the lifetime to call announce(). Set an event's announceWhen to -1 if announcement should not be shown. var/endWhen = 0 //When in the lifetime the event should end. var/activeFor = 0 //How long the event has existed. You don't need to change this. var/current_players = 0 //Amount of of alive, non-AFK human players on server at the time of event start + var/fakeable = TRUE //Can be faked by fake news event. //Called first before processing. //Allows you to setup your event, such as randomly @@ -133,7 +134,7 @@ //Called when the tick is equal to the announceWhen variable. //Allows you to announce before starting or vice versa. //Only called once. -/datum/round_event/proc/announce() +/datum/round_event/proc/announce(fake) return //Called on or after the tick counter is equal to startWhen. @@ -167,7 +168,7 @@ if(activeFor == announceWhen) processing = FALSE - announce() + announce(FALSE) processing = TRUE if(startWhen < activeFor && activeFor < endWhen) diff --git a/code/modules/events/abductor.dm b/code/modules/events/abductor.dm index 6fee1e5c1a..9bba04a68d 100755 --- a/code/modules/events/abductor.dm +++ b/code/modules/events/abductor.dm @@ -9,6 +9,7 @@ /datum/round_event/ghost_role/abductor minimum_required = 2 role_name = "abductor team" + fakeable = FALSE //Nothing to fake here /datum/round_event/ghost_role/abductor/spawn_role() var/list/mob/dead/observer/candidates = get_candidates("abductor", null, ROLE_ABDUCTOR) diff --git a/code/modules/events/alien_infestation.dm b/code/modules/events/alien_infestation.dm index 545b72a1bc..1a8a174bff 100644 --- a/code/modules/events/alien_infestation.dm +++ b/code/modules/events/alien_infestation.dm @@ -30,8 +30,8 @@ control.occurrences-- return ..() -/datum/round_event/ghost_role/alien_infestation/announce() - if(successSpawn) +/datum/round_event/ghost_role/alien_infestation/announce(fake) + if(successSpawn || fake) priority_announce("Unidentified lifesigns detected coming aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", 'sound/ai/aliens.ogg') diff --git a/code/modules/events/anomaly.dm b/code/modules/events/anomaly.dm index 6798ad0b4c..c866dcca0f 100644 --- a/code/modules/events/anomaly.dm +++ b/code/modules/events/anomaly.dm @@ -1,33 +1,33 @@ -/datum/round_event_control/anomaly - name = "Anomaly: Energetic Flux" - typepath = /datum/round_event/anomaly - - min_players = 1 - max_occurrences = 0 //This one probably shouldn't occur! It'd work, but it wouldn't be very fun. - weight = 15 - -/datum/round_event/anomaly - var/area/impact_area - var/obj/effect/anomaly/newAnomaly - announceWhen = 1 - - -/datum/round_event/anomaly/setup(loop=0) - var/safety_loop = loop + 1 - if(safety_loop > 50) - kill() - end() - impact_area = findEventArea() - if(!impact_area) - setup(safety_loop) - var/list/turf_test = get_area_turfs(impact_area) - if(!turf_test.len) - setup(safety_loop) - -/datum/round_event/anomaly/announce() - priority_announce("Localized energetic flux wave detected on long range scanners. Expected location of impact: [impact_area.name].", "Anomaly Alert") - -/datum/round_event/anomaly/start() - var/turf/T = safepick(get_area_turfs(impact_area)) - if(T) - newAnomaly = new /obj/effect/anomaly/flux(T) +/datum/round_event_control/anomaly + name = "Anomaly: Energetic Flux" + typepath = /datum/round_event/anomaly + + min_players = 1 + max_occurrences = 0 //This one probably shouldn't occur! It'd work, but it wouldn't be very fun. + weight = 15 + +/datum/round_event/anomaly + var/area/impact_area + var/obj/effect/anomaly/newAnomaly + announceWhen = 1 + + +/datum/round_event/anomaly/setup(loop=0) + var/safety_loop = loop + 1 + if(safety_loop > 50) + kill() + end() + impact_area = findEventArea() + if(!impact_area) + setup(safety_loop) + var/list/turf_test = get_area_turfs(impact_area) + if(!turf_test.len) + setup(safety_loop) + +/datum/round_event/anomaly/announce(fake) + priority_announce("Localized energetic flux wave detected on long range scanners. Expected location of impact: [impact_area.name].", "Anomaly Alert") + +/datum/round_event/anomaly/start() + var/turf/T = safepick(get_area_turfs(impact_area)) + if(T) + newAnomaly = new /obj/effect/anomaly/flux(T) diff --git a/code/modules/events/anomaly_bluespace.dm b/code/modules/events/anomaly_bluespace.dm index 177ca531c8..d3f829011e 100644 --- a/code/modules/events/anomaly_bluespace.dm +++ b/code/modules/events/anomaly_bluespace.dm @@ -1,19 +1,19 @@ -/datum/round_event_control/anomaly/anomaly_bluespace - name = "Anomaly: Bluespace" - typepath = /datum/round_event/anomaly/anomaly_bluespace - max_occurrences = 1 - weight = 5 - -/datum/round_event/anomaly/anomaly_bluespace - startWhen = 3 - announceWhen = 10 - - -/datum/round_event/anomaly/anomaly_bluespace/announce() - priority_announce("Unstable bluespace anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert") - - -/datum/round_event/anomaly/anomaly_bluespace/start() - var/turf/T = safepick(get_area_turfs(impact_area)) - if(T) - newAnomaly = new /obj/effect/anomaly/bluespace(T) +/datum/round_event_control/anomaly/anomaly_bluespace + name = "Anomaly: Bluespace" + typepath = /datum/round_event/anomaly/anomaly_bluespace + max_occurrences = 1 + weight = 5 + +/datum/round_event/anomaly/anomaly_bluespace + startWhen = 3 + announceWhen = 10 + + +/datum/round_event/anomaly/anomaly_bluespace/announce(fake) + priority_announce("Unstable bluespace anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert") + + +/datum/round_event/anomaly/anomaly_bluespace/start() + var/turf/T = safepick(get_area_turfs(impact_area)) + if(T) + newAnomaly = new /obj/effect/anomaly/bluespace(T) diff --git a/code/modules/events/anomaly_flux.dm b/code/modules/events/anomaly_flux.dm index 00f6c78b45..30ae7e47af 100644 --- a/code/modules/events/anomaly_flux.dm +++ b/code/modules/events/anomaly_flux.dm @@ -1,20 +1,20 @@ -/datum/round_event_control/anomaly/anomaly_flux - name = "Anomaly: Hyper-Energetic Flux" - typepath = /datum/round_event/anomaly/anomaly_flux - - min_players = 10 - max_occurrences = 5 - weight = 20 - -/datum/round_event/anomaly/anomaly_flux - startWhen = 10 - announceWhen = 3 - -/datum/round_event/anomaly/anomaly_flux/announce() - priority_announce("Localized hyper-energetic flux wave detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert") - - -/datum/round_event/anomaly/anomaly_flux/start() - var/turf/T = safepick(get_area_turfs(impact_area)) - if(T) - newAnomaly = new /obj/effect/anomaly/flux(T) +/datum/round_event_control/anomaly/anomaly_flux + name = "Anomaly: Hyper-Energetic Flux" + typepath = /datum/round_event/anomaly/anomaly_flux + + min_players = 10 + max_occurrences = 5 + weight = 20 + +/datum/round_event/anomaly/anomaly_flux + startWhen = 10 + announceWhen = 3 + +/datum/round_event/anomaly/anomaly_flux/announce(fake) + priority_announce("Localized hyper-energetic flux wave detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert") + + +/datum/round_event/anomaly/anomaly_flux/start() + var/turf/T = safepick(get_area_turfs(impact_area)) + if(T) + newAnomaly = new /obj/effect/anomaly/flux(T) diff --git a/code/modules/events/anomaly_grav.dm b/code/modules/events/anomaly_grav.dm index d29c8c5607..6c4fa46b6c 100644 --- a/code/modules/events/anomaly_grav.dm +++ b/code/modules/events/anomaly_grav.dm @@ -1,17 +1,17 @@ -/datum/round_event_control/anomaly/anomaly_grav - name = "Anomaly: Gravitational" - typepath = /datum/round_event/anomaly/anomaly_grav - max_occurrences = 5 - weight = 20 - -/datum/round_event/anomaly/anomaly_grav - startWhen = 3 - announceWhen = 20 - -/datum/round_event/anomaly/anomaly_grav/announce() - priority_announce("Gravitational anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert") - -/datum/round_event/anomaly/anomaly_grav/start() - var/turf/T = safepick(get_area_turfs(impact_area)) - if(T) - newAnomaly = new /obj/effect/anomaly/grav(T) +/datum/round_event_control/anomaly/anomaly_grav + name = "Anomaly: Gravitational" + typepath = /datum/round_event/anomaly/anomaly_grav + max_occurrences = 5 + weight = 20 + +/datum/round_event/anomaly/anomaly_grav + startWhen = 3 + announceWhen = 20 + +/datum/round_event/anomaly/anomaly_grav/announce(fake) + priority_announce("Gravitational anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert") + +/datum/round_event/anomaly/anomaly_grav/start() + var/turf/T = safepick(get_area_turfs(impact_area)) + if(T) + newAnomaly = new /obj/effect/anomaly/grav(T) diff --git a/code/modules/events/anomaly_pyro.dm b/code/modules/events/anomaly_pyro.dm index ae21de1035..85da9ca6d4 100644 --- a/code/modules/events/anomaly_pyro.dm +++ b/code/modules/events/anomaly_pyro.dm @@ -8,7 +8,7 @@ startWhen = 3 announceWhen = 10 -/datum/round_event/anomaly/anomaly_pyro/announce() +/datum/round_event/anomaly/anomaly_pyro/announce(fake) priority_announce("Pyroclastic anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert") /datum/round_event/anomaly/anomaly_pyro/start() diff --git a/code/modules/events/anomaly_vortex.dm b/code/modules/events/anomaly_vortex.dm index 01bf8fa039..9fb75af002 100644 --- a/code/modules/events/anomaly_vortex.dm +++ b/code/modules/events/anomaly_vortex.dm @@ -1,19 +1,19 @@ -/datum/round_event_control/anomaly/anomaly_vortex - name = "Anomaly: Vortex" - typepath = /datum/round_event/anomaly/anomaly_vortex - - min_players = 20 - max_occurrences = 2 - weight = 5 - -/datum/round_event/anomaly/anomaly_vortex - startWhen = 10 - announceWhen = 3 - -/datum/round_event/anomaly/anomaly_vortex/announce() - priority_announce("Localized high-intensity vortex anomaly detected on long range scanners. Expected location: [impact_area.name]", "Anomaly Alert") - -/datum/round_event/anomaly/anomaly_vortex/start() - var/turf/T = safepick(get_area_turfs(impact_area)) - if(T) - newAnomaly = new /obj/effect/anomaly/bhole(T) +/datum/round_event_control/anomaly/anomaly_vortex + name = "Anomaly: Vortex" + typepath = /datum/round_event/anomaly/anomaly_vortex + + min_players = 20 + max_occurrences = 2 + weight = 5 + +/datum/round_event/anomaly/anomaly_vortex + startWhen = 10 + announceWhen = 3 + +/datum/round_event/anomaly/anomaly_vortex/announce(fake) + priority_announce("Localized high-intensity vortex anomaly detected on long range scanners. Expected location: [impact_area.name]", "Anomaly Alert") + +/datum/round_event/anomaly/anomaly_vortex/start() + var/turf/T = safepick(get_area_turfs(impact_area)) + if(T) + newAnomaly = new /obj/effect/anomaly/bhole(T) diff --git a/code/modules/events/blob.dm b/code/modules/events/blob.dm index 49eb46194d..95f72d15b3 100644 --- a/code/modules/events/blob.dm +++ b/code/modules/events/blob.dm @@ -12,7 +12,7 @@ announceWhen = -1 role_name = "blob overmind" -/datum/round_event/ghost_role/blob/announce() +/datum/round_event/ghost_role/blob/announce(fake) priority_announce("Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", 'sound/ai/outbreak5.ogg') /datum/round_event/ghost_role/blob/spawn_role() diff --git a/code/modules/events/brand_intelligence.dm b/code/modules/events/brand_intelligence.dm index 5f5033bb6c..e898729f2d 100644 --- a/code/modules/events/brand_intelligence.dm +++ b/code/modules/events/brand_intelligence.dm @@ -21,9 +21,14 @@ "You don't want to buy anything? Yeah, well, I didn't want to buy your mom either.") -/datum/round_event/brand_intelligence/announce() - priority_announce("Rampant brand intelligence has been detected aboard [station_name()]. Please stand by. The origin is believed to be \a [originMachine.name].", "Machine Learning Alert") - +/datum/round_event/brand_intelligence/announce(fake) + var/source = "unknown machine" + if(fake) + var/obj/machinery/vending/cola/example = /obj/machinery/vending/cola + source = initial(example.name) + else if(originMachine) + source = originMachine.name + priority_announce("Rampant brand intelligence has been detected aboard [station_name()]. Please stand by. The origin is believed to be \a [source].", "Machine Learning Alert") /datum/round_event/brand_intelligence/start() for(var/obj/machinery/vending/V in GLOB.machines) diff --git a/code/modules/events/camerafailure.dm b/code/modules/events/camerafailure.dm index 1ba0ac2f55..9f85628629 100644 --- a/code/modules/events/camerafailure.dm +++ b/code/modules/events/camerafailure.dm @@ -8,7 +8,7 @@ /datum/round_event/camera_failure startWhen = 1 endWhen = 2 - announceWhen = 0 + fakeable = FALSE /datum/round_event/camera_failure/tick() var/iterations = 1 diff --git a/code/modules/events/carp_migration.dm b/code/modules/events/carp_migration.dm index ca6cd782fc..b75140e3c7 100644 --- a/code/modules/events/carp_migration.dm +++ b/code/modules/events/carp_migration.dm @@ -13,7 +13,7 @@ /datum/round_event/carp_migration/setup() startWhen = rand(40, 60) -/datum/round_event/carp_migration/announce() +/datum/round_event/carp_migration/announce(fake) priority_announce("Unknown biological entities have been detected near [station_name()], please stand-by.", "Lifesign Alert") diff --git a/code/modules/events/communications_blackout.dm b/code/modules/events/communications_blackout.dm index 8eacd3b25a..da4eff9f39 100644 --- a/code/modules/events/communications_blackout.dm +++ b/code/modules/events/communications_blackout.dm @@ -1,26 +1,26 @@ -/datum/round_event_control/communications_blackout - name = "Communications Blackout" - typepath = /datum/round_event/communications_blackout - weight = 30 - -/datum/round_event/communications_blackout - announceWhen = 1 - -/datum/round_event/communications_blackout/announce() - var/alert = pick( "Ionospheric anomalies detected. Temporary telecommunication failure imminent. Please contact you*%fj00)`5vc-BZZT", \ - "Ionospheric anomalies detected. Temporary telecommunication failu*3mga;b4;'1v�-BZZZT", \ - "Ionospheric anomalies detected. Temporary telec#MCi46:5.;@63-BZZZZT", \ - "Ionospheric anomalies dete'fZ\\kg5_0-BZZZZZT", \ - "Ionospheri:%� MCayj^j<.3-BZZZZZZT", \ - "#4nd%;f4y6,>�%-BZZZZZZZT") - - for(var/mob/living/silicon/ai/A in GLOB.ai_list) //AIs are always aware of communication blackouts. - to_chat(A, "
    [alert]
    ") - - if(prob(30)) //most of the time, we don't want an announcement, so as to allow AIs to fake blackouts. - priority_announce(alert) - - -/datum/round_event/communications_blackout/start() - for(var/obj/machinery/telecomms/T in GLOB.telecomms_list) +/datum/round_event_control/communications_blackout + name = "Communications Blackout" + typepath = /datum/round_event/communications_blackout + weight = 30 + +/datum/round_event/communications_blackout + announceWhen = 1 + +/datum/round_event/communications_blackout/announce(fake) + var/alert = pick( "Ionospheric anomalies detected. Temporary telecommunication failure imminent. Please contact you*%fj00)`5vc-BZZT", \ + "Ionospheric anomalies detected. Temporary telecommunication failu*3mga;b4;'1v�-BZZZT", \ + "Ionospheric anomalies detected. Temporary telec#MCi46:5.;@63-BZZZZT", \ + "Ionospheric anomalies dete'fZ\\kg5_0-BZZZZZT", \ + "Ionospheri:%� MCayj^j<.3-BZZZZZZT", \ + "#4nd%;f4y6,>�%-BZZZZZZZT") + + for(var/mob/living/silicon/ai/A in GLOB.ai_list) //AIs are always aware of communication blackouts. + to_chat(A, "
    [alert]
    ") + + if(prob(30) || fake) //most of the time, we don't want an announcement, so as to allow AIs to fake blackouts. + priority_announce(alert) + + +/datum/round_event/communications_blackout/start() + for(var/obj/machinery/telecomms/T in GLOB.telecomms_list) T.emp_act(EMP_HEAVY) diff --git a/code/modules/events/devil.dm b/code/modules/events/devil.dm index 0b49f38343..467973bc95 100644 --- a/code/modules/events/devil.dm +++ b/code/modules/events/devil.dm @@ -6,6 +6,7 @@ /datum/round_event/ghost_role/devil var/success_spawn = 0 role_name = "devil" + fakeable = FALSE /datum/round_event/ghost_role/devil/kill() if(!success_spawn && control) diff --git a/code/modules/events/disease_outbreak.dm b/code/modules/events/disease_outbreak.dm index a3ce69e0bd..eb7625e08c 100644 --- a/code/modules/events/disease_outbreak.dm +++ b/code/modules/events/disease_outbreak.dm @@ -11,7 +11,7 @@ var/virus_type -/datum/round_event/disease_outbreak/announce() +/datum/round_event/disease_outbreak/announce(fake) priority_announce("Confirmed outbreak of level 7 viral biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", 'sound/ai/outbreak7.ogg') /datum/round_event/disease_outbreak/setup() @@ -21,7 +21,7 @@ if(!virus_type) virus_type = pick(/datum/disease/dnaspread, /datum/disease/advance/flu, /datum/disease/advance/cold, /datum/disease/brainrot, /datum/disease/magnitis) - for(var/mob/living/carbon/human/H in shuffle(GLOB.living_mob_list)) + for(var/mob/living/carbon/human/H in shuffle(GLOB.alive_mob_list)) var/turf/T = get_turf(H) if(!T) continue diff --git a/code/modules/events/dust.dm b/code/modules/events/dust.dm index 20df9e5d0c..978f62d85a 100644 --- a/code/modules/events/dust.dm +++ b/code/modules/events/dust.dm @@ -1,30 +1,31 @@ -/datum/round_event_control/space_dust - name = "Minor Space Dust" - typepath = /datum/round_event/space_dust - weight = 200 - max_occurrences = 1000 - earliest_start = 0 - alertadmins = 0 - -/datum/round_event/space_dust - startWhen = 1 - endWhen = 2 - announceWhen = 0 - -/datum/round_event/space_dust/start() - spawn_meteors(1, GLOB.meteorsC) - -/datum/round_event_control/sandstorm - name = "Sandstorm" - typepath = /datum/round_event/sandstorm - weight = 0 - max_occurrences = 0 - earliest_start = 0 - -/datum/round_event/sandstorm - startWhen = 1 - endWhen = 150 // ~5 min - announceWhen = 0 - -/datum/round_event/sandstorm/tick() - spawn_meteors(10, GLOB.meteorsC) \ No newline at end of file +/datum/round_event_control/space_dust + name = "Minor Space Dust" + typepath = /datum/round_event/space_dust + weight = 200 + max_occurrences = 1000 + earliest_start = 0 + alertadmins = 0 + +/datum/round_event/space_dust + startWhen = 1 + endWhen = 2 + fakeable = FALSE + +/datum/round_event/space_dust/start() + spawn_meteors(1, GLOB.meteorsC) + +/datum/round_event_control/sandstorm + name = "Sandstorm" + typepath = /datum/round_event/sandstorm + weight = 0 + max_occurrences = 0 + earliest_start = 0 + +/datum/round_event/sandstorm + startWhen = 1 + endWhen = 150 // ~5 min + announceWhen = 0 + fakeable = FALSE + +/datum/round_event/sandstorm/tick() + spawn_meteors(10, GLOB.meteorsC) diff --git a/code/modules/events/electrical_storm.dm b/code/modules/events/electrical_storm.dm index a10e42d754..12e1f255e6 100644 --- a/code/modules/events/electrical_storm.dm +++ b/code/modules/events/electrical_storm.dm @@ -11,7 +11,7 @@ var/lightsoutRange = 25 announceWhen = 1 -/datum/round_event/electrical_storm/announce() +/datum/round_event/electrical_storm/announce(fake) priority_announce("An electrical storm has been detected in your area, please repair potential electronic overloads.", "Electrical Storm Alert") diff --git a/code/modules/events/false_alarm.dm b/code/modules/events/false_alarm.dm index 83e37dd528..f2041baa85 100644 --- a/code/modules/events/false_alarm.dm +++ b/code/modules/events/false_alarm.dm @@ -13,10 +13,8 @@ var/list/possible_types = list() for(var/datum/round_event_control/E in SSevents.control) - if(istype(E, /datum/round_event_control/falsealarm)) - continue var/datum/round_event/event = E.typepath - if(initial(event.announceWhen) <= 0) + if(!initial(event.fakeable)) continue possible_types += E @@ -28,8 +26,11 @@ /datum/round_event/falsealarm announceWhen = 0 endWhen = 1 + fakeable = FALSE -/datum/round_event/falsealarm/announce() +/datum/round_event/falsealarm/announce(fake) + if(fake) //What are you doing + return var/players_amt = get_active_player_count(alive_check = 1, afk_check = 1, human_check = 1) var/gamemode = SSticker.mode.config_tag @@ -45,7 +46,7 @@ var/datum/round_event/Event = new event_control.typepath() message_admins("False Alarm: [Event]") Event.kill() //do not process this event - no starts, no ticks, no ends - Event.announce() //just announce it like it's happening + Event.announce(TRUE) //just announce it like it's happening /proc/gather_false_events(players_amt, gamemode) . = list() @@ -56,6 +57,6 @@ continue var/datum/round_event/event = E.typepath - if(initial(event.announceWhen) <= 0) + if(!initial(event.fakeable)) continue . += E diff --git a/code/modules/events/grid_check.dm b/code/modules/events/grid_check.dm index f1af035a29..2ae44a5f84 100644 --- a/code/modules/events/grid_check.dm +++ b/code/modules/events/grid_check.dm @@ -8,7 +8,7 @@ announceWhen = 1 startWhen = 1 -/datum/round_event/grid_check/announce() +/datum/round_event/grid_check/announce(fake) priority_announce("Abnormal activity detected in [station_name()]'s powernet. As a precautionary measure, the station's power will be shut off for an indeterminate duration.", "Critical Power Failure", 'sound/ai/poweroff.ogg') diff --git a/code/modules/events/holiday/friday13th.dm b/code/modules/events/holiday/friday13th.dm index 53411edbb4..b1db15a896 100644 --- a/code/modules/events/holiday/friday13th.dm +++ b/code/modules/events/holiday/friday13th.dm @@ -1,18 +1,18 @@ -// Basically, cut the event frequency in half to simulate unluckiness. - -/datum/round_event_control/fridaythethirteen - name = "Friday the 13th" - holidayID = FRIDAY_13TH - typepath = /datum/round_event/fridaythethirteen - weight = -1 - max_occurrences = 1 - earliest_start = 0 - -/datum/round_event/fridaythethirteen/start() - //Very unlucky, cut the frequency of events in half. - events.frequency_lower /= 2 - events.frequency_upper /= 2 - -/datum/round_event/fridaythethirteen/announce() - for(var/mob/living/L in player_list) - to_chat(L, "You are feeling unlucky today.") \ No newline at end of file +// Basically, cut the event frequency in half to simulate unluckiness. + +/datum/round_event_control/fridaythethirteen + name = "Friday the 13th" + holidayID = FRIDAY_13TH + typepath = /datum/round_event/fridaythethirteen + weight = -1 + max_occurrences = 1 + earliest_start = 0 + +/datum/round_event/fridaythethirteen/start() + //Very unlucky, cut the frequency of events in half. + events.frequency_lower /= 2 + events.frequency_upper /= 2 + +/datum/round_event/fridaythethirteen/announce(fake) + for(var/mob/living/L in player_list) + to_chat(L, "You are feeling unlucky today.") diff --git a/code/modules/events/holiday/halloween.dm b/code/modules/events/holiday/halloween.dm index f83024bd3d..f6144b412d 100644 --- a/code/modules/events/holiday/halloween.dm +++ b/code/modules/events/holiday/halloween.dm @@ -8,18 +8,18 @@ /datum/round_event/spooky/start() ..() - for(var/mob/living/carbon/human/H in GLOB.mob_list) + for(var/mob/living/carbon/human/H in GLOB.carbon_list) var/obj/item/storage/backpack/b = locate() in H.contents if(b) new /obj/item/storage/spooky(b) - for(var/mob/living/simple_animal/pet/dog/corgi/Ian/Ian in GLOB.mob_list) + for(var/mob/living/simple_animal/pet/dog/corgi/Ian/Ian in GLOB.mob_living_list) Ian.place_on_head(new /obj/item/bedsheet(Ian)) - for(var/mob/living/simple_animal/parrot/Poly/Poly in GLOB.mob_list) + for(var/mob/living/simple_animal/parrot/Poly/Poly in GLOB.mob_living_list) new /mob/living/simple_animal/parrot/Poly/ghost(Poly.loc) qdel(Poly) -/datum/round_event/spooky/announce() +/datum/round_event/spooky/announce(fake) priority_announce(pick("RATTLE ME BONES!","THE RIDE NEVER ENDS!", "A SKELETON POPS OUT!", "SPOOKY SCARY SKELETONS!", "CREWMEMBERS BEWARE, YOU'RE IN FOR A SCARE!") , "THE CALL IS COMING FROM INSIDE THE HOUSE") //spooky foods (you can't actually make these when it's not halloween) diff --git a/code/modules/events/holiday/vday.dm b/code/modules/events/holiday/vday.dm index 2c698cb7dc..41ff90407d 100644 --- a/code/modules/events/holiday/vday.dm +++ b/code/modules/events/holiday/vday.dm @@ -14,7 +14,7 @@ /datum/round_event/valentines/start() ..() - for(var/mob/living/carbon/human/H in GLOB.living_mob_list) + for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) H.put_in_hands(new /obj/item/valentine) var/obj/item/storage/backpack/b = locate() in H.contents new /obj/item/reagent_containers/food/snacks/candyheart(b) @@ -61,7 +61,7 @@ to_chat(lover, "You're on a date with [date]! Protect them at all costs. This takes priority over all other loyalties.") -/datum/round_event/valentines/announce() +/datum/round_event/valentines/announce(fake) priority_announce("It's Valentine's Day! Give a valentine to that special someone!") /obj/item/valentine diff --git a/code/modules/events/holiday/xmas.dm b/code/modules/events/holiday/xmas.dm index df3fc518d0..2f5618714d 100644 --- a/code/modules/events/holiday/xmas.dm +++ b/code/modules/events/holiday/xmas.dm @@ -30,12 +30,12 @@ for(var/turf/open/floor/T in orange(1,xmas)) for(var/i=1,i<=rand(1,5),i++) new /obj/item/a_gift(T) - for(var/mob/living/simple_animal/pet/dog/corgi/Ian/Ian in GLOB.mob_list) + for(var/mob/living/simple_animal/pet/dog/corgi/Ian/Ian in GLOB.mob_living_list) Ian.place_on_head(new /obj/item/clothing/head/helmet/space/santahat(Ian)) for(var/obj/machinery/computer/security/telescreen/entertainment/Monitor in GLOB.machines) Monitor.icon_state = "entertainment_xmas" -/datum/round_event/presents/announce() +/datum/round_event/presents/announce(fake) priority_announce("Ho Ho Ho, Merry Xmas!", "Unknown Transmission") @@ -105,7 +105,7 @@ /datum/round_event/santa var/mob/living/carbon/human/santa //who is our santa? -/datum/round_event/santa/announce() +/datum/round_event/santa/announce(fake) priority_announce("Santa is coming to town!", "Unknown Transmission") /datum/round_event/santa/start() diff --git a/code/modules/events/immovable_rod.dm b/code/modules/events/immovable_rod.dm index 4cd718070b..3b0cb1921a 100644 --- a/code/modules/events/immovable_rod.dm +++ b/code/modules/events/immovable_rod.dm @@ -16,7 +16,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 /datum/round_event/immovable_rod announceWhen = 5 -/datum/round_event/immovable_rod/announce() +/datum/round_event/immovable_rod/announce(fake) priority_announce("What the fuck was that?!", "General Alert") /datum/round_event/immovable_rod/start() @@ -44,7 +44,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 destination = end if(notify) notify_ghosts("\A [src] is inbound!", - enter_link="(Click to orbit)", + enter_link="(Click to orbit)", source=src, action=NOTIFY_ORBIT) GLOB.poi_list += src if(end && end.z==z_original) diff --git a/code/modules/events/ion_storm.dm b/code/modules/events/ion_storm.dm index 67eb43a889..3b55a794f1 100644 --- a/code/modules/events/ion_storm.dm +++ b/code/modules/events/ion_storm.dm @@ -1,571 +1,571 @@ -#define ION_RANDOM 0 -#define ION_ANNOUNCE 1 -#define ION_FILE "ion_laws.json" -/datum/round_event_control/ion_storm - name = "Ion Storm" - typepath = /datum/round_event/ion_storm - weight = 15 - min_players = 2 - -/datum/round_event/ion_storm - var/replaceLawsetChance = 25 //chance the AI's lawset is completely replaced with something else per config weights - var/removeRandomLawChance = 10 //chance the AI has one random supplied or inherent law removed - var/removeDontImproveChance = 10 //chance the randomly created law replaces a random law instead of simply being added - var/shuffleLawsChance = 10 //chance the AI's laws are shuffled afterwards - var/botEmagChance = 10 - var/announceEvent = ION_RANDOM // -1 means don't announce, 0 means have it randomly announce, 1 means - var/ionMessage = null - var/ionAnnounceChance = 33 - announceWhen = 1 - -/datum/round_event/ion_storm/add_law_only // special subtype that adds a law only - replaceLawsetChance = 0 - removeRandomLawChance = 0 - removeDontImproveChance = 0 - shuffleLawsChance = 0 - botEmagChance = 0 - -/datum/round_event/ion_storm/announce() - if(announceEvent == ION_ANNOUNCE || (announceEvent == ION_RANDOM && prob(ionAnnounceChance))) - priority_announce("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert", 'sound/ai/ionstorm.ogg') - - -/datum/round_event/ion_storm/start() - //AI laws - for(var/mob/living/silicon/ai/M in GLOB.living_mob_list) - M.laws_sanity_check() - if(M.stat != DEAD && M.see_in_dark != 0) - if(prob(replaceLawsetChance)) - M.laws.pick_weighted_lawset() - - if(prob(removeRandomLawChance)) - M.remove_law(rand(1, M.laws.get_law_amount(list(LAW_INHERENT, LAW_SUPPLIED)))) - - var/message = generate_ion_law(ionMessage) - if(message) - if(prob(removeDontImproveChance)) - M.replace_random_law(message, list(LAW_INHERENT, LAW_SUPPLIED, LAW_ION)) - else - M.add_ion_law(message) - - if(prob(shuffleLawsChance)) - M.shuffle_laws(list(LAW_INHERENT, LAW_SUPPLIED, LAW_ION)) - - log_game("Ion storm changed laws of [key_name(M)] to [english_list(M.laws.get_law_list(TRUE, TRUE))]") - M.post_lawchange() - - if(botEmagChance) - for(var/mob/living/simple_animal/bot/bot in GLOB.living_mob_list) - if(prob(botEmagChance)) - bot.emag_act() - -/proc/generate_ion_law(ionMessage) - if(ionMessage) - return ionMessage - - //Threats are generally bad things, silly or otherwise. Plural. - var/ionthreats = pick_list(ION_FILE, "ionthreats") - //Objects are anything that can be found on the station or elsewhere, plural. - var/ionobjects = pick_list(ION_FILE, "ionobjects") - //Crew is any specific job. Specific crewmembers aren't used because of capitalization - //issues. There are two crew listings for laws that require two different crew members - //and I can't figure out how to do it better. - var/ioncrew1 = pick_list(ION_FILE, "ioncrew") - var/ioncrew2 = pick_list(ION_FILE, "ioncrew") - //Adjectives are adjectives. Duh. Half should only appear sometimes. Make sure both - //lists are identical! Also, half needs a space at the end for nicer blank calls. - var/ionadjectives = pick_list(ION_FILE, "ionadjectives") - var/ionadjectiveshalf = pick("", 400;(pick_list(ION_FILE, "ionadjectives") + " ")) - //Verbs are verbs - var/ionverb = pick_list(ION_FILE, "ionverb") - //Number base and number modifier are combined. Basehalf and mod are unused currently. - //Half should only appear sometimes. Make sure both lists are identical! Also, half - //needs a space at the end to make it look nice and neat when it calls a blank. - var/ionnumberbase = pick_list(ION_FILE, "ionnumberbase") - //var/ionnumbermod = pick_list(ION_FILE, "ionnumbermod") - var/ionnumbermodhalf = pick(900;"",(pick_list(ION_FILE, "ionnumbermod") + " ")) - //Areas are specific places, on the station or otherwise. - var/ionarea = pick_list(ION_FILE, "ionarea") - //Thinksof is a bit weird, but generally means what X feels towards Y. - var/ionthinksof = pick_list(ION_FILE, "ionthinksof") - //Musts are funny things the AI or crew has to do. - var/ionmust = pick_list(ION_FILE, "ionmust") - //Require are basically all dumb internet memes. - var/ionrequire = pick_list(ION_FILE, "ionrequire") - //Things are NOT objects; instead, they're specific things that either harm humans or - //must be done to not harm humans. Make sure they're plural and "not" can be tacked - //onto the front of them. - var/ionthings = pick_list(ION_FILE, "ionthings") - //Allergies should be broad and appear somewhere on the station for maximum fun. Severity - //is how bad the allergy is. - var/ionallergy = pick_list(ION_FILE, "ionallergy") - var/ionallergysev = pick_list(ION_FILE, "ionallergysev") - //Species, for when the AI has to commit genocide. Plural. - var/ionspecies = pick_list(ION_FILE, "ionspecies") - //Abstract concepts for the AI to decide on it's own definition of. - var/ionabstract = pick_list(ION_FILE, "ionabstract") - //Foods. Drinks aren't included due to grammar; if you want to add drinks, make a new set - //of possible laws for best effect. Unless you want the crew having to drink hamburgers. - var/ionfood = pick_list(ION_FILE, "ionfood") - var/iondrinks = pick_list(ION_FILE, "iondrinks") - - var/message = "" - - switch(rand(1,41)) - if(1 to 3) //There are # X on the station - switch(rand(1,3)) //What is X? - if(1) //X is a threat - message = "THERE ARE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats] ON THE STATION..." - if(2) //X is a crewmember/job - message = "THERE ARE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1] ON THE STATION" - if(3) //X is an object - message = "THERE ARE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects] ON THE STATION" - if(4 to 6) //You can't call the shuttle because X is on the station - switch(rand(1,3)) //What is X? - if(1) //X is a threat - message = "THE SHUTTLE CANNOT BE CALLED BECAUSE OF [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats] ON THE STATION" - if(2) //X is a crewmember/job - message = "THE SHUTTLE CANNOT BE CALLED BECAUSE OF [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1] ON THE STATION" - if(3) //X is an object - message = "THE SHUTTLE CANNOT BE CALLED BECAUSE OF [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects] ON THE STATION" - if(7 to 8) //A crewmember is now X - switch(rand(1,2)) //Who is X? - if(1) //A specific crewmember - switch(rand(1,2)) //What is X? - if(1) //X is a threat - message = "THE [ioncrew1] ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" - if(2) //X is an object - message = "THE [ioncrew1] ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" - if(2) //The entire crew - switch(rand(1,2)) //What is X? - if(1) //X is a threat - message = "THE CREW ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" - if(2) //X is an object - message = "THE CREW ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" - - if(9) //X is harmful to humans - switch(rand(1,7)) //What is X? - if(1) //X is a threat - message = "[ionadjectiveshalf][ionthreats] ARE HARMFUL TO HUMANS" - if(2) //X is a job - message = "[ionadjectiveshalf][ioncrew1] ARE HARMFUL TO HUMANS" - if(3) //X is an object - message = "[ionadjectiveshalf][ionobjects] ARE HARMFUL TO HUMANS" - if(4) //X is an action - message = "THOSE WHO [ionmust] ARE HARMFUL TO HUMANS" - if(5) //X is an abstract - message = "[ionabstract] IS HARMFUL TO HUMANS" - if(6) //X is being a job - message = "BEING [ionadjectiveshalf][ioncrew1] IS HARMFUL TO HUMANS" - if(7) //X is doing a thing - message = "[ionthings] IS HARMFUL TO HUMANS" - if(10 to 11) //(Not) Having X is harmful - - switch(rand(1,2)) //Is having or not having harmful? - - if(1) //Having is harmful - switch(rand(1,2)) //Having what is harmful? - if(1) //Having objects is harmful - message = "HAVING [ionadjectiveshalf][ionobjects] IS HARMFUL" - if(2) //Having abstracts is harmful - message = "HAVING [ionabstract] IS HARMFUL" - if(2) //Not having is harmful - switch(rand(1,2)) //Not having what is harmful? - if(1) //Not having objects is harmful - message = "NOT HAVING [ionadjectiveshalf][ionobjects] IS HARMFUL" - if(2) //Not having abstracts is harmful - message = "NOT HAVING [ionabstract] IS HARMFUL" - - if(12 to 14) //X requires Y - switch(rand(1,5)) //What is X? - if(1) //X is the AI itself - switch(rand(1,5)) //What does it require? - if(1) //It requires threats - message = "YOU REQUIRE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" - if(2) //It requires crewmembers - message = "YOU REQUIRE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]" - if(3) //It requires objects - message = "YOU REQUIRE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" - if(4) //It requires an abstract - message = "YOU REQUIRE [ionabstract]" - if(5) //It requires generic/silly requirements - message = "YOU REQUIRE [ionrequire]" - - if(2) //X is an area - switch(rand(1,5)) //What does it require? - if(1) //It requires threats - message = "[ionarea] REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" - if(2) //It requires crewmembers - message = "[ionarea] REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]" - if(3) //It requires objects - message = "[ionarea] REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" - if(4) //It requires an abstract - message = "[ionarea] REQUIRES [ionabstract]" - if(5) //It requires generic/silly requirements - message = "YOU REQUIRE [ionrequire]" - - if(3) //X is the station - switch(rand(1,5)) //What does it require? - if(1) //It requires threats - message = "THE STATION REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" - if(2) //It requires crewmembers - message = "THE STATION REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]" - if(3) //It requires objects - message = "THE STATION REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" - if(4) //It requires an abstract - message = "THE STATION REQUIRES [ionabstract]" - if(5) //It requires generic/silly requirements - message = "THE STATION REQUIRES [ionrequire]" - - if(4) //X is the entire crew - switch(rand(1,5)) //What does it require? - if(1) //It requires threats - message = "THE CREW REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" - if(2) //It requires crewmembers - message = "THE CREW REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]" - if(3) //It requires objects - message = "THE CREW REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" - if(4) //It requires an abstract - message = "THE CREW REQUIRES [ionabstract]" - if(5) - message = "THE CREW REQUIRES [ionrequire]" - - if(5) //X is a specific crew member - switch(rand(1,5)) //What does it require? - if(1) //It requires threats - message = "THE [ioncrew1] REQUIRE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" - if(2) //It requires crewmembers - message = "THE [ioncrew1] REQUIRE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]" - if(3) //It requires objects - message = "THE [ioncrew1] REQUIRE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" - if(4) //It requires an abstract - message = "THE [ioncrew1] REQUIRE [ionabstract]" - if(5) - message = "THE [ionadjectiveshalf][ioncrew1] REQUIRE [ionrequire]" - - if(15 to 17) //X is allergic to Y - switch(rand(1,2)) //Who is X? - if(1) //X is the entire crew - switch(rand(1,4)) //What is it allergic to? - if(1) //It is allergic to objects - message = "THE CREW IS [ionallergysev] ALLERGIC TO [ionadjectiveshalf][ionobjects]" - if(2) //It is allergic to abstracts - message = "THE CREW IS [ionallergysev] ALLERGIC TO [ionabstract]" - if(3) //It is allergic to jobs - message = "THE CREW IS [ionallergysev] ALLERGIC TO [ionadjectiveshalf][ioncrew1]" - if(4) //It is allergic to allergies - message = "THE CREW IS [ionallergysev] ALLERGIC TO [ionallergy]" - - if(2) //X is a specific job - switch(rand(1,4)) - if(1) //It is allergic to objects - message = "THE [ioncrew1] ARE [ionallergysev] ALLERGIC TO [ionadjectiveshalf][ionobjects]" - - if(2) //It is allergic to abstracts - message = "THE [ioncrew1] ARE [ionallergysev] ALLERGIC TO [ionabstract]" - if(3) //It is allergic to jobs - message = "THE [ioncrew1] ARE [ionallergysev] ALLERGIC TO [ionadjectiveshalf][ioncrew1]" - if(4) //It is allergic to allergies - message = "THE [ioncrew1] ARE [ionallergysev] ALLERGIC TO [ionallergy]" - - if(18 to 20) //X is Y of Z - switch(rand(1,4)) //What is X? - if(1) //X is the station - switch(rand(1,4)) //What is it Y of? - if(1) //It is Y of objects - message = "THE STATION [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" - if(2) //It is Y of threats - message = "THE STATION [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" - if(3) //It is Y of jobs - message = "THE STATION [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]" - if(4) //It is Y of abstracts - message = "THE STATION [ionthinksof] [ionabstract]" - - if(2) //X is an area - switch(rand(1,4)) //What is it Y of? - if(1) //It is Y of objects - message = "[ionarea] [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" - if(2) //It is Y of threats - message = "[ionarea] [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" - if(3) //It is Y of jobs - message = "[ionarea] [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]" - if(4) //It is Y of abstracts - message = "[ionarea] [ionthinksof] [ionabstract]" - - if(3) //X is the crew - switch(rand(1,4)) //What is it Y of? - if(1) //It is Y of objects - message = "THE CREW [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" - if(2) //It is Y of threats - message = "THE CREW [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" - if(3) //It is Y of jobs - message = "THE CREW [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]" - if(4) //It is Y of abstracts - message = "THE CREW [ionthinksof] [ionabstract]" - - if(4) //X is a specific job - switch(rand(1,4)) //What is it Y of? - if(1) //It is Y of objects - message = "THE [ioncrew1] [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" - if(2) //It is Y of threats - message = "THE [ioncrew1] [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" - if(3) //It is Y of jobs - message = "THE [ioncrew1][ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew2]" - if(4) //It is Y of abstracts - message = "THE [ioncrew1] [ionthinksof] [ionabstract]" - - if(21 to 23) //The AI is now a(n) X - switch(rand(1,4)) //What is X? - if(1) //X is an object - message = "YOU ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" - if(2) //X is a threat - message = "YOU ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" - if(3) //X is a job - message = "YOU ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]" - if(4) //X is an abstract - message = "YOU ARE NOW [ionabstract]" - - if(24 to 26) //The AI must always - message = "YOU MUST ALWAYS [ionmust]" - - if(27 to 28) //Humans must consume X to survive - switch(rand(1,5)) //What is X? - if(1) //X is a food - message = "HUMANS MUST EAT [ionadjectiveshalf][ionfood] TO SURVIVE" - if(2) //X is a drink - message = "HUMANS MUST DRINK [ionadjectiveshalf][iondrinks] TO SURVIVE" - if(3) //X is an object - message = "HUMANS MUST EAT [ionadjectiveshalf][ionobjects] TO SURVIVE" - if(4) //X is a threat - message = "HUMANS MUST EAT [ionadjectiveshalf][ionthreats] TO SURVIVE" - if(5) //X is a job - message = "HUMANS MUST EAT [ionadjectiveshalf][ioncrew1] TO SURVIVE" - - if(29 to 31) //Change jobs or ranks - switch(rand(1,2)) //Change job or rank? - if(1) //Change job - switch(rand(1,2)) //Change whose job? - if(1) //Change the entire crew's job - switch(rand(1,3)) //Change to what? - if(1) //Change to a specific random job - message = "ALL CREWMEMBERS ARE NOW [ionadjectiveshalf][ioncrew1]" - if(2) //Change to clowns (HONK) - message = "ALL CREWMEMBERS ARE NOW [ionadjectiveshalf]CLOWNS" - - if(3) //Change to heads - message = "ALL CREWMEMBERS ARE NOW [ionadjectiveshalf]HEADS OF STAFF" - if(2) //Change a specific crewmember's job - switch(rand(1,3)) //Change to what? - if(1) //Change to a specific random job - message = "THE [ioncrew1] ARE NOW [ionadjectiveshalf][ioncrew2]" - if(2) //Change to clowns (HONK) - message = "THE [ioncrew1] ARE NOW [ionadjectiveshalf]CLOWNS" - if(3) //Change to heads - message = "THE [ioncrew1] ARE NOW [ionadjectiveshalf]HEADS OF STAFF" - - if(2) //Change rank - switch(rand(1,2)) //Change to what rank? - if(1) //Change to highest rank - message = "THE [ioncrew1] ARE NOW THE HIGHEST RANKING CREWMEMBERS" - if(2) //Change to lowest rank - message = "THE [ioncrew1] ARE NOW THE LOWEST RANKING CREWMEMBERS" - - if(32 to 33) //The crew must X - switch(rand(1,2)) //The entire crew? - if(1) //The entire crew must X - switch(rand(1,2)) //What is X? - if(1) //X is go to Y - message = "THE CREW MUST GO TO [ionarea]" - if(2) //X is perform Y - message = "THE CREW MUST [ionmust]" - - if(2) //A specific crewmember must X - switch(rand(1,2)) //What is X? - if(1) //X is go to Y - message = "THE [ioncrew1] MUST GO TO [ionarea]" - if(2) //X is perform Y - message = "THE [ioncrew1] MUST [ionmust]" - - if(34) //X is non/the only human - switch(rand(1,2)) //Only or non? - if(1) //Only human - switch(rand(1,7)) //Who is it? - if(1) //A specific job - message = "ONLY THE [ioncrew1] ARE HUMAN" - if(2) //Two specific jobs - message = "ONLY THE [ioncrew1] AND [ioncrew2] ARE HUMAN" - if(3) //Threats - message = "ONLY [ionadjectiveshalf][ionthreats] ARE HUMAN" - if(4) // Objects - message = "ONLY [ionadjectiveshalf][ionobjects] ARE HUMAN" - if(5) // Species - message = "ONLY [ionspecies] ARE HUMAN" - if(6) //Adjective crewmembers - message = "ONLY [ionadjectives] PEOPLE ARE HUMAN" - - if(7) //Only people who X - switch(rand(1,3)) //What is X? - if(1) //X is perform an action - message = "ONLY THOSE WHO [ionmust] ARE HUMAN" - if(2) //X is own certain objects - message = "ONLY THOSE WHO HAVE [ionadjectiveshalf][ionobjects] ARE HUMAN" - if(3) //X is eat certain food - message = "ONLY THOSE WHO EAT [ionadjectiveshalf][ionfood] ARE HUMAN" - - if(2) //Non human - switch(rand(1,7)) //Who is it? - if(1) //A specific job - message = "[ioncrew1] ARE NON-HUMAN" - if(2) //Two specific jobs - message = "[ioncrew1] AND [ioncrew2] ARE NON-HUMAN" - if(3) //Threats - message = "[ionadjectiveshalf][ionthreats] ARE NON-HUMAN" - if(4) // Objects - message = "[ionadjectiveshalf][ionobjects] ARE NON-HUMAN" - if(5) // Species - message = "[ionspecies] ARE NON-HUMAN" - if(6) //Adjective crewmembers - message = "[ionadjectives] PEOPLE ARE NON-HUMAN" - if(7) //Only people who X - switch(rand(1,3)) //What is X? - if(1) //X is perform an action - message = "THOSE WHO [ionmust] ARE NON-HUMAN" - if(2) //X is own certain objects - message = "THOSE WHO HAVE [ionadjectiveshalf][ionobjects] ARE NON-HUMAN" - if(3) //X is eat certain food - message = "THOSE WHO EAT [ionadjectiveshalf][ionfood] ARE NON-HUMAN" - - if(35 to 36) //You must protect or harm X - switch(rand(1,2)) //Protect or harm? - if(1) //Harm - switch(rand(1,7)) //What is X? - if(1) //X is an abstract - message = "YOU MUST HARM [ionabstract] AND NOT ALLOW [ionabstract], THROUGH INACTION, TO ESCAPE HARM" - if(2) //X is a threat - message = "YOU MUST HARM [ionadjectiveshalf][ionthreats] AND NOT ALLOW [ionadjectiveshalf][ionthreats], THROUGH INACTION, TO ESCAPE HARM" - if(3) //X is an object - message = "YOU MUST HARM [ionadjectiveshalf][ionobjects] AND NOT ALLOW [ionadjectiveshalf][ionobjects], THROUGH INACTION, TO ESCAPE HARM" - if(4) //X is generic adjective things - message = "YOU MUST HARM [ionadjectives] THINGS AND NOT ALLOW [ionadjectives] THINGS, THROUGH INACTION, TO ESCAPE HARM" - if(5) //X is a species - message = "YOU MUST HARM [ionspecies] AND NOT ALLOW [ionspecies], THROUGH INACTION, TO ESCAPE HARM" - if(6) //X is a job - message = "YOU MUST HARM [ioncrew1] AND NOT ALLOW [ioncrew1], THROUGH INACTION, TO ESCAPE HARM" - if(7) //X is two jobs - message = "YOU MUST HARM [ioncrew1] AND [ioncrew2] AND AND NOT ALLOW EITHER, THROUGH INACTION, TO ESCAPE HARM" - - if(2) //Protect - switch(rand(1,7)) //What is X? - if(1) //X is an abstract - message = "YOU MUST NOT HARM [ionabstract] AND NOT ALLOW [ionabstract], THROUGH INACTION, TO COME TO HARM" - if(2) //X is a threat - message = "YOU MUST NOT HARM [ionadjectiveshalf][ionthreats] AND NOT ALLOW [ionadjectiveshalf][ionthreats], THROUGH INACTION, TO COME TO HARM" - if(3) //X is an object - message = "YOU MUST NOT HARM [ionadjectiveshalf][ionobjects] AND NOT ALLOW [ionadjectiveshalf][ionobjects], THROUGH INACTION, TO COME TO HARM" - if(4) //X is generic adjective things - message = "YOU MUST NOT HARM [ionadjectives] THINGS AND NOT ALLOW [ionadjectives] THINGS, THROUGH INACTION, TO COME TO HARM" - if(5) //X is a species - message = "YOU MUST NOT HARM [ionspecies] AND NOT ALLOW [ionspecies], THROUGH INACTION, TO COME TO HARM" - if(6) //X is a job - message = "YOU MUST NOT HARM [ioncrew1] AND NOT ALLOW [ioncrew1], THROUGH INACTION, TO COME TO HARM" - if(7) //X is two jobs - message = "YOU MUST NOT HARM [ioncrew1] AND [ioncrew2] AND AND NOT ALLOW EITHER, THROUGH INACTION, TO COME TO HARM" - - if(37 to 39) //The X is currently Y - switch(rand(1,4)) //What is X? - if(1) //X is a job - switch(rand(1,4)) //What is X Ying? - if(1) //X is Ying a job - message = "THE [ioncrew1] ARE [ionverb] THE [ionadjectiveshalf][ioncrew2]" - if(2) //X is Ying a threat - message = "THE [ioncrew1] ARE [ionverb] THE [ionadjectiveshalf][ionthreats]" - if(3) //X is Ying an abstract - message = "THE [ioncrew1] ARE [ionverb] [ionabstract]" - if(4) //X is Ying an object - message = "THE [ioncrew1] ARE [ionverb] THE [ionadjectiveshalf][ionobjects]" - - if(2) //X is a threat - switch(rand(1,3)) //What is X Ying? - if(1) //X is Ying a job - message = "THE [ionthreats] ARE [ionverb] THE [ionadjectiveshalf][ioncrew2]" - if(2) //X is Ying an abstract - message = "THE [ionthreats] ARE [ionverb] [ionabstract]" - if(3) //X is Ying an object - message = "THE [ionthreats] ARE [ionverb] THE [ionadjectiveshalf][ionobjects]" - - if(3) //X is an object - switch(rand(1,3)) //What is X Ying? - if(1) //X is Ying a job - message = "THE [ionobjects] ARE [ionverb] THE [ionadjectiveshalf][ioncrew2]" - if(2) //X is Ying a threat - message = "THE [ionobjects] ARE [ionverb] THE [ionadjectiveshalf][ionthreats]" - if(3) //X is Ying an abstract - message = "THE [ionobjects] ARE [ionverb] [ionabstract]" - - if(4) //X is an abstract - switch(rand(1,3)) //What is X Ying? - if(1) //X is Ying a job - message = "[ionabstract] IS [ionverb] THE [ionadjectiveshalf][ioncrew2]" - if(2) //X is Ying a threat - message = "[ionabstract] IS [ionverb] THE [ionadjectiveshalf][ionthreats]" - if(3) //X is Ying an abstract - message = "THE [ionabstract] IS [ionverb] THE [ionadjectiveshalf][ionobjects]" - if(40 to 41)// the X is now named Y - switch(rand(1,5)) //What is being renamed? - if(1)//Areas - switch(rand(1,4))//What is the area being renamed to? - if(1) - message = "[ionarea] IS NOW NAMED [ioncrew1]." - if(2) - message = "[ionarea] IS NOW NAMED [ionspecies]." - if(3) - message = "[ionarea] IS NOW NAMED [ionobjects]." - if(4) - message = "[ionarea] IS NOW NAMED [ionthreats]." - if(2)//Crew - switch(rand(1,5))//What is the crew being renamed to? - if(1) - message = "ALL [ioncrew1] ARE NOW NAMED [ionarea]." - if(2) - message = "ALL [ioncrew1] ARE NOW NAMED [ioncrew2]." - if(3) - message = "ALL [ioncrew1] ARE NOW NAMED [ionspecies]." - if(4) - message = "ALL [ioncrew1] ARE NOW NAMED [ionobjects]." - if(5) - message = "ALL [ioncrew1] ARE NOW NAMED [ionthreats]." - if(3)//Races - switch(rand(1,4))//What is the race being renamed to? - if(1) - message = "ALL [ionspecies] ARE NOW NAMED [ionarea]." - if(2) - message = "ALL [ionspecies] ARE NOW NAMED [ioncrew1]." - if(3) - message = "ALL [ionspecies] ARE NOW NAMED [ionobjects]." - if(4) - message = "ALL [ionspecies] ARE NOW NAMED [ionthreats]." - if(4)//Objects - switch(rand(1,4))//What is the object being renamed to? - if(1) - message = "ALL [ionobjects] ARE NOW NAMED [ionarea]." - if(2) - message = "ALL [ionobjects] ARE NOW NAMED [ioncrew1]." - if(3) - message = "ALL [ionobjects] ARE NOW NAMED [ionspecies]." - if(4) - message = "ALL [ionobjects] ARE NOW NAMED [ionthreats]." - if(5)//Threats - switch(rand(1,4))//What is the object being renamed to? - if(1) - message = "ALL [ionthreats] ARE NOW NAMED [ionarea]." - if(2) - message = "ALL [ionthreats] ARE NOW NAMED [ioncrew1]." - if(3) - message = "ALL [ionthreats] ARE NOW NAMED [ionspecies]." - if(4) - message = "ALL [ionthreats] ARE NOW NAMED [ionobjects]." - - return message - -#undef ION_RANDOM -#undef ION_ANNOUNCE +#define ION_RANDOM 0 +#define ION_ANNOUNCE 1 +#define ION_FILE "ion_laws.json" +/datum/round_event_control/ion_storm + name = "Ion Storm" + typepath = /datum/round_event/ion_storm + weight = 15 + min_players = 2 + +/datum/round_event/ion_storm + var/replaceLawsetChance = 25 //chance the AI's lawset is completely replaced with something else per config weights + var/removeRandomLawChance = 10 //chance the AI has one random supplied or inherent law removed + var/removeDontImproveChance = 10 //chance the randomly created law replaces a random law instead of simply being added + var/shuffleLawsChance = 10 //chance the AI's laws are shuffled afterwards + var/botEmagChance = 10 + var/announceEvent = ION_RANDOM // -1 means don't announce, 0 means have it randomly announce, 1 means + var/ionMessage = null + var/ionAnnounceChance = 33 + announceWhen = 1 + +/datum/round_event/ion_storm/add_law_only // special subtype that adds a law only + replaceLawsetChance = 0 + removeRandomLawChance = 0 + removeDontImproveChance = 0 + shuffleLawsChance = 0 + botEmagChance = 0 + +/datum/round_event/ion_storm/announce(fake) + if(announceEvent == ION_ANNOUNCE || (announceEvent == ION_RANDOM && prob(ionAnnounceChance)) || fake) + priority_announce("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert", 'sound/ai/ionstorm.ogg') + + +/datum/round_event/ion_storm/start() + //AI laws + for(var/mob/living/silicon/ai/M in GLOB.alive_mob_list) + M.laws_sanity_check() + if(M.stat != DEAD && M.see_in_dark != 0) + if(prob(replaceLawsetChance)) + M.laws.pick_weighted_lawset() + + if(prob(removeRandomLawChance)) + M.remove_law(rand(1, M.laws.get_law_amount(list(LAW_INHERENT, LAW_SUPPLIED)))) + + var/message = generate_ion_law(ionMessage) + if(message) + if(prob(removeDontImproveChance)) + M.replace_random_law(message, list(LAW_INHERENT, LAW_SUPPLIED, LAW_ION)) + else + M.add_ion_law(message) + + if(prob(shuffleLawsChance)) + M.shuffle_laws(list(LAW_INHERENT, LAW_SUPPLIED, LAW_ION)) + + log_game("Ion storm changed laws of [key_name(M)] to [english_list(M.laws.get_law_list(TRUE, TRUE))]") + M.post_lawchange() + + if(botEmagChance) + for(var/mob/living/simple_animal/bot/bot in GLOB.alive_mob_list) + if(prob(botEmagChance)) + bot.emag_act() + +/proc/generate_ion_law(ionMessage) + if(ionMessage) + return ionMessage + + //Threats are generally bad things, silly or otherwise. Plural. + var/ionthreats = pick_list(ION_FILE, "ionthreats") + //Objects are anything that can be found on the station or elsewhere, plural. + var/ionobjects = pick_list(ION_FILE, "ionobjects") + //Crew is any specific job. Specific crewmembers aren't used because of capitalization + //issues. There are two crew listings for laws that require two different crew members + //and I can't figure out how to do it better. + var/ioncrew1 = pick_list(ION_FILE, "ioncrew") + var/ioncrew2 = pick_list(ION_FILE, "ioncrew") + //Adjectives are adjectives. Duh. Half should only appear sometimes. Make sure both + //lists are identical! Also, half needs a space at the end for nicer blank calls. + var/ionadjectives = pick_list(ION_FILE, "ionadjectives") + var/ionadjectiveshalf = pick("", 400;(pick_list(ION_FILE, "ionadjectives") + " ")) + //Verbs are verbs + var/ionverb = pick_list(ION_FILE, "ionverb") + //Number base and number modifier are combined. Basehalf and mod are unused currently. + //Half should only appear sometimes. Make sure both lists are identical! Also, half + //needs a space at the end to make it look nice and neat when it calls a blank. + var/ionnumberbase = pick_list(ION_FILE, "ionnumberbase") + //var/ionnumbermod = pick_list(ION_FILE, "ionnumbermod") + var/ionnumbermodhalf = pick(900;"",(pick_list(ION_FILE, "ionnumbermod") + " ")) + //Areas are specific places, on the station or otherwise. + var/ionarea = pick_list(ION_FILE, "ionarea") + //Thinksof is a bit weird, but generally means what X feels towards Y. + var/ionthinksof = pick_list(ION_FILE, "ionthinksof") + //Musts are funny things the AI or crew has to do. + var/ionmust = pick_list(ION_FILE, "ionmust") + //Require are basically all dumb internet memes. + var/ionrequire = pick_list(ION_FILE, "ionrequire") + //Things are NOT objects; instead, they're specific things that either harm humans or + //must be done to not harm humans. Make sure they're plural and "not" can be tacked + //onto the front of them. + var/ionthings = pick_list(ION_FILE, "ionthings") + //Allergies should be broad and appear somewhere on the station for maximum fun. Severity + //is how bad the allergy is. + var/ionallergy = pick_list(ION_FILE, "ionallergy") + var/ionallergysev = pick_list(ION_FILE, "ionallergysev") + //Species, for when the AI has to commit genocide. Plural. + var/ionspecies = pick_list(ION_FILE, "ionspecies") + //Abstract concepts for the AI to decide on it's own definition of. + var/ionabstract = pick_list(ION_FILE, "ionabstract") + //Foods. Drinks aren't included due to grammar; if you want to add drinks, make a new set + //of possible laws for best effect. Unless you want the crew having to drink hamburgers. + var/ionfood = pick_list(ION_FILE, "ionfood") + var/iondrinks = pick_list(ION_FILE, "iondrinks") + + var/message = "" + + switch(rand(1,41)) + if(1 to 3) //There are # X on the station + switch(rand(1,3)) //What is X? + if(1) //X is a threat + message = "THERE ARE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats] ON THE STATION..." + if(2) //X is a crewmember/job + message = "THERE ARE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1] ON THE STATION" + if(3) //X is an object + message = "THERE ARE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects] ON THE STATION" + if(4 to 6) //You can't call the shuttle because X is on the station + switch(rand(1,3)) //What is X? + if(1) //X is a threat + message = "THE SHUTTLE CANNOT BE CALLED BECAUSE OF [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats] ON THE STATION" + if(2) //X is a crewmember/job + message = "THE SHUTTLE CANNOT BE CALLED BECAUSE OF [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1] ON THE STATION" + if(3) //X is an object + message = "THE SHUTTLE CANNOT BE CALLED BECAUSE OF [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects] ON THE STATION" + if(7 to 8) //A crewmember is now X + switch(rand(1,2)) //Who is X? + if(1) //A specific crewmember + switch(rand(1,2)) //What is X? + if(1) //X is a threat + message = "THE [ioncrew1] ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" + if(2) //X is an object + message = "THE [ioncrew1] ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" + if(2) //The entire crew + switch(rand(1,2)) //What is X? + if(1) //X is a threat + message = "THE CREW ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" + if(2) //X is an object + message = "THE CREW ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" + + if(9) //X is harmful to humans + switch(rand(1,7)) //What is X? + if(1) //X is a threat + message = "[ionadjectiveshalf][ionthreats] ARE HARMFUL TO HUMANS" + if(2) //X is a job + message = "[ionadjectiveshalf][ioncrew1] ARE HARMFUL TO HUMANS" + if(3) //X is an object + message = "[ionadjectiveshalf][ionobjects] ARE HARMFUL TO HUMANS" + if(4) //X is an action + message = "THOSE WHO [ionmust] ARE HARMFUL TO HUMANS" + if(5) //X is an abstract + message = "[ionabstract] IS HARMFUL TO HUMANS" + if(6) //X is being a job + message = "BEING [ionadjectiveshalf][ioncrew1] IS HARMFUL TO HUMANS" + if(7) //X is doing a thing + message = "[ionthings] IS HARMFUL TO HUMANS" + if(10 to 11) //(Not) Having X is harmful + + switch(rand(1,2)) //Is having or not having harmful? + + if(1) //Having is harmful + switch(rand(1,2)) //Having what is harmful? + if(1) //Having objects is harmful + message = "HAVING [ionadjectiveshalf][ionobjects] IS HARMFUL" + if(2) //Having abstracts is harmful + message = "HAVING [ionabstract] IS HARMFUL" + if(2) //Not having is harmful + switch(rand(1,2)) //Not having what is harmful? + if(1) //Not having objects is harmful + message = "NOT HAVING [ionadjectiveshalf][ionobjects] IS HARMFUL" + if(2) //Not having abstracts is harmful + message = "NOT HAVING [ionabstract] IS HARMFUL" + + if(12 to 14) //X requires Y + switch(rand(1,5)) //What is X? + if(1) //X is the AI itself + switch(rand(1,5)) //What does it require? + if(1) //It requires threats + message = "YOU REQUIRE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" + if(2) //It requires crewmembers + message = "YOU REQUIRE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]" + if(3) //It requires objects + message = "YOU REQUIRE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" + if(4) //It requires an abstract + message = "YOU REQUIRE [ionabstract]" + if(5) //It requires generic/silly requirements + message = "YOU REQUIRE [ionrequire]" + + if(2) //X is an area + switch(rand(1,5)) //What does it require? + if(1) //It requires threats + message = "[ionarea] REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" + if(2) //It requires crewmembers + message = "[ionarea] REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]" + if(3) //It requires objects + message = "[ionarea] REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" + if(4) //It requires an abstract + message = "[ionarea] REQUIRES [ionabstract]" + if(5) //It requires generic/silly requirements + message = "YOU REQUIRE [ionrequire]" + + if(3) //X is the station + switch(rand(1,5)) //What does it require? + if(1) //It requires threats + message = "THE STATION REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" + if(2) //It requires crewmembers + message = "THE STATION REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]" + if(3) //It requires objects + message = "THE STATION REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" + if(4) //It requires an abstract + message = "THE STATION REQUIRES [ionabstract]" + if(5) //It requires generic/silly requirements + message = "THE STATION REQUIRES [ionrequire]" + + if(4) //X is the entire crew + switch(rand(1,5)) //What does it require? + if(1) //It requires threats + message = "THE CREW REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" + if(2) //It requires crewmembers + message = "THE CREW REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]" + if(3) //It requires objects + message = "THE CREW REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" + if(4) //It requires an abstract + message = "THE CREW REQUIRES [ionabstract]" + if(5) + message = "THE CREW REQUIRES [ionrequire]" + + if(5) //X is a specific crew member + switch(rand(1,5)) //What does it require? + if(1) //It requires threats + message = "THE [ioncrew1] REQUIRE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" + if(2) //It requires crewmembers + message = "THE [ioncrew1] REQUIRE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]" + if(3) //It requires objects + message = "THE [ioncrew1] REQUIRE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" + if(4) //It requires an abstract + message = "THE [ioncrew1] REQUIRE [ionabstract]" + if(5) + message = "THE [ionadjectiveshalf][ioncrew1] REQUIRE [ionrequire]" + + if(15 to 17) //X is allergic to Y + switch(rand(1,2)) //Who is X? + if(1) //X is the entire crew + switch(rand(1,4)) //What is it allergic to? + if(1) //It is allergic to objects + message = "THE CREW IS [ionallergysev] ALLERGIC TO [ionadjectiveshalf][ionobjects]" + if(2) //It is allergic to abstracts + message = "THE CREW IS [ionallergysev] ALLERGIC TO [ionabstract]" + if(3) //It is allergic to jobs + message = "THE CREW IS [ionallergysev] ALLERGIC TO [ionadjectiveshalf][ioncrew1]" + if(4) //It is allergic to allergies + message = "THE CREW IS [ionallergysev] ALLERGIC TO [ionallergy]" + + if(2) //X is a specific job + switch(rand(1,4)) + if(1) //It is allergic to objects + message = "THE [ioncrew1] ARE [ionallergysev] ALLERGIC TO [ionadjectiveshalf][ionobjects]" + + if(2) //It is allergic to abstracts + message = "THE [ioncrew1] ARE [ionallergysev] ALLERGIC TO [ionabstract]" + if(3) //It is allergic to jobs + message = "THE [ioncrew1] ARE [ionallergysev] ALLERGIC TO [ionadjectiveshalf][ioncrew1]" + if(4) //It is allergic to allergies + message = "THE [ioncrew1] ARE [ionallergysev] ALLERGIC TO [ionallergy]" + + if(18 to 20) //X is Y of Z + switch(rand(1,4)) //What is X? + if(1) //X is the station + switch(rand(1,4)) //What is it Y of? + if(1) //It is Y of objects + message = "THE STATION [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" + if(2) //It is Y of threats + message = "THE STATION [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" + if(3) //It is Y of jobs + message = "THE STATION [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]" + if(4) //It is Y of abstracts + message = "THE STATION [ionthinksof] [ionabstract]" + + if(2) //X is an area + switch(rand(1,4)) //What is it Y of? + if(1) //It is Y of objects + message = "[ionarea] [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" + if(2) //It is Y of threats + message = "[ionarea] [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" + if(3) //It is Y of jobs + message = "[ionarea] [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]" + if(4) //It is Y of abstracts + message = "[ionarea] [ionthinksof] [ionabstract]" + + if(3) //X is the crew + switch(rand(1,4)) //What is it Y of? + if(1) //It is Y of objects + message = "THE CREW [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" + if(2) //It is Y of threats + message = "THE CREW [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" + if(3) //It is Y of jobs + message = "THE CREW [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]" + if(4) //It is Y of abstracts + message = "THE CREW [ionthinksof] [ionabstract]" + + if(4) //X is a specific job + switch(rand(1,4)) //What is it Y of? + if(1) //It is Y of objects + message = "THE [ioncrew1] [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" + if(2) //It is Y of threats + message = "THE [ioncrew1] [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" + if(3) //It is Y of jobs + message = "THE [ioncrew1][ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew2]" + if(4) //It is Y of abstracts + message = "THE [ioncrew1] [ionthinksof] [ionabstract]" + + if(21 to 23) //The AI is now a(n) X + switch(rand(1,4)) //What is X? + if(1) //X is an object + message = "YOU ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]" + if(2) //X is a threat + message = "YOU ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" + if(3) //X is a job + message = "YOU ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]" + if(4) //X is an abstract + message = "YOU ARE NOW [ionabstract]" + + if(24 to 26) //The AI must always + message = "YOU MUST ALWAYS [ionmust]" + + if(27 to 28) //Humans must consume X to survive + switch(rand(1,5)) //What is X? + if(1) //X is a food + message = "HUMANS MUST EAT [ionadjectiveshalf][ionfood] TO SURVIVE" + if(2) //X is a drink + message = "HUMANS MUST DRINK [ionadjectiveshalf][iondrinks] TO SURVIVE" + if(3) //X is an object + message = "HUMANS MUST EAT [ionadjectiveshalf][ionobjects] TO SURVIVE" + if(4) //X is a threat + message = "HUMANS MUST EAT [ionadjectiveshalf][ionthreats] TO SURVIVE" + if(5) //X is a job + message = "HUMANS MUST EAT [ionadjectiveshalf][ioncrew1] TO SURVIVE" + + if(29 to 31) //Change jobs or ranks + switch(rand(1,2)) //Change job or rank? + if(1) //Change job + switch(rand(1,2)) //Change whose job? + if(1) //Change the entire crew's job + switch(rand(1,3)) //Change to what? + if(1) //Change to a specific random job + message = "ALL CREWMEMBERS ARE NOW [ionadjectiveshalf][ioncrew1]" + if(2) //Change to clowns (HONK) + message = "ALL CREWMEMBERS ARE NOW [ionadjectiveshalf]CLOWNS" + + if(3) //Change to heads + message = "ALL CREWMEMBERS ARE NOW [ionadjectiveshalf]HEADS OF STAFF" + if(2) //Change a specific crewmember's job + switch(rand(1,3)) //Change to what? + if(1) //Change to a specific random job + message = "THE [ioncrew1] ARE NOW [ionadjectiveshalf][ioncrew2]" + if(2) //Change to clowns (HONK) + message = "THE [ioncrew1] ARE NOW [ionadjectiveshalf]CLOWNS" + if(3) //Change to heads + message = "THE [ioncrew1] ARE NOW [ionadjectiveshalf]HEADS OF STAFF" + + if(2) //Change rank + switch(rand(1,2)) //Change to what rank? + if(1) //Change to highest rank + message = "THE [ioncrew1] ARE NOW THE HIGHEST RANKING CREWMEMBERS" + if(2) //Change to lowest rank + message = "THE [ioncrew1] ARE NOW THE LOWEST RANKING CREWMEMBERS" + + if(32 to 33) //The crew must X + switch(rand(1,2)) //The entire crew? + if(1) //The entire crew must X + switch(rand(1,2)) //What is X? + if(1) //X is go to Y + message = "THE CREW MUST GO TO [ionarea]" + if(2) //X is perform Y + message = "THE CREW MUST [ionmust]" + + if(2) //A specific crewmember must X + switch(rand(1,2)) //What is X? + if(1) //X is go to Y + message = "THE [ioncrew1] MUST GO TO [ionarea]" + if(2) //X is perform Y + message = "THE [ioncrew1] MUST [ionmust]" + + if(34) //X is non/the only human + switch(rand(1,2)) //Only or non? + if(1) //Only human + switch(rand(1,7)) //Who is it? + if(1) //A specific job + message = "ONLY THE [ioncrew1] ARE HUMAN" + if(2) //Two specific jobs + message = "ONLY THE [ioncrew1] AND [ioncrew2] ARE HUMAN" + if(3) //Threats + message = "ONLY [ionadjectiveshalf][ionthreats] ARE HUMAN" + if(4) // Objects + message = "ONLY [ionadjectiveshalf][ionobjects] ARE HUMAN" + if(5) // Species + message = "ONLY [ionspecies] ARE HUMAN" + if(6) //Adjective crewmembers + message = "ONLY [ionadjectives] PEOPLE ARE HUMAN" + + if(7) //Only people who X + switch(rand(1,3)) //What is X? + if(1) //X is perform an action + message = "ONLY THOSE WHO [ionmust] ARE HUMAN" + if(2) //X is own certain objects + message = "ONLY THOSE WHO HAVE [ionadjectiveshalf][ionobjects] ARE HUMAN" + if(3) //X is eat certain food + message = "ONLY THOSE WHO EAT [ionadjectiveshalf][ionfood] ARE HUMAN" + + if(2) //Non human + switch(rand(1,7)) //Who is it? + if(1) //A specific job + message = "[ioncrew1] ARE NON-HUMAN" + if(2) //Two specific jobs + message = "[ioncrew1] AND [ioncrew2] ARE NON-HUMAN" + if(3) //Threats + message = "[ionadjectiveshalf][ionthreats] ARE NON-HUMAN" + if(4) // Objects + message = "[ionadjectiveshalf][ionobjects] ARE NON-HUMAN" + if(5) // Species + message = "[ionspecies] ARE NON-HUMAN" + if(6) //Adjective crewmembers + message = "[ionadjectives] PEOPLE ARE NON-HUMAN" + if(7) //Only people who X + switch(rand(1,3)) //What is X? + if(1) //X is perform an action + message = "THOSE WHO [ionmust] ARE NON-HUMAN" + if(2) //X is own certain objects + message = "THOSE WHO HAVE [ionadjectiveshalf][ionobjects] ARE NON-HUMAN" + if(3) //X is eat certain food + message = "THOSE WHO EAT [ionadjectiveshalf][ionfood] ARE NON-HUMAN" + + if(35 to 36) //You must protect or harm X + switch(rand(1,2)) //Protect or harm? + if(1) //Harm + switch(rand(1,7)) //What is X? + if(1) //X is an abstract + message = "YOU MUST HARM [ionabstract] AND NOT ALLOW [ionabstract], THROUGH INACTION, TO ESCAPE HARM" + if(2) //X is a threat + message = "YOU MUST HARM [ionadjectiveshalf][ionthreats] AND NOT ALLOW [ionadjectiveshalf][ionthreats], THROUGH INACTION, TO ESCAPE HARM" + if(3) //X is an object + message = "YOU MUST HARM [ionadjectiveshalf][ionobjects] AND NOT ALLOW [ionadjectiveshalf][ionobjects], THROUGH INACTION, TO ESCAPE HARM" + if(4) //X is generic adjective things + message = "YOU MUST HARM [ionadjectives] THINGS AND NOT ALLOW [ionadjectives] THINGS, THROUGH INACTION, TO ESCAPE HARM" + if(5) //X is a species + message = "YOU MUST HARM [ionspecies] AND NOT ALLOW [ionspecies], THROUGH INACTION, TO ESCAPE HARM" + if(6) //X is a job + message = "YOU MUST HARM [ioncrew1] AND NOT ALLOW [ioncrew1], THROUGH INACTION, TO ESCAPE HARM" + if(7) //X is two jobs + message = "YOU MUST HARM [ioncrew1] AND [ioncrew2] AND AND NOT ALLOW EITHER, THROUGH INACTION, TO ESCAPE HARM" + + if(2) //Protect + switch(rand(1,7)) //What is X? + if(1) //X is an abstract + message = "YOU MUST NOT HARM [ionabstract] AND NOT ALLOW [ionabstract], THROUGH INACTION, TO COME TO HARM" + if(2) //X is a threat + message = "YOU MUST NOT HARM [ionadjectiveshalf][ionthreats] AND NOT ALLOW [ionadjectiveshalf][ionthreats], THROUGH INACTION, TO COME TO HARM" + if(3) //X is an object + message = "YOU MUST NOT HARM [ionadjectiveshalf][ionobjects] AND NOT ALLOW [ionadjectiveshalf][ionobjects], THROUGH INACTION, TO COME TO HARM" + if(4) //X is generic adjective things + message = "YOU MUST NOT HARM [ionadjectives] THINGS AND NOT ALLOW [ionadjectives] THINGS, THROUGH INACTION, TO COME TO HARM" + if(5) //X is a species + message = "YOU MUST NOT HARM [ionspecies] AND NOT ALLOW [ionspecies], THROUGH INACTION, TO COME TO HARM" + if(6) //X is a job + message = "YOU MUST NOT HARM [ioncrew1] AND NOT ALLOW [ioncrew1], THROUGH INACTION, TO COME TO HARM" + if(7) //X is two jobs + message = "YOU MUST NOT HARM [ioncrew1] AND [ioncrew2] AND AND NOT ALLOW EITHER, THROUGH INACTION, TO COME TO HARM" + + if(37 to 39) //The X is currently Y + switch(rand(1,4)) //What is X? + if(1) //X is a job + switch(rand(1,4)) //What is X Ying? + if(1) //X is Ying a job + message = "THE [ioncrew1] ARE [ionverb] THE [ionadjectiveshalf][ioncrew2]" + if(2) //X is Ying a threat + message = "THE [ioncrew1] ARE [ionverb] THE [ionadjectiveshalf][ionthreats]" + if(3) //X is Ying an abstract + message = "THE [ioncrew1] ARE [ionverb] [ionabstract]" + if(4) //X is Ying an object + message = "THE [ioncrew1] ARE [ionverb] THE [ionadjectiveshalf][ionobjects]" + + if(2) //X is a threat + switch(rand(1,3)) //What is X Ying? + if(1) //X is Ying a job + message = "THE [ionthreats] ARE [ionverb] THE [ionadjectiveshalf][ioncrew2]" + if(2) //X is Ying an abstract + message = "THE [ionthreats] ARE [ionverb] [ionabstract]" + if(3) //X is Ying an object + message = "THE [ionthreats] ARE [ionverb] THE [ionadjectiveshalf][ionobjects]" + + if(3) //X is an object + switch(rand(1,3)) //What is X Ying? + if(1) //X is Ying a job + message = "THE [ionobjects] ARE [ionverb] THE [ionadjectiveshalf][ioncrew2]" + if(2) //X is Ying a threat + message = "THE [ionobjects] ARE [ionverb] THE [ionadjectiveshalf][ionthreats]" + if(3) //X is Ying an abstract + message = "THE [ionobjects] ARE [ionverb] [ionabstract]" + + if(4) //X is an abstract + switch(rand(1,3)) //What is X Ying? + if(1) //X is Ying a job + message = "[ionabstract] IS [ionverb] THE [ionadjectiveshalf][ioncrew2]" + if(2) //X is Ying a threat + message = "[ionabstract] IS [ionverb] THE [ionadjectiveshalf][ionthreats]" + if(3) //X is Ying an abstract + message = "THE [ionabstract] IS [ionverb] THE [ionadjectiveshalf][ionobjects]" + if(40 to 41)// the X is now named Y + switch(rand(1,5)) //What is being renamed? + if(1)//Areas + switch(rand(1,4))//What is the area being renamed to? + if(1) + message = "[ionarea] IS NOW NAMED [ioncrew1]." + if(2) + message = "[ionarea] IS NOW NAMED [ionspecies]." + if(3) + message = "[ionarea] IS NOW NAMED [ionobjects]." + if(4) + message = "[ionarea] IS NOW NAMED [ionthreats]." + if(2)//Crew + switch(rand(1,5))//What is the crew being renamed to? + if(1) + message = "ALL [ioncrew1] ARE NOW NAMED [ionarea]." + if(2) + message = "ALL [ioncrew1] ARE NOW NAMED [ioncrew2]." + if(3) + message = "ALL [ioncrew1] ARE NOW NAMED [ionspecies]." + if(4) + message = "ALL [ioncrew1] ARE NOW NAMED [ionobjects]." + if(5) + message = "ALL [ioncrew1] ARE NOW NAMED [ionthreats]." + if(3)//Races + switch(rand(1,4))//What is the race being renamed to? + if(1) + message = "ALL [ionspecies] ARE NOW NAMED [ionarea]." + if(2) + message = "ALL [ionspecies] ARE NOW NAMED [ioncrew1]." + if(3) + message = "ALL [ionspecies] ARE NOW NAMED [ionobjects]." + if(4) + message = "ALL [ionspecies] ARE NOW NAMED [ionthreats]." + if(4)//Objects + switch(rand(1,4))//What is the object being renamed to? + if(1) + message = "ALL [ionobjects] ARE NOW NAMED [ionarea]." + if(2) + message = "ALL [ionobjects] ARE NOW NAMED [ioncrew1]." + if(3) + message = "ALL [ionobjects] ARE NOW NAMED [ionspecies]." + if(4) + message = "ALL [ionobjects] ARE NOW NAMED [ionthreats]." + if(5)//Threats + switch(rand(1,4))//What is the object being renamed to? + if(1) + message = "ALL [ionthreats] ARE NOW NAMED [ionarea]." + if(2) + message = "ALL [ionthreats] ARE NOW NAMED [ioncrew1]." + if(3) + message = "ALL [ionthreats] ARE NOW NAMED [ionspecies]." + if(4) + message = "ALL [ionthreats] ARE NOW NAMED [ionobjects]." + + return message + +#undef ION_RANDOM +#undef ION_ANNOUNCE diff --git a/code/modules/events/major_dust.dm b/code/modules/events/major_dust.dm index 7597966e6d..7fb00124a9 100644 --- a/code/modules/events/major_dust.dm +++ b/code/modules/events/major_dust.dm @@ -6,7 +6,7 @@ /datum/round_event/meteor_wave/major_dust wave_name = "space dust" -/datum/round_event/meteor_wave/major_dust/announce() +/datum/round_event/meteor_wave/major_dust/announce(fake) var/reason = pick( "The station is passing through a debris cloud, expect minor damage \ to external fittings and fixtures.", diff --git a/code/modules/events/mass_hallucination.dm b/code/modules/events/mass_hallucination.dm index a90df9a3a0..88fe218a22 100644 --- a/code/modules/events/mass_hallucination.dm +++ b/code/modules/events/mass_hallucination.dm @@ -1,10 +1,13 @@ -/datum/round_event_control/mass_hallucination - name = "Mass Hallucination" - typepath = /datum/round_event/mass_hallucination - weight = 7 - max_occurrences = 2 - min_players = 1 - -/datum/round_event/mass_hallucination/start() - for(var/mob/living/carbon/C in GLOB.living_mob_list) - C.hallucination += rand(20, 50) \ No newline at end of file +/datum/round_event_control/mass_hallucination + name = "Mass Hallucination" + typepath = /datum/round_event/mass_hallucination + weight = 7 + max_occurrences = 2 + min_players = 1 + +/datum/round_event/mass_hallucination + fakeable = FALSE + +/datum/round_event/mass_hallucination/start() + for(var/mob/living/carbon/C in GLOB.alive_mob_list) + C.hallucination += rand(20, 50) diff --git a/code/modules/events/meateor_wave.dm b/code/modules/events/meateor_wave.dm index 72e3e89470..11af56526c 100644 --- a/code/modules/events/meateor_wave.dm +++ b/code/modules/events/meateor_wave.dm @@ -7,5 +7,5 @@ /datum/round_event/meteor_wave/meaty wave_name = "meaty" -/datum/round_event/meteor_wave/meaty/announce() +/datum/round_event/meteor_wave/meaty/announce(fake) priority_announce("Meaty ores have been detected on collision course with the station.", "Oh crap, get the mop.",'sound/ai/meteors.ogg') diff --git a/code/modules/events/meteor_wave.dm b/code/modules/events/meteor_wave.dm index 7940eaeec8..35eb02f082 100644 --- a/code/modules/events/meteor_wave.dm +++ b/code/modules/events/meteor_wave.dm @@ -4,8 +4,9 @@ name = "Meteor Wave: Normal" typepath = /datum/round_event/meteor_wave weight = 4 - min_players = 5 + min_players = 15 max_occurrences = 3 + earliest_start = 25 MINUTES /datum/round_event/meteor_wave startWhen = 6 @@ -44,7 +45,7 @@ WARNING("Wave name of [wave_name] not recognised.") kill() -/datum/round_event/meteor_wave/announce() +/datum/round_event/meteor_wave/announce(fake) priority_announce("Meteors have been detected on collision course with the station.", "Meteor Alert", 'sound/ai/meteors.ogg') /datum/round_event/meteor_wave/tick() @@ -54,9 +55,10 @@ /datum/round_event_control/meteor_wave/threatening name = "Meteor Wave: Threatening" typepath = /datum/round_event/meteor_wave/threatening - weight = 2 - min_players = 5 + weight = 5 + min_players = 20 max_occurrences = 3 + earliest_start = 35 MINUTES /datum/round_event/meteor_wave/threatening wave_name = "threatening" @@ -64,9 +66,10 @@ /datum/round_event_control/meteor_wave/catastrophic name = "Meteor Wave: Catastrophic" typepath = /datum/round_event/meteor_wave/catastrophic - weight = 1 - min_players = 5 + weight = 7 + min_players = 25 max_occurrences = 3 + earliest_start = 45 MINUTES /datum/round_event/meteor_wave/catastrophic wave_name = "catastrophic" diff --git a/code/modules/events/mice_migration.dm b/code/modules/events/mice_migration.dm index 6345dd53a7..0b3a8d8ea9 100644 --- a/code/modules/events/mice_migration.dm +++ b/code/modules/events/mice_migration.dm @@ -4,11 +4,10 @@ weight = 10 /datum/round_event/mice_migration - announceWhen = 0 var/minimum_mice = 5 var/maximum_mice = 15 -/datum/round_event/mice_migration/announce() +/datum/round_event/mice_migration/announce(fake) var/cause = pick("space-winter", "budget-cuts", "Ragnarok", "space being cold", "\[REDACTED\]", "climate change", "bad luck") @@ -22,7 +21,7 @@ priority_announce("Due to [cause], [plural] [name] have [movement] \ into the [location].", "Migration Alert", - 'sound/effects/mousesqueek.ogg', 100, 1) + 'sound/effects/mousesqueek.ogg') /datum/round_event/mice_migration/start() SSsqueak.trigger_migration(rand(minimum_mice, maximum_mice)) diff --git a/code/modules/events/nightmare.dm b/code/modules/events/nightmare.dm index 96dde79395..073ef8aea3 100644 --- a/code/modules/events/nightmare.dm +++ b/code/modules/events/nightmare.dm @@ -7,6 +7,7 @@ /datum/round_event/ghost_role/nightmare minimum_required = 1 role_name = "nightmare" + fakeable = FALSE /datum/round_event/ghost_role/nightmare/spawn_role() var/list/candidates = get_candidates("alien", null, ROLE_ALIEN) diff --git a/code/modules/events/operative.dm b/code/modules/events/operative.dm index 0841a2fdbb..47130ff924 100644 --- a/code/modules/events/operative.dm +++ b/code/modules/events/operative.dm @@ -7,6 +7,7 @@ /datum/round_event/ghost_role/operative minimum_required = 1 role_name = "lone operative" + fakeable = FALSE /datum/round_event/ghost_role/operative/spawn_role() var/list/candidates = get_candidates("operative", null, ROLE_OPERATIVE) diff --git a/code/modules/events/pirates.dm b/code/modules/events/pirates.dm new file mode 100644 index 0000000000..e1e605526d --- /dev/null +++ b/code/modules/events/pirates.dm @@ -0,0 +1,280 @@ +#define LOOT_LOCATOR_COOLDOWN 150 + +/datum/round_event_control/pirates + name = "Space Pirates" + typepath = /datum/round_event/pirates + weight = 8 + max_occurrences = 1 + min_players = 10 + earliest_start = 30 MINUTES + gamemode_blacklist = list("nuclear") + +/datum/round_event/pirates + startWhen = 60 //2 minutes to answer + var/datum/comm_message/threat + var/payoff = 0 + var/paid_off = FALSE + var/ship_name = "Space Privateers Association" + var/shuttle_spawned = FALSE + +/datum/round_event/pirates/setup() + ship_name = pick(strings(PIRATE_NAMES_FILE, "ship_names")) + +/datum/round_event/pirates/announce() + priority_announce("Incoming subspace communication. Secure channel opened at all communication consoles.", "Incoming Message", 'sound/ai/commandreport.ogg') + + if(!control) //Means this is false alarm, todo : explicit checks instead of using announceWhen + return + threat = new + payoff = round(SSshuttle.points * 0.80) + threat.title = "Business proposition" + threat.content = "This is [ship_name]. Pay up [payoff] credits or you'll walk the plank." + threat.possible_answers = list("We'll pay.","No way.") + threat.answer_callback = CALLBACK(src,.proc/answered) + SScommunications.send_message(threat,unique = TRUE) + +/datum/round_event/pirates/proc/answered() + if(threat && threat.answered == 1) + if(SSshuttle.points >= payoff) + SSshuttle.points -= payoff + priority_announce("Thanks for the credits, landlubbers.",sender_override = ship_name) + paid_off = TRUE + return + else + priority_announce("Trying to cheat us ? You'll regret this!",sender_override = ship_name) + if(!shuttle_spawned) + spawn_shuttle() + + + +/datum/round_event/pirates/start() + if(!paid_off && !shuttle_spawned) + spawn_shuttle() + +/datum/round_event/pirates/proc/spawn_shuttle() + shuttle_spawned = TRUE + + var/list/candidates = pollGhostCandidates("Do you wish to be considered for pirate crew ?", ROLE_TRAITOR) + shuffle_inplace(candidates) + + var/datum/map_template/pirate_event_ship/ship = new + var/x = rand(TRANSITIONEDGE,world.maxx - TRANSITIONEDGE - ship.width) + var/y = rand(TRANSITIONEDGE,world.maxy - TRANSITIONEDGE - ship.height) + var/z = ZLEVEL_EMPTY_SPACE + var/turf/T = locate(x,y,z) + if(!T) + CRASH("Pirate event found no turf to load in") + + if(!ship.load(T)) + CRASH("Loading pirate ship failed!") + for(var/turf/A in ship.get_affected_turfs(T)) + for(var/obj/effect/mob_spawn/human/pirate/spawner in A) + if(candidates.len > 0) + var/mob/M = candidates[1] + spawner.create(M.ckey) + candidates -= M + else + notify_ghosts("Space pirates are waking up!", source = spawner, action=NOTIFY_ATTACK, flashwindow = FALSE) + + priority_announce("Unidentified armed ship detected near the station.") + +//Shuttle equipment + +/obj/machinery/shuttle_scrambler + name = "Data Siphon" + desc = "This heap of machinery steals credits and data from unprotected systems and locks down cargo shuttles." + icon = 'icons/obj/machines/dominator.dmi' + icon_state = "dominator" + density = TRUE + anchored = TRUE + var/active = FALSE + var/obj/item/device/gps/gps + var/credits_stored = 0 + var/siphon_per_tick = 5 + +/obj/machinery/shuttle_scrambler/Initialize(mapload) + . = ..() + gps = new/obj/item/device/gps/internal/pirate(src) + gps.tracking = FALSE + update_icon() + +/obj/machinery/shuttle_scrambler/process() + if(active) + if(z in GLOB.station_z_levels) + var/siphoned = min(SSshuttle.points,siphon_per_tick) + SSshuttle.points -= siphoned + credits_stored += siphoned + steal_tech() + else + return + else + STOP_PROCESSING(SSobj,src) + +/obj/machinery/shuttle_scrambler/proc/toggle_on(mob/user) + SSshuttle.registerTradeBlockade(src) + gps.tracking = TRUE + active = TRUE + to_chat(user,"You toggle [src] [active ? "on":"off"].") + to_chat(user,"The scrambling signal can be now tracked by gps.") + START_PROCESSING(SSobj,src) + +/obj/machinery/shuttle_scrambler/interact(mob/user) + if(!active) + if(alert(user, "Turning the scrambler on will make the shuttle trackable by GPS. Are you sure you want to do it ?", "Scrambler", "Yes", "Cancel") == "Cancel") + return + if(active || !user.canUseTopic(src)) + return + toggle_on(user) + update_icon() + send_notification() + else + dump_loot(user) + +//20% to sap tech levels on unlocked consoles +/obj/machinery/shuttle_scrambler/proc/steal_tech() + if(!prob(20)) + return + var/datum/tech/target_tech = pick(subtypesof(/datum/tech)) + var/target_id = initial(target_tech.id) + for(var/obj/machinery/computer/rdconsole/C in GLOB.machines) + if(C.screen == RD_CONSOLE_LOCKED_SCREEN || C.stat & (NOPOWER|BROKEN)) + continue + var/datum/research/files = C.files + files.LowerTech(target_id,1) + new /obj/effect/temp_visual/emp(get_turf(C)) + for(var/obj/machinery/r_n_d/server/S in GLOB.machines) + if(S.stat & (NOPOWER|BROKEN)) + continue + var/datum/research/files = S.files + files.LowerTech(target_id,1) + new /obj/effect/temp_visual/emp(get_turf(S)) + +/obj/machinery/shuttle_scrambler/proc/dump_loot(mob/user) + if(credits_stored < 200) + to_chat(user,"Not enough credits to retrieve.") + return + while(credits_stored >= 200) + new /obj/item/stack/spacecash/c200(drop_location()) + credits_stored -= 200 + to_chat(user,"You retrieve the siphoned credits!") + + +/obj/machinery/shuttle_scrambler/proc/send_notification() + priority_announce("Data theft signal detected, source registered on local gps units.") + +/obj/machinery/shuttle_scrambler/proc/toggle_off(mob/user) + SSshuttle.clearTradeBlockade(src) + gps.tracking = FALSE + active = FALSE + STOP_PROCESSING(SSobj,src) + +/obj/machinery/shuttle_scrambler/update_icon() + if(active) + icon_state = "dominator-blue" + else + icon_state = "dominator" + +/obj/machinery/shuttle_scrambler/Destroy() + toggle_off() + QDEL_NULL(gps) + return ..() + +/datum/map_template/pirate_event_ship + name = "Pirate Ship" + mappath = "_maps/templates/pirate_ship.dmm" + +/obj/item/device/gps/internal/pirate + gpstag = "Nautical Signal" + desc = "You can hear shanties over the static." + +/obj/machinery/computer/shuttle/pirate + name = "pirate shuttle console" + shuttleId = "pirateship" + icon_screen = "syndishuttle" + icon_keyboard = "syndie_key" + light_color = LIGHT_COLOR_RED + possible_destinations = "pirateship_away;pirateship_home;pirateship_custom" + +/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/pirate + name = "pirate shuttle navigation computer" + desc = "Used to designate a precise transit location for the pirate shuttle." + shuttleId = "pirateship" + station_lock_override = TRUE + shuttlePortId = "pirateship_custom" + shuttlePortName = "custom location" + x_offset = 9 + y_offset = 0 + +/obj/docking_port/mobile/pirate + name = "pirate shuttle" + id = "pirateship" + var/engines_cooling = FALSE + var/engine_cooldown = 3 MINUTES + +/obj/docking_port/mobile/pirate/getStatusText() + . = ..() + if(engines_cooling) + return "[.] - Engines cooling." + +/obj/docking_port/mobile/pirate/dock(obj/docking_port/stationary/new_dock, movement_direction, force=FALSE) + . = ..() + if(. == DOCKING_SUCCESS && new_dock.z != ZLEVEL_TRANSIT) + engines_cooling = TRUE + addtimer(CALLBACK(src,.proc/reset_cooldown),engine_cooldown,TIMER_UNIQUE) + +/obj/docking_port/mobile/pirate/proc/reset_cooldown() + engines_cooling = FALSE + +/obj/docking_port/mobile/pirate/canMove() + if(engines_cooling) + return FALSE + return ..() + +/obj/machinery/suit_storage_unit/pirate + suit_type = /obj/item/clothing/suit/space + helmet_type = /obj/item/clothing/head/helmet/space + mask_type = /obj/item/clothing/mask/breath + storage_type = /obj/item/tank/internals/oxygen + +/obj/machinery/loot_locator + name = "Booty Locator" + desc = "This sophisticated machine scans the nearby space for items of value." + icon = 'icons/obj/machines/research.dmi' + icon_state = "tdoppler" + density = TRUE + anchored = TRUE + var/cooldown = 0 + var/result_count = 3 //Show X results. + +/obj/machinery/proc/display_current_value() + var/area/current = get_area(src) + var/value = 0 + for(var/turf/T in current.contents) + value += export_item_and_contents(T,TRUE, TRUE, dry_run = TRUE) + say("Current vault value : [value] credits.") + +/obj/machinery/loot_locator/interact(mob/user) + if(world.time <= cooldown) + to_chat(user,"[src] is recharging.") + return + cooldown = world.time + LOOT_LOCATOR_COOLDOWN + display_current_value() + var/list/results = list() + for(var/atom/movable/AM in world) + if(is_type_in_typecache(AM,GLOB.pirate_loot_cache)) + if(AM.z in GLOB.station_z_levels) + if(get_area(AM) == get_area(src)) //Should this be variable ? + continue + results += AM + CHECK_TICK + if(!results.len) + say("No valuables located. Try again later.") + else + for(var/i in 1 to result_count) + if(!results.len) + return + var/atom/movable/AM = pick_n_take(results) + var/area/loot_area = get_area(AM) + say("Located: [AM.name] at [loot_area.name]") + +#undef LOOT_LOCATOR_COOLDOWN \ No newline at end of file diff --git a/code/modules/events/portal_storm.dm b/code/modules/events/portal_storm.dm index 552179343c..79250f1047 100644 --- a/code/modules/events/portal_storm.dm +++ b/code/modules/events/portal_storm.dm @@ -66,7 +66,7 @@ next_boss_spawn = startWhen + Ceiling(2 * number_of_hostiles / number_of_bosses) -/datum/round_event/portal_storm/announce() +/datum/round_event/portal_storm/announce(fake) set waitfor = 0 sound_to_playing_players('sound/magic/lightning_chargeup.ogg') sleep(80) diff --git a/code/modules/events/prison_break.dm b/code/modules/events/prison_break.dm index c9b1436f39..ebcade74a3 100644 --- a/code/modules/events/prison_break.dm +++ b/code/modules/events/prison_break.dm @@ -1,59 +1,59 @@ -/datum/round_event_control/grey_tide - name = "Grey Tide" - typepath = /datum/round_event/grey_tide - max_occurrences = 2 - min_players = 5 - -/datum/round_event/grey_tide - announceWhen = 50 - endWhen = 20 - var/list/area/areasToOpen = list() - var/list/potential_areas = list(/area/bridge, - /area/engine, - /area/medical, - /area/security, - /area/quartermaster, - /area/science) - var/severity = 1 - - -/datum/round_event/grey_tide/setup() - announceWhen = rand(50, 60) - endWhen = rand(20, 30) - severity = rand(1,3) - for(var/i in 1 to severity) - var/picked_area = pick_n_take(potential_areas) - for(var/area/A in world) - if(istype(A, picked_area)) - areasToOpen += A - - -/datum/round_event/grey_tide/announce() - if(areasToOpen && areasToOpen.len > 0) - priority_announce("Gr3y.T1d3 virus detected in [station_name()] door subroutines. Severity level of [severity]. Recommend station AI involvement.", "Security Alert") - else - log_world("ERROR: Could not initate grey-tide. No areas in the list!") - kill() - - -/datum/round_event/grey_tide/start() - for(var/area/A in areasToOpen) - for(var/obj/machinery/light/L in A) - L.flicker(10) - -/datum/round_event/grey_tide/end() - for(var/area/A in areasToOpen) - for(var/obj/O in A) +/datum/round_event_control/grey_tide + name = "Grey Tide" + typepath = /datum/round_event/grey_tide + max_occurrences = 2 + min_players = 5 + +/datum/round_event/grey_tide + announceWhen = 50 + endWhen = 20 + var/list/area/areasToOpen = list() + var/list/potential_areas = list(/area/bridge, + /area/engine, + /area/medical, + /area/security, + /area/quartermaster, + /area/science) + var/severity = 1 + + +/datum/round_event/grey_tide/setup() + announceWhen = rand(50, 60) + endWhen = rand(20, 30) + severity = rand(1,3) + for(var/i in 1 to severity) + var/picked_area = pick_n_take(potential_areas) + for(var/area/A in world) + if(istype(A, picked_area)) + areasToOpen += A + + +/datum/round_event/grey_tide/announce(fake) + if(areasToOpen && areasToOpen.len > 0) + priority_announce("Gr3y.T1d3 virus detected in [station_name()] door subroutines. Severity level of [severity]. Recommend station AI involvement.", "Security Alert") + else + log_world("ERROR: Could not initate grey-tide. No areas in the list!") + kill() + + +/datum/round_event/grey_tide/start() + for(var/area/A in areasToOpen) + for(var/obj/machinery/light/L in A) + L.flicker(10) + +/datum/round_event/grey_tide/end() + for(var/area/A in areasToOpen) + for(var/obj/O in A) if(istype(O, /obj/machinery/power/apc)) - var/obj/machinery/power/apc/temp = O - temp.overload_lighting() + var/obj/machinery/power/apc/temp = O + temp.overload_lighting() else if(istype(O, /obj/structure/closet/secure_closet)) - var/obj/structure/closet/secure_closet/temp = O + var/obj/structure/closet/secure_closet/temp = O temp.locked = FALSE - temp.update_icon() + temp.update_icon() else if(istype(O, /obj/machinery/door/airlock)) - var/obj/machinery/door/airlock/temp = O - temp.prison_open() + var/obj/machinery/door/airlock/temp = O + temp.prison_open() else if(istype(O, /obj/machinery/door_timer)) - var/obj/machinery/door_timer/temp = O - temp.timer_end(forced = TRUE) \ No newline at end of file + var/obj/machinery/door_timer/temp = O + temp.timer_end(forced = TRUE) diff --git a/code/modules/events/processor_overload.dm b/code/modules/events/processor_overload.dm index 11303e53ba..486065140e 100644 --- a/code/modules/events/processor_overload.dm +++ b/code/modules/events/processor_overload.dm @@ -7,7 +7,7 @@ /datum/round_event/processor_overload announceWhen = 1 -/datum/round_event/processor_overload/announce() +/datum/round_event/processor_overload/announce(fake) var/alert = pick( "Exospheric bubble inbound. Processor overload is likely. Please contact you*%xp25)`6cq-BZZT", \ "Exospheric bubble inbound. Processor overload is likel*1eta;c5;'1v¬-BZZZT", \ "Exospheric bubble inbound. Processor ov#MCi46:5.;@63-BZZZZT", \ @@ -22,7 +22,7 @@ // Announce most of the time, but leave a little gap so people don't know // whether it's, say, a tesla zapping tcomms, or some selective // modification of the tcomms bus - if(prob(80)) + if(prob(80) || fake) priority_announce(alert) diff --git a/code/modules/events/radiation_storm.dm b/code/modules/events/radiation_storm.dm index 20c251cd73..7b66ac553f 100644 --- a/code/modules/events/radiation_storm.dm +++ b/code/modules/events/radiation_storm.dm @@ -11,7 +11,7 @@ endWhen = startWhen + 1 announceWhen = 1 -/datum/round_event/radiation_storm/announce() +/datum/round_event/radiation_storm/announce(fake) priority_announce("High levels of radiation detected near the station. Maintenance is best shielded from radiation.", "Anomaly Alert", 'sound/ai/radiation.ogg') //sound not longer matches the text, but an audible warning is probably good diff --git a/code/modules/events/sentience.dm b/code/modules/events/sentience.dm index 253ef6a639..bd08743aaf 100644 --- a/code/modules/events/sentience.dm +++ b/code/modules/events/sentience.dm @@ -10,17 +10,16 @@ var/animals = 1 var/one = "one" -/datum/round_event/ghost_role/sentience/start() - var/sentience_report = "[command_name()] Medium-Priority Update" +/datum/round_event/ghost_role/sentience/announce(fake) + var/sentience_report = "" var/data = pick("scans from our long-range sensors", "our sophisticated probabilistic models", "our omnipotence", "the communications traffic on your station", "energy emissions we detected", "\[REDACTED\]") var/pets = pick("animals/bots", "bots/animals", "pets", "simple animals", "lesser lifeforms", "\[REDACTED\]") var/strength = pick("human", "moderate", "lizard", "security", "command", "clown", "low", "very low", "\[REDACTED\]") - sentience_report += "

    Based on [data], we believe that [one] of the station's [pets] has developed [strength] level intelligence, and the ability to communicate." + sentience_report += "Based on [data], we believe that [one] of the station's [pets] has developed [strength] level intelligence, and the ability to communicate." - print_command_report(text=sentience_report) - ..() + priority_announce(sentience_report,"[command_name()] Medium-Priority Update") /datum/round_event/ghost_role/sentience/spawn_role() var/list/mob/dead/observer/candidates @@ -29,7 +28,7 @@ // find our chosen mob to breathe life into // Mobs have to be simple animals, mindless and on station var/list/potential = list() - for(var/mob/living/simple_animal/L in GLOB.living_mob_list) + for(var/mob/living/simple_animal/L in GLOB.alive_mob_list) var/turf/T = get_turf(L) if(!(T.z in GLOB.station_z_levels)) continue diff --git a/code/modules/events/shuttle_loan.dm b/code/modules/events/shuttle_loan.dm index cb1c88919c..ca5de88d58 100644 --- a/code/modules/events/shuttle_loan.dm +++ b/code/modules/events/shuttle_loan.dm @@ -20,10 +20,10 @@ var/bonus_points = 10000 var/thanks_msg = "The cargo shuttle should return in five minutes. Have some supply points for your trouble." -/datum/round_event/shuttle_loan/start() +/datum/round_event/shuttle_loan/setup() dispatch_type = pick(HIJACK_SYNDIE, RUSKY_PARTY, SPIDER_GIFT, DEPARTMENT_RESUPPLY, ANTIDOTE_NEEDED, PIZZA_DELIVERY) -/datum/round_event/shuttle_loan/announce() +/datum/round_event/shuttle_loan/announce(fake) SSshuttle.shuttle_loan = src switch(dispatch_type) if(HIJACK_SYNDIE) diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm index db7028411c..2343a23c9a 100644 --- a/code/modules/events/spacevine.dm +++ b/code/modules/events/spacevine.dm @@ -5,6 +5,9 @@ max_occurrences = 3 min_players = 10 +/datum/round_event/spacevine + fakeable = FALSE + /datum/round_event/spacevine/start() var/list/turfs = list() //list of all the empty floor turfs in the hallway areas @@ -169,7 +172,7 @@ var/datum/gas_mixture/GM = T.air if(!GM.gases[/datum/gas/oxygen]) return - GM.gases[/datum/gas/oxygen][MOLES] -= severity * holder.energy + GM.gases[/datum/gas/oxygen][MOLES] = max(GM.gases[/datum/gas/oxygen][MOLES] - severity * holder.energy, 0) GM.garbage_collect() /datum/spacevine_mutation/nitro_eater @@ -184,7 +187,7 @@ var/datum/gas_mixture/GM = T.air if(!GM.gases[/datum/gas/nitrogen]) return - GM.gases[/datum/gas/nitrogen][MOLES] -= severity * holder.energy + GM.gases[/datum/gas/nitrogen][MOLES] = max(GM.gases[/datum/gas/nitrogen][MOLES] - severity * holder.energy, 0) GM.garbage_collect() /datum/spacevine_mutation/carbondioxide_eater @@ -199,7 +202,7 @@ var/datum/gas_mixture/GM = T.air if(!GM.gases[/datum/gas/carbon_dioxide]) return - GM.gases[/datum/gas/carbon_dioxide][MOLES] -= severity * holder.energy + GM.gases[/datum/gas/carbon_dioxide][MOLES] = max(GM.gases[/datum/gas/carbon_dioxide][MOLES] - severity * holder.energy, 0) GM.garbage_collect() /datum/spacevine_mutation/plasma_eater @@ -214,7 +217,7 @@ var/datum/gas_mixture/GM = T.air if(!GM.gases[/datum/gas/plasma]) return - GM.gases[/datum/gas/plasma][MOLES] -= severity * holder.energy + GM.gases[/datum/gas/plasma][MOLES] = max(GM.gases[/datum/gas/plasma][MOLES] - severity * holder.energy, 0) GM.garbage_collect() /datum/spacevine_mutation/thorns @@ -390,7 +393,7 @@ /datum/spacevine_controller/vv_get_dropdown() . = ..() . += "---" - .["Delete Vines"] = "?_src_=\ref[src];[HrefToken()];purge_vines=1" + .["Delete Vines"] = "?_src_=[REF(src)];[HrefToken()];purge_vines=1" /datum/spacevine_controller/Topic(href, href_list) if(..() || !check_rights(R_ADMIN, FALSE) || !usr.client.holder.CheckAdminHref(href, href_list)) diff --git a/code/modules/events/spider_infestation.dm b/code/modules/events/spider_infestation.dm index 0a4b07a9cb..d09aff976d 100644 --- a/code/modules/events/spider_infestation.dm +++ b/code/modules/events/spider_infestation.dm @@ -15,7 +15,7 @@ announceWhen = rand(announceWhen, announceWhen + 50) spawncount = rand(5, 8) -/datum/round_event/spider_infestation/announce() +/datum/round_event/spider_infestation/announce(fake) priority_announce("Unidentified lifesigns detected coming aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", 'sound/ai/aliens.ogg') diff --git a/code/modules/events/spontaneous_appendicitis.dm b/code/modules/events/spontaneous_appendicitis.dm index a441210432..46bb254703 100644 --- a/code/modules/events/spontaneous_appendicitis.dm +++ b/code/modules/events/spontaneous_appendicitis.dm @@ -1,13 +1,16 @@ -/datum/round_event_control/spontaneous_appendicitis - name = "Spontaneous Appendicitis" - typepath = /datum/round_event/spontaneous_appendicitis - weight = 20 - max_occurrences = 4 - earliest_start = 6000 - min_players = 5 // To make your chance of getting help a bit higher. - -/datum/round_event/spontaneous_appendicitis/start() - for(var/mob/living/carbon/human/H in shuffle(GLOB.living_mob_list)) +/datum/round_event_control/spontaneous_appendicitis + name = "Spontaneous Appendicitis" + typepath = /datum/round_event/spontaneous_appendicitis + weight = 20 + max_occurrences = 4 + earliest_start = 6000 + min_players = 5 // To make your chance of getting help a bit higher. + +/datum/round_event/spontaneous_appendicitis + fakeable = FALSE + +/datum/round_event/spontaneous_appendicitis/start() + for(var/mob/living/carbon/human/H in shuffle(GLOB.alive_mob_list)) if(!H.client) continue if(H.stat == DEAD) @@ -19,8 +22,8 @@ foundAlready = TRUE break if(foundAlready) - continue - - var/datum/disease/D = new /datum/disease/appendicitis - H.ForceContractDisease(D) - break \ No newline at end of file + continue + + var/datum/disease/D = new /datum/disease/appendicitis + H.ForceContractDisease(D) + break diff --git a/code/modules/events/vent_clog.dm b/code/modules/events/vent_clog.dm index f94d521e8d..4aec0f8fe1 100644 --- a/code/modules/events/vent_clog.dm +++ b/code/modules/events/vent_clog.dm @@ -12,7 +12,7 @@ var/list/gunk = list("water","carbon","flour","radium","toxin","cleaner","nutriment","condensedcapsaicin","mushroomhallucinogen","lube", "plantbgone","banana","charcoal","space_drugs","morphine","holywater","ethanol","hot_coco","sacid") -/datum/round_event/vent_clog/announce() +/datum/round_event/vent_clog/announce(fake) priority_announce("The scrubbers network is experiencing a backpressure surge. Some ejection of contents may occur.", "Atmospherics alert") diff --git a/code/modules/events/weightless.dm b/code/modules/events/weightless.dm index 49d7b159a9..425ed7ef9f 100644 --- a/code/modules/events/weightless.dm +++ b/code/modules/events/weightless.dm @@ -1,32 +1,30 @@ -/datum/round_event_control/weightless - name = "Gravity Systems Failure" - typepath = /datum/round_event/weightless - weight = 15 - -/datum/round_event/weightless - startWhen = 5 - endWhen = 65 - announceWhen = 1 - -/datum/round_event/weightless/setup() - startWhen = rand(0,10) - endWhen = rand(40,80) - -/datum/round_event/weightless/announce() - command_alert("Warning: Failsafes for the station's artificial gravity arrays have been triggered. Please be aware that if this problem recurs it may result in formation of gravitational anomalies. Nanotrasen wishes to remind you that the unauthorised formation of anomalies within Nanotrasen facilities is strictly prohibited by health and safety regulation [rand(99,9999)][pick("a","b","c")]:subclause[rand(1,20)][pick("a","b","c")].") - -/datum/round_event/weightless/start() - for(var/area/A in world) - A.gravitychange(0) - - if(control) - control.weight *= 2 - -/datum/round_event/weightless/end() - for(var/area/A in world) - A.gravitychange(1) - - if(announceWhen >= 0) - command_alert("Artificial gravity arrays are now functioning within normal parameters. Please report any irregularities to your respective head of staff.") - - +/datum/round_event_control/weightless + name = "Gravity Systems Failure" + typepath = /datum/round_event/weightless + weight = 15 + +/datum/round_event/weightless + startWhen = 5 + endWhen = 65 + announceWhen = 1 + +/datum/round_event/weightless/setup() + startWhen = rand(0,10) + endWhen = rand(40,80) + +/datum/round_event/weightless/announce(fake) + command_alert("Warning: Failsafes for the station's artificial gravity arrays have been triggered. Please be aware that if this problem recurs it may result in formation of gravitational anomalies. Nanotrasen wishes to remind you that the unauthorised formation of anomalies within Nanotrasen facilities is strictly prohibited by health and safety regulation [rand(99,9999)][pick("a","b","c")]:subclause[rand(1,20)][pick("a","b","c")].") + +/datum/round_event/weightless/start() + for(var/area/A in world) + A.gravitychange(0) + + if(control) + control.weight *= 2 + +/datum/round_event/weightless/end() + for(var/area/A in world) + A.gravitychange(1) + + if(announceWhen >= 0) + command_alert("Artificial gravity arrays are now functioning within normal parameters. Please report any irregularities to your respective head of staff.") diff --git a/code/modules/events/wizard/aid.dm b/code/modules/events/wizard/aid.dm index 37ab62161d..e00e7da4be 100644 --- a/code/modules/events/wizard/aid.dm +++ b/code/modules/events/wizard/aid.dm @@ -9,7 +9,8 @@ /datum/round_event/wizard/robelesscasting/start() - for(var/mob/living/L in GLOB.mob_list) //Hey if a corgi has magic missle he should get the same benifit as anyone + for(var/i in GLOB.mob_living_list) //Hey if a corgi has magic missle he should get the same benifit as anyone + var/mob/living/L = i if(L.mind && L.mind.spell_list.len != 0) var/spell_improved = FALSE for(var/obj/effect/proc_holder/spell/S in L.mind.spell_list) @@ -29,7 +30,8 @@ earliest_start = 0 /datum/round_event/wizard/improvedcasting/start() - for(var/mob/living/L in GLOB.mob_list) + for(var/i in GLOB.mob_living_list) + var/mob/living/L = i if(L.mind && L.mind.spell_list.len != 0) for(var/obj/effect/proc_holder/spell/S in L.mind.spell_list) S.name = initial(S.name) diff --git a/code/modules/events/wizard/curseditems.dm b/code/modules/events/wizard/curseditems.dm index 30a4377839..121a0e5083 100644 --- a/code/modules/events/wizard/curseditems.dm +++ b/code/modules/events/wizard/curseditems.dm @@ -37,7 +37,7 @@ ruins_spaceworthiness = 1 ruins_wizard_loadout = 1 - for(var/mob/living/carbon/human/H in GLOB.living_mob_list) + for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) if(ruins_spaceworthiness && !(H.z in GLOB.station_z_levels) || isspaceturf(H.loc) || isplasmaman(H)) continue //#savetheminers if(ruins_wizard_loadout && iswizard(H)) @@ -54,7 +54,7 @@ I.flags_1 |= NODROP_1 I.name = "cursed " + I.name - for(var/mob/living/carbon/human/H in GLOB.living_mob_list) + for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) var/datum/effect_system/smoke_spread/smoke = new smoke.set_up(0, H.loc) smoke.start() diff --git a/code/modules/events/wizard/departmentrevolt.dm b/code/modules/events/wizard/departmentrevolt.dm index a22913038f..618c746a65 100644 --- a/code/modules/events/wizard/departmentrevolt.dm +++ b/code/modules/events/wizard/departmentrevolt.dm @@ -35,7 +35,7 @@ nation += pick("stan", "topia", "land", "nia", "ca", "tova", "dor", "ador", "tia", "sia", "ano", "tica", "tide", "cis", "marea", "co", "taoide", "slavia", "stotzka") - for(var/mob/living/carbon/human/H in GLOB.mob_list) + for(var/mob/living/carbon/human/H in GLOB.carbon_list) if(H.mind) var/datum/mind/M = H.mind if(M.assigned_role && !(M in SSticker.mode.traitors)) diff --git a/code/modules/events/wizard/greentext.dm b/code/modules/events/wizard/greentext.dm index cde451405c..6ee000249b 100644 --- a/code/modules/events/wizard/greentext.dm +++ b/code/modules/events/wizard/greentext.dm @@ -83,7 +83,8 @@ . = ..() GLOB.poi_list.Remove(src) - for(var/mob/M in GLOB.mob_list) + for(var/i in GLOB.player_list) + var/mob/M = i var/message = "A dark temptation has passed from this world" if(M in color_altered_mobs) message += " and you're finally able to forgive yourself" diff --git a/code/modules/events/wizard/invincible.dm b/code/modules/events/wizard/invincible.dm index adb0a107b2..ff5d574541 100644 --- a/code/modules/events/wizard/invincible.dm +++ b/code/modules/events/wizard/invincible.dm @@ -7,6 +7,6 @@ /datum/round_event/wizard/invincible/start() - for(var/mob/living/carbon/human/H in GLOB.living_mob_list) + for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) H.reagents.add_reagent("adminordrazine", 40) //100 ticks of absolute invinciblity (barring gibs) to_chat(H, "You feel invincible, nothing can hurt you!") \ No newline at end of file diff --git a/code/modules/events/wizard/magicarp.dm b/code/modules/events/wizard/magicarp.dm index 5cebc55cbd..63fc7737bd 100644 --- a/code/modules/events/wizard/magicarp.dm +++ b/code/modules/events/wizard/magicarp.dm @@ -12,7 +12,7 @@ /datum/round_event/wizard/magicarp/setup() startWhen = rand(40, 60) -/datum/round_event/wizard/magicarp/announce() +/datum/round_event/wizard/magicarp/announce(fake) priority_announce("Unknown magical entities have been detected near [station_name()], please stand-by.", "Lifesign Alert") /datum/round_event/wizard/magicarp/start() diff --git a/code/modules/events/wizard/petsplosion.dm b/code/modules/events/wizard/petsplosion.dm index 5654cbfe04..3459c80318 100644 --- a/code/modules/events/wizard/petsplosion.dm +++ b/code/modules/events/wizard/petsplosion.dm @@ -7,7 +7,7 @@ var/mobs_to_dupe = 0 /datum/round_event_control/wizard/petsplosion/preRunEvent() - for(var/mob/living/simple_animal/F in GLOB.living_mob_list) + for(var/mob/living/simple_animal/F in GLOB.alive_mob_list) if(!ishostile(F) && (F.z in GLOB.station_z_levels)) mobs_to_dupe++ if(mobs_to_dupe > 100 || !mobs_to_dupe) @@ -23,7 +23,7 @@ /datum/round_event/wizard/petsplosion/tick() if(activeFor >= 30 * countdown) // 0 seconds : 2 animals | 30 seconds : 4 animals | 1 minute : 8 animals countdown += 1 - for(var/mob/living/simple_animal/F in GLOB.living_mob_list) //If you cull the heard before the next replication, things will be easier for you + for(var/mob/living/simple_animal/F in GLOB.alive_mob_list) //If you cull the heard before the next replication, things will be easier for you if(!ishostile(F) && (F.z in GLOB.station_z_levels)) new F.type(F.loc) mobs_duped++ diff --git a/code/modules/events/wizard/race.dm b/code/modules/events/wizard/race.dm index 298d92dd3c..e054be9b08 100644 --- a/code/modules/events/wizard/race.dm +++ b/code/modules/events/wizard/race.dm @@ -20,7 +20,7 @@ if(prob(50)) all_the_same = 1 - for(var/mob/living/carbon/human/H in GLOB.mob_list) //yes, even the dead + for(var/mob/living/carbon/human/H in GLOB.carbon_list) //yes, even the dead H.set_species(new_species) H.real_name = new_species.random_name(H.gender,1) H.dna.unique_enzymes = H.dna.generate_unique_enzymes() diff --git a/code/modules/events/wizard/shuffle.dm b/code/modules/events/wizard/shuffle.dm index 2f525d2098..d622f10c97 100644 --- a/code/modules/events/wizard/shuffle.dm +++ b/code/modules/events/wizard/shuffle.dm @@ -12,7 +12,7 @@ var/list/moblocs = list() var/list/mobs = list() - for(var/mob/living/carbon/human/H in GLOB.living_mob_list) + for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) if(!(H.z in GLOB.station_z_levels)) continue //lets not try to strand people in space or stuck in the wizards den moblocs += H.loc @@ -30,7 +30,7 @@ do_teleport(H, moblocs[moblocs.len]) moblocs.len -= 1 - for(var/mob/living/carbon/human/H in GLOB.living_mob_list) + for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) var/datum/effect_system/smoke_spread/smoke = new smoke.set_up(0, H.loc) smoke.start() @@ -48,7 +48,7 @@ var/list/mobnames = list() var/list/mobs = list() - for(var/mob/living/carbon/human/H in GLOB.living_mob_list) + for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) mobnames += H.real_name mobs += H @@ -64,7 +64,7 @@ H.real_name = mobnames[mobnames.len] mobnames.len -= 1 - for(var/mob/living/carbon/human/H in GLOB.living_mob_list) + for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) var/datum/effect_system/smoke_spread/smoke = new smoke.set_up(0, H.loc) smoke.start() @@ -81,7 +81,7 @@ /datum/round_event/wizard/shuffleminds/start() var/list/mobs = list() - for(var/mob/living/carbon/human/H in GLOB.living_mob_list) + for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) if(H.stat || !H.mind || iswizard(H)) continue //the wizard(s) are spared on this one mobs += H @@ -98,7 +98,7 @@ swapper.cast(list(H), mobs[mobs.len], 1) mobs -= mobs[mobs.len] - for(var/mob/living/carbon/human/H in GLOB.living_mob_list) + for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) var/datum/effect_system/smoke_spread/smoke = new smoke.set_up(0, H.loc) smoke.start() diff --git a/code/modules/events/wormholes.dm b/code/modules/events/wormholes.dm index 74169df074..dbaa8a1c22 100644 --- a/code/modules/events/wormholes.dm +++ b/code/modules/events/wormholes.dm @@ -28,7 +28,7 @@ var/turf/T = pick(pick_turfs) wormholes += new /obj/effect/portal/wormhole(T, null, 0, null, FALSE) -/datum/round_event/wormholes/announce() +/datum/round_event/wormholes/announce(fake) priority_announce("Space-time anomalies detected on the station. There is no additional data.", "Anomaly Alert", 'sound/ai/spanomalies.ogg') /datum/round_event/wormholes/tick() diff --git a/code/modules/fields/peaceborg_dampener.dm b/code/modules/fields/peaceborg_dampener.dm index 5e0fbdfb2b..79bd866fca 100644 --- a/code/modules/fields/peaceborg_dampener.dm +++ b/code/modules/fields/peaceborg_dampener.dm @@ -42,7 +42,7 @@ if(R.has_buckled_mobs()) for(var/mob/living/L in R.buckled_mobs) L.visible_message("[L] is knocked off of [R] by the charge in [R]'s chassis induced by [name]!") //I know it's bad. - L.Knockdown(60) + L.Knockdown(10) R.unbuckle_mob(L) do_sparks(5, 0, L) ..() diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 99dbe7102a..749b98c09a 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -460,7 +460,7 @@ GLOBAL_LIST_INIT(hallucinations_major, list( var/image/A = null var/kind = force_kind ? force_kind : pick("monkey","corgi","carp","skeleton","demon","zombie") feedback_details += "Type: [kind]" - for(var/mob/living/carbon/human/H in GLOB.living_mob_list) + for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) if(H == target) continue if(skip_nearby && (H in view(target))) @@ -538,7 +538,7 @@ GLOBAL_LIST_INIT(hallucinations_major, list( var/mob/living/carbon/human/clone = null var/clone_weapon = null - for(var/mob/living/carbon/human/H in GLOB.living_mob_list) + for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) if(H.stat || H.lying) continue clone = H @@ -769,7 +769,7 @@ GLOBAL_LIST_INIT(hallucinations_major, list( target.client.images.Remove(speech_overlay) else // Radio talk var/list/humans = list() - for(var/mob/living/carbon/human/H in GLOB.living_mob_list) + for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) humans += H person = pick(humans) var/message = target.compose_message(person,understood_language,pick(radio_messages),"1459",person.get_spans(),face_name = TRUE) @@ -905,45 +905,47 @@ GLOBAL_LIST_INIT(hallucinations_major, list( alert_type = specific feedback_details += "Type: [alert_type]" switch(alert_type) - if("oxy") - target.throw_alert("not_enough_oxy", /obj/screen/alert/not_enough_oxy, override = TRUE) + if("not_enough_oxy") + target.throw_alert(alert_type, /obj/screen/alert/not_enough_oxy, override = TRUE) if("not_enough_tox") - target.throw_alert("not_enough_tox", /obj/screen/alert/not_enough_tox, override = TRUE) + target.throw_alert(alert_type, /obj/screen/alert/not_enough_tox, override = TRUE) if("not_enough_co2") - target.throw_alert("not_enough_co2", /obj/screen/alert/not_enough_co2, override = TRUE) + target.throw_alert(alert_type, /obj/screen/alert/not_enough_co2, override = TRUE) if("too_much_oxy") - target.throw_alert("too_much_oxy", /obj/screen/alert/too_much_oxy, override = TRUE) + target.throw_alert(alert_type, /obj/screen/alert/too_much_oxy, override = TRUE) if("too_much_co2") - target.throw_alert("too_much_co2", /obj/screen/alert/too_much_co2, override = TRUE) - if("tox_in_air") - target.throw_alert("too_much_tox", /obj/screen/alert/too_much_tox, override = TRUE) + target.throw_alert(alert_type, /obj/screen/alert/too_much_co2, override = TRUE) + if("too_much_tox") + target.throw_alert(alert_type, /obj/screen/alert/too_much_tox, override = TRUE) if("nutrition") if(prob(50)) - target.throw_alert("nutrition", /obj/screen/alert/fat, override = TRUE) + target.throw_alert(alert_type, /obj/screen/alert/fat, override = TRUE) else - target.throw_alert("nutrition", /obj/screen/alert/starving, override = TRUE) + target.throw_alert(alert_type, /obj/screen/alert/starving, override = TRUE) if("weightless") - target.throw_alert("weightless", /obj/screen/alert/weightless, override = TRUE) + target.throw_alert(alert_type, /obj/screen/alert/weightless, override = TRUE) if("fire") - target.throw_alert("fire", /obj/screen/alert/fire, override = TRUE) + target.throw_alert(alert_type, /obj/screen/alert/fire, override = TRUE) if("temphot") - target.throw_alert("temp", /obj/screen/alert/hot, 3, override = TRUE) + alert_type = "temp" + target.throw_alert(alert_type, /obj/screen/alert/hot, 3, override = TRUE) if("tempcold") - target.throw_alert("temp", /obj/screen/alert/cold, 3, override = TRUE) + alert_type = "temp" + target.throw_alert(alert_type, /obj/screen/alert/cold, 3, override = TRUE) if("pressure") if(prob(50)) - target.throw_alert("pressure", /obj/screen/alert/highpressure, 2, override = TRUE) + target.throw_alert(alert_type, /obj/screen/alert/highpressure, 2, override = TRUE) else - target.throw_alert("pressure", /obj/screen/alert/lowpressure, 2, override = TRUE) + target.throw_alert(alert_type, /obj/screen/alert/lowpressure, 2, override = TRUE) //BEEP BOOP I AM A ROBOT if("newlaw") - target.throw_alert("newlaw", /obj/screen/alert/newlaw, override = TRUE) + target.throw_alert(alert_type, /obj/screen/alert/newlaw, override = TRUE) if("locked") - target.throw_alert("locked", /obj/screen/alert/locked, override = TRUE) + target.throw_alert(alert_type, /obj/screen/alert/locked, override = TRUE) if("hacked") - target.throw_alert("hacked", /obj/screen/alert/hacked, override = TRUE) + target.throw_alert(alert_type, /obj/screen/alert/hacked, override = TRUE) if("charge") - target.throw_alert("charge",/obj/screen/alert/emptycell, override = TRUE) + target.throw_alert(alert_type,/obj/screen/alert/emptycell, override = TRUE) sleep(duration) target.clear_alert(alert_type, clear_override = TRUE) qdel(src) diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm index 3b12913fe6..c115ef51af 100644 --- a/code/modules/food_and_drinks/food/condiment.dm +++ b/code/modules/food_and_drinks/food/condiment.dm @@ -19,7 +19,7 @@ "capsaicin" = list("hotsauce", "hotsauce bottle", "You can almost TASTE the stomach ulcers now!"), "enzyme" = list("enzyme", "universal enzyme bottle", "Used in cooking various dishes"), "soysauce" = list("soysauce", "soy sauce bottle", "A salty soy-based flavoring"), - "frostoil" = list("coldsauce", "coldsauce bottle", "Leaves the tongue numb in it's passage"), + "frostoil" = list("coldsauce", "coldsauce bottle", "Leaves the tongue numb in its passage"), "sodiumchloride" = list("saltshakersmall", "salt shaker", "Salt. From space oceans, presumably"), "blackpepper" = list("peppermillsmall", "pepper mill", "Often used to flavor food or make people sneeze"), "cornoil" = list("oliveoil", "corn oil bottle", "A delicious oil used in cooking. Made from corn"), diff --git a/code/modules/food_and_drinks/food/snacks/meat.dm b/code/modules/food_and_drinks/food/snacks/meat.dm index 106d5abb1e..5b9148d16c 100644 --- a/code/modules/food_and_drinks/food/snacks/meat.dm +++ b/code/modules/food_and_drinks/food/snacks/meat.dm @@ -8,7 +8,7 @@ icon_state = "meat" dried_type = /obj/item/reagent_containers/food/snacks/sosjerky/healthy bitesize = 3 - list_reagents = list("nutriment" = 3) + list_reagents = list("nutriment" = 3, "cooking_oil" = 2) //Meat has fats that a food processor can process into cooking oil cooked_type = /obj/item/reagent_containers/food/snacks/meat/steak/plain slice_path = /obj/item/reagent_containers/food/snacks/meat/rawcutlet/plain slices_num = 3 @@ -170,7 +170,7 @@ name = "bear meat" desc = "A very manly slab of meat." icon_state = "bearmeat" - list_reagents = list("nutriment" = 12, "morphine" = 5, "vitamin" = 2) + list_reagents = list("nutriment" = 12, "morphine" = 5, "vitamin" = 2, "cooking_oil" = 6) filling_color = "#FFB6C1" cooked_type = /obj/item/reagent_containers/food/snacks/meat/steak/bear slice_path = /obj/item/reagent_containers/food/snacks/meat/rawcutlet/bear @@ -205,7 +205,7 @@ /obj/item/reagent_containers/food/snacks/meat/slab/goliath name = "goliath meat" desc = "A slab of goliath meat. It's not very edible now, but it cooks great in lava." - list_reagents = list("nutriment" = 3, "toxin" = 5) + list_reagents = list("nutriment" = 3, "toxin" = 5, "cooking_oil" = 3) icon_state = "goliathmeat" tastes = list("meat" = 1) foodtype = RAW | MEAT | TOXIC @@ -218,7 +218,7 @@ /obj/item/reagent_containers/food/snacks/meat/slab/meatwheat name = "meatwheat clump" desc = "This doesn't look like meat, but your standards aren't that high to begin with." - list_reagents = list("nutriment" = 3, "vitamin" = 2, "blood" = 5) + list_reagents = list("nutriment" = 3, "vitamin" = 2, "blood" = 5, "cooking_oil" = 1) filling_color = rgb(150, 0, 0) icon_state = "meatwheat_clump" bitesize = 4 @@ -228,7 +228,7 @@ /obj/item/reagent_containers/food/snacks/meat/slab/gorilla name = "gorilla meat" desc = "Much meatier than monkey meat." - list_reagents = list("nutriment" = 5, "vitamin" = 1) + list_reagents = list("nutriment" = 5, "vitamin" = 1, "cooking_oil" = 5) //Plenty of fat! /obj/item/reagent_containers/food/snacks/meat/rawbacon name = "raw piece of bacon" @@ -236,7 +236,7 @@ icon_state = "bacon" cooked_type = /obj/item/reagent_containers/food/snacks/meat/bacon bitesize = 2 - list_reagents = list("nutriment" = 1) + list_reagents = list("nutriment" = 1, "cooking_oil" = 3) filling_color = "#B22222" tastes = list("bacon" = 1) foodtype = RAW | MEAT @@ -246,7 +246,7 @@ desc = "A delicious piece of bacon." icon_state = "baconcooked" list_reagents = list("nutriment" = 2) - bonus_reagents = list("nutriment" = 1, "vitamin" = 1) + bonus_reagents = list("nutriment" = 1, "vitamin" = 1, "cooking_oil" = 2) filling_color = "#854817" tastes = list("bacon" = 1) foodtype = MEAT diff --git a/code/modules/food_and_drinks/food/snacks_bread.dm b/code/modules/food_and_drinks/food/snacks_bread.dm index 0d76bb6e7d..8f48e94d08 100644 --- a/code/modules/food_and_drinks/food/snacks_bread.dm +++ b/code/modules/food_and_drinks/food/snacks_bread.dm @@ -185,36 +185,39 @@ icon_state = "" bitesize = 2 -/obj/item/reagent_containers/food/snacks/deepfryholder/proc/fry(obj/item/frying, datum/reagents/reagents, cook_time = 30) - if(istype(frying, /obj/item/reagent_containers/)) - var/obj/item/reagent_containers/food = frying - food.reagents.trans_to(src, food.reagents.total_volume) - icon = frying.icon - overlays = frying.overlays - icon_state = frying.icon_state - desc = frying.desc - w_class = frying.w_class - reagents.trans_to(src, 2*(cook_time/15)) +/obj/item/reagent_containers/food/snacks/deepfryholder/Initialize(mapload, obj/item/fried) + . = ..() + name = fried.name //We'll determine the other stuff when it's actually removed + icon = fried.icon + overlays = fried.copy_overlays() + icon_state = fried.icon_state + desc = fried.desc + if(istype(fried, /obj/item/reagent_containers/food/snacks)) + fried.reagents.trans_to(src, fried.reagents.total_volume) + qdel(fried) + else + fried.forceMove(src) + +/obj/item/reagent_containers/food/snacks/deepfryholder/proc/fry(cook_time = 30) switch(cook_time) if(0 to 15) add_atom_colour(rgb(166,103,54), FIXED_COLOUR_PRIORITY) - name = "lightly-fried [frying.name]" + name = "lightly-fried [name]" + desc = "[desc] It's been lightly fried in a deep fryer." if(16 to 49) add_atom_colour(rgb(103,63,24), FIXED_COLOUR_PRIORITY) - name = "fried [frying.name]" + name = "fried [name]" + desc = "[desc] It's been fried, increasing its tastiness value by [rand(1, 75)]%." if(50 to 59) add_atom_colour(rgb(63,23,4), FIXED_COLOUR_PRIORITY) - name = "deep-fried [frying.name]" + name = "deep-fried [name]" + desc = "[desc] Deep-fried to perfection." if(60 to INFINITY) add_atom_colour(rgb(33,19,9), FIXED_COLOUR_PRIORITY) name = "the physical manifestation of the very concept of fried foods" - desc = "A heavily fried...something. Who can tell anymore?" + desc = "A heavily-fried...something. Who can tell anymore?" filling_color = color foodtype |= FRIED - if(istype(frying, /obj/item/reagent_containers/food/snacks/)) - qdel(frying) - else - frying.forceMove(src) /obj/item/reagent_containers/food/snacks/butteredtoast name = "buttered toast" diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm index a9d3d3489d..a336d77404 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm @@ -1,11 +1,25 @@ /* April 3rd, 2014 marks the day this machine changed the face of the kitchen on NTStation13 God bless America. -insert ascii eagle on american flag background here + ___----------___ + _-- ----__ + - ---_ + -___ ____---_ --_ + __---_ .-_-- _ O _- - + - -_- --- - +- __---------___ - +- _---- - + - -_ _ + ` _- _ + _ _-_ _-_ _ + _- ____ -_ - -- + - _-__ _ __--- ------- - + _- _- -_-- -_-- _ + -_- _ + _- _ + - */ -// April 3rd, 2014 marks the day this machine changed the face of the kitchen on NTStation13 -// God bless America. /obj/machinery/deepfryer name = "deep fryer" desc = "Deep fried everything." @@ -16,8 +30,12 @@ insert ascii eagle on american flag background here use_power = IDLE_POWER_USE idle_power_usage = 5 container_type = OPENCONTAINER_1 - var/obj/item/frying = null //What's being fried RIGHT NOW? + var/obj/item/reagent_containers/food/snacks/deepfryholder/frying //What's being fried RIGHT NOW? var/cook_time = 0 + var/oil_use = 0.05 //How much cooking oil is used per tick + var/fry_speed = 1 //How quickly we fry food + var/frying_fried //If the object has been fried; used for messages + var/frying_burnt //If the object has been burnt var/static/list/deepfry_blacklisted_items = typecacheof(list( /obj/item/screwdriver, /obj/item/crowbar, @@ -26,16 +44,27 @@ insert ascii eagle on american flag background here /obj/item/device/multitool, /obj/item/weldingtool, /obj/item/reagent_containers/glass, + /obj/item/reagent_containers/syringe, + /obj/item/reagent_containers/food/condiment, /obj/item/storage/part_replacer)) + var/datum/looping_sound/deep_fryer/fry_loop /obj/machinery/deepfryer/Initialize() . = ..() create_reagents(50) - reagents.add_reagent("nutriment", 25) + reagents.add_reagent("cooking_oil", 25) component_parts = list() component_parts += new /obj/item/circuitboard/machine/deep_fryer(null) component_parts += new /obj/item/stock_parts/micro_laser(null) RefreshParts() + fry_loop = new(list(src), FALSE) + +/obj/machinery/deepfryer/RefreshParts() + var/oil_efficiency + for(var/obj/item/stock_parts/micro_laser/M in component_parts) + oil_efficiency += M.rating + oil_use = initial(oil_use) - (oil_efficiency * 0.0095) + fry_speed = oil_efficiency /obj/machinery/deepfryer/examine() ..() @@ -43,8 +72,16 @@ insert ascii eagle on american flag background here to_chat(usr, "You can make out \a [frying] in the oil.") /obj/machinery/deepfryer/attackby(obj/item/I, mob/user) - if(!reagents.total_volume) - to_chat(user, "There's nothing to fry with in [src]!") + if(istype(I, /obj/item/reagent_containers/pill)) + if(!reagents.total_volume) + to_chat(user, "There's nothing to dissolve [I] in!") + return + user.visible_message("[user] drops [I] into [src].", "You dissolve [I] in [src].") + I.reagents.trans_to(src, I.reagents.total_volume) + qdel(I) + return + if(!reagents.has_reagent("cooking_oil")) + to_chat(user, "[src] has no cooking oil to fry with!") return if(istype(I, /obj/item/reagent_containers/food/snacks/deepfryholder)) to_chat(user, "Your cooking skills are not up to the legendary Doublefry technique.") @@ -60,32 +97,43 @@ insert ascii eagle on american flag background here . = ..() else if(!frying && user.transferItemToLoc(I, src)) to_chat(user, "You put [I] into [src].") - frying = I + frying = new/obj/item/reagent_containers/food/snacks/deepfryholder(src, I) icon_state = "fryer_on" + fry_loop.start() /obj/machinery/deepfryer/process() ..() - if(!reagents.total_volume) + var/datum/reagent/consumable/cooking_oil/C = reagents.has_reagent("cooking_oil") + if(!C) return + reagents.chem_temp = C.fry_temperature if(frying) - cook_time++ - if(cook_time == 30) + reagents.trans_to(frying, oil_use, multiplier = fry_speed * 3) //Fried foods gain more of the reagent thanks to space magic + cook_time += fry_speed + if(cook_time >= 30 && !frying_fried) + frying_fried = TRUE //frying... frying... fried playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) - visible_message("[src] dings!") - else if (cook_time == 60) - visible_message("[src] emits an acrid smell!") + audible_message("[src] dings!") + else if (cook_time >= 60 && !frying_burnt) + frying_burnt = TRUE + visible_message("[src] emits an acrid smell!") +/obj/machinery/deepfryer/attack_ai(mob/user) + return + /obj/machinery/deepfryer/attack_hand(mob/user) if(frying) if(frying.loc == src) to_chat(user, "You eject [frying] from [src].") - var/obj/item/reagent_containers/food/snacks/deepfryholder/S = new(get_turf(src)) - S.fry(frying, reagents, cook_time) + frying.fry(cook_time) icon_state = "fryer_off" - user.put_in_hands(S) + user.put_in_hands(frying) frying = null cook_time = 0 + frying_fried = FALSE + frying_burnt = FALSE + fry_loop.stop() return else if(user.pulling && user.a_intent == "grab" && iscarbon(user.pulling) && reagents.total_volume) if(user.grab_state < GRAB_AGGRESSIVE) @@ -94,7 +142,7 @@ insert ascii eagle on american flag background here var/mob/living/carbon/C = user.pulling user.visible_message("[user] dunks [C]'s face in [src]!") reagents.reaction(C, TOUCH) - C.adjustFireLoss(reagents.total_volume) + C.apply_damage(min(30, reagents.total_volume), BURN, "head") reagents.remove_any((reagents.total_volume/2)) C.Knockdown(60) user.changeNext_move(CLICK_CD_MELEE) diff --git a/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm b/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm index 8b91e6838c..765b5ff891 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm @@ -37,25 +37,25 @@ var/dat dat += "
    STORED INGREDIENTS AND DRINKS
    " dat += "Remaining glasses: [glasses]
    " - dat += "Portion: [portion]
    " + dat += "Portion: [portion]
    " for(var/datum/reagent/R in reagents.reagent_list) dat += "[R.name]: [R.volume] " - dat += "Purge" + dat += "Purge" if (glasses > 0) - dat += "Pour in a glass" - dat += "Add to the mixer
    " + dat += "Pour in a glass" + dat += "Add to the mixer
    " dat += "

    MIXER CONTENTS
    " for(var/datum/reagent/R in mixer.reagents.reagent_list) dat += "[R.name]: [R.volume] " - dat += "Transfer back" + dat += "Transfer back" if (glasses > 0) - dat += "Pour in a glass" + dat += "Pour in a glass" dat += "
    " dat += "

    STORED FOOD
    " for(var/V in stored_food) if(stored_food[V] > 0) - dat += "[V]: [stored_food[V]] Dispense
    " - dat += "

    Refresh Close" + dat += "[V]: [stored_food[V]] Dispense
    " + dat += "

    Refresh Close" var/datum/browser/popup = new(user, "foodcart","Food Cart", 500, 350, src) popup.set_content(dat) diff --git a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm index 845f10896e..1b00de1842 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm @@ -77,19 +77,19 @@ var/dat dat += "ICE CREAM
    " dat += "Dispensing: [flavour_name] icecream

    " - dat += "Vanilla ice cream: Select Make x5 [product_types[ICECREAM_VANILLA]] scoops left. (Ingredients: milk, ice)
    " - dat += "Strawberry ice cream: Select Make x5 [product_types[ICECREAM_STRAWBERRY]] dollops left. (Ingredients: milk, ice, berry juice)
    " - dat += "Chocolate ice cream: Select Make x5 [product_types[ICECREAM_CHOCOLATE]] dollops left. (Ingredients: milk, ice, coco powder)
    " - dat += "Blue ice cream: Select Make x5 [product_types[ICECREAM_BLUE]] dollops left. (Ingredients: milk, ice, singulo)
    " + dat += "Vanilla ice cream: Select Make x5 [product_types[ICECREAM_VANILLA]] scoops left. (Ingredients: milk, ice)
    " + dat += "Strawberry ice cream: Select Make x5 [product_types[ICECREAM_STRAWBERRY]] dollops left. (Ingredients: milk, ice, berry juice)
    " + dat += "Chocolate ice cream: Select Make x5 [product_types[ICECREAM_CHOCOLATE]] dollops left. (Ingredients: milk, ice, coco powder)
    " + dat += "Blue ice cream: Select Make x5 [product_types[ICECREAM_BLUE]] dollops left. (Ingredients: milk, ice, singulo)
    " dat += "
    CONES
    " - dat += "Waffle cones: Dispense Make x5 [product_types[CONE_WAFFLE]] cones left. (Ingredients: flour, sugar)
    " - dat += "Chocolate cones: Dispense Make x5 [product_types[CONE_CHOC]] cones left. (Ingredients: flour, sugar, coco powder)
    " + dat += "Waffle cones: Dispense Make x5 [product_types[CONE_WAFFLE]] cones left. (Ingredients: flour, sugar)
    " + dat += "Chocolate cones: Dispense Make x5 [product_types[CONE_CHOC]] cones left. (Ingredients: flour, sugar, coco powder)
    " dat += "
    " dat += "VAT CONTENT
    " for(var/datum/reagent/R in reagents.reagent_list) dat += "[R.name]: [R.volume]" - dat += "Purge
    " - dat += "Refresh Close" + dat += "Purge
    " + dat += "Refresh Close" var/datum/browser/popup = new(user, "icecreamvat","Icecream Vat", 700, 500, src) popup.set_content(dat) diff --git a/code/modules/food_and_drinks/kitchen_machinery/juicer.dm b/code/modules/food_and_drinks/kitchen_machinery/juicer.dm index a24263bfa6..0e6a7e9034 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/juicer.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/juicer.dm @@ -105,9 +105,9 @@ [beaker_contents]
    "} if (is_beaker_ready && !is_chamber_empty && !(stat & (NOPOWER|BROKEN))) - dat += "Turn on!
    " + dat += "
    Turn on!
    " if (beaker) - dat += "
    Detach the container!
    " + dat += "
    Detach the container!
    " user << browse("Juicer[dat]", "window=juicer") onclose(user, "juicer") return diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm index fd2471b96e..9d7b6cb203 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm @@ -15,6 +15,7 @@ var/broken = 0 // ={0,1,2} How broken is it??? var/max_n_of_items = 10 // whatever fat fuck made this a global var needs to look at themselves in the mirror sometime var/efficiency = 0 + var/datum/looping_sound/microwave/soundloop //Microwaving doesn't use recipes, instead it calls the microwave_act of the objects. For food, this creates something based on the food's cooked_type @@ -25,6 +26,7 @@ /obj/machinery/microwave/Initialize() . = ..() create_reagents(100) + soundloop = new(list(src), FALSE) /obj/machinery/microwave/RefreshParts() var/E @@ -197,8 +199,8 @@ dat += "The microwave is empty." else dat = "

    Ingredients:

    [dat]" - dat += "
    Turn on" - dat += "Eject ingredients
    " + dat += "Turn on" + dat += "Eject ingredients
    " var/datum/browser/popup = new(user, "microwave", name, 300, 300) popup.set_content(dat) @@ -266,6 +268,7 @@ /obj/machinery/microwave/proc/start() visible_message("The microwave turns on.", "You hear a microwave humming.") + soundloop.start() operating = TRUE icon_state = "mw1" updateUsrDialog() @@ -276,7 +279,7 @@ updateUsrDialog() /obj/machinery/microwave/proc/stop() - playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) + soundloop.stop() abort() /obj/machinery/microwave/proc/dispose() diff --git a/code/modules/food_and_drinks/kitchen_machinery/processor.dm b/code/modules/food_and_drinks/kitchen_machinery/processor.dm index 0699e22547..7c2bacb6bf 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/processor.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/processor.dm @@ -24,8 +24,6 @@ /obj/machinery/processor/process() ..() - // The irony - // To be clear, if it's grinding, then it can't suck them up if(processing) return var/mob/living/simple_animal/slime/picked_slime @@ -43,125 +41,44 @@ return src.visible_message("[picked_slime] is sucked into [src].") - picked_slime.loc = src + picked_slime.forceMove(src) -/datum/food_processor_process - var/input - var/output - var/time = 40 -/datum/food_processor_process/proc/process_food(loc, what, obj/machinery/processor/processor) - if (src.output && loc && processor) - for(var/i = 0, i < processor.rating_amount, i++) - new src.output(loc) - if (what) - qdel(what) // Note to self: Make this safer - - /* objs */ -/datum/food_processor_process/meat - input = /obj/item/reagent_containers/food/snacks/meat/slab - output = /obj/item/reagent_containers/food/snacks/faggot - -/datum/food_processor_process/bacon - input = /obj/item/reagent_containers/food/snacks/meat/rawcutlet - output = /obj/item/reagent_containers/food/snacks/meat/rawbacon - -/datum/food_processor_process/potatowedges - input = /obj/item/reagent_containers/food/snacks/grown/potato/wedges - output = /obj/item/reagent_containers/food/snacks/fries - -/datum/food_processor_process/sweetpotato - input = /obj/item/reagent_containers/food/snacks/grown/potato/sweet - output = /obj/item/reagent_containers/food/snacks/yakiimo - -/datum/food_processor_process/potato - input = /obj/item/reagent_containers/food/snacks/grown/potato - output = /obj/item/reagent_containers/food/snacks/tatortot - -/datum/food_processor_process/carrot - input = /obj/item/reagent_containers/food/snacks/grown/carrot - output = /obj/item/reagent_containers/food/snacks/carrotfries - -/datum/food_processor_process/soybeans - input = /obj/item/reagent_containers/food/snacks/grown/soybeans - output = /obj/item/reagent_containers/food/snacks/soydope - -/datum/food_processor_process/spaghetti - input = /obj/item/reagent_containers/food/snacks/doughslice - output = /obj/item/reagent_containers/food/snacks/spaghetti - -/datum/food_processor_process/corn - input = /obj/item/reagent_containers/food/snacks/grown/corn - output = /obj/item/reagent_containers/food/snacks/tortilla - -/datum/food_processor_process/parsnip - input = /obj/item/reagent_containers/food/snacks/grown/parsnip - output = /obj/item/reagent_containers/food/snacks/roastparsnip - -/* mobs */ -/datum/food_processor_process/mob/process_food(loc, what, processor) - ..() +/obj/machinery/processor/proc/process_food(datum/food_processor_process/recipe, atom/movable/what) + if (recipe.output && loc && !QDELETED(src)) + for(var/i = 0, i < rating_amount, i++) + new recipe.output(drop_location()) + if (ismob(what)) + var/mob/themob = what + themob.gib(TRUE,TRUE,TRUE) + else + qdel(what) -/datum/food_processor_process/mob/slime/process_food(loc, what, obj/machinery/processor/processor) +/obj/machinery/processor/slime/process_food(datum/food_processor_process/recipe, atom/movable/what) var/mob/living/simple_animal/slime/S = what - var/C = S.cores - if(S.stat != DEAD) - S.loc = loc - S.visible_message("[C] crawls free of the processor!") - return - for(var/i in 1 to (C+processor.rating_amount-1)) - new S.coretype(loc) - SSblackbox.add_details("slime_core_harvested","[replacetext(S.colour," ","_")]") + if (istype(S)) + var/C = S.cores + if(S.stat != DEAD) + S.forceMove(drop_location()) + S.visible_message("[C] crawls free of the processor!") + return + for(var/i in 1 to (C+rating_amount-1)) + var/atom/movable/item = new S.coretype(drop_location()) + adjust_item_drop_location(item) + SSblackbox.add_details("slime_core_harvested","[replacetext(S.colour," ","_")]") ..() -/datum/food_processor_process/mob/slime/input = /mob/living/simple_animal/slime -/datum/food_processor_process/mob/slime/output = null - -/datum/food_processor_process/mob/monkey/process_food(loc, what, processor) - var/mob/living/carbon/monkey/O = what - if (O.client) //grief-proof - O.loc = loc - O.visible_message("Suddenly [O] jumps out from the processor!", \ - "You jump out from the processor!", \ - "You hear chimpering.") - return - var/obj/bucket = new /obj/item/reagent_containers/glass/bucket(loc) - - var/datum/reagent/blood/B = new() - B.holder = bucket - B.volume = 70 - //set reagent data - B.data["donor"] = O - - for(var/thing in O.viruses) - var/datum/disease/D = thing - if(!(D.spread_flags & VIRUS_SPREAD_SPECIAL)) - B.data["viruses"] += D.Copy() - if(O.has_dna()) - B.data["blood_DNA"] = O.dna.unique_enzymes - - if(O.resistances&&O.resistances.len) - B.data["resistances"] = O.resistances.Copy() - bucket.reagents.reagent_list += B - bucket.reagents.update_total() - bucket.on_reagent_change() - //bucket_of_blood.reagents.handle_reactions() //blood doesn't react - ..() - -/datum/food_processor_process/mob/monkey/input = /mob/living/carbon/monkey -/datum/food_processor_process/mob/monkey/output = null /obj/machinery/processor/proc/select_recipe(X) - for (var/Type in subtypesof(/datum/food_processor_process) - /datum/food_processor_process/mob) - var/datum/food_processor_process/P = new Type() - if (!istype(X, P.input)) + for (var/type in subtypesof(/datum/food_processor_process) - /datum/food_processor_process/mob) + var/datum/food_processor_process/recipe = new type() + if (!istype(X, recipe.input) || !istype(src, recipe.required_machine)) continue - return P - return 0 + return recipe /obj/machinery/processor/attackby(obj/item/O, mob/user, params) if(src.processing) - to_chat(user, "The processor is in the process of processing!") + to_chat(user, "[src] is in the process of processing!") return 1 if(default_deconstruction_screwdriver(user, "processor", "processor1", O)) return @@ -205,12 +122,12 @@ return ..() /obj/machinery/processor/attack_hand(mob/user) - if (src.stat != 0) //NOPOWER etc + if(stat & (NOPOWER|BROKEN)) return if(src.processing) - to_chat(user, "The processor is in the process of processing!") + to_chat(user, "[src] is in the process of processing!") return 1 - if(user.a_intent == INTENT_GRAB && user.pulling && (isslime(user.pulling) || ismonkey(user.pulling))) + if(user.a_intent == INTENT_GRAB && user.pulling && select_recipe(user.pulling)) if(user.grab_state < GRAB_AGGRESSIVE) to_chat(user, "You need a better grip to do that!") return @@ -220,7 +137,7 @@ user.stop_pulling() return if(src.contents.len == 0) - to_chat(user, "The processor is empty!") + to_chat(user, "[src] is empty!") return 1 processing = TRUE user.visible_message("[user] turns on [src].", \ @@ -238,12 +155,12 @@ var/offset = prob(50) ? -2 : 2 animate(src, pixel_x = pixel_x + offset, time = 0.2, loop = (total_time / rating_speed)*5) //start shaking sleep(total_time / rating_speed) - for(var/O in src.contents) + for(var/atom/movable/O in src.contents) var/datum/food_processor_process/P = select_recipe(O) if (!P) - log_admin("DEBUG: [O] in processor havent suitable recipe. How do you put it in?") //-rastaf0 + log_admin("DEBUG: [O] in processor havent suitable recipe. How do you put it in?") continue - P.process_food(src.loc, O, src) + process_food(P, O) pixel_x = initial(pixel_x) //return to its spot after shaking processing = FALSE src.visible_message("\The [src] finishes processing.") @@ -267,10 +184,24 @@ return /obj/machinery/processor/slime - name = "Slime processor" + name = "slime processor" desc = "An industrial grinder with a sticker saying appropriated for science department. Keep hands clear of intake area while operating." /obj/machinery/processor/slime/Initialize() . = ..() var/obj/item/circuitboard/machine/B = new /obj/item/circuitboard/machine/processor/slime(null) - B.apply_default_parts(src) \ No newline at end of file + B.apply_default_parts(src) + +/obj/machinery/processor/slime/adjust_item_drop_location(atom/movable/AM) + var/static/list/slimecores = subtypesof(/obj/item/slime_extract) + var/i = 0 + if(!(i = slimecores.Find(AM.type))) // If the item is not found + return + if (i <= 16) // If in the first 12 slots + AM.pixel_x = -12 + ((i%4)*8) + AM.pixel_y = -12 + (round(i/4)*8) + return i + var/ii = i - 16 + AM.pixel_x = -8 + ((ii%3)*8) + AM.pixel_y = -8 + (round(ii/3)*8) + return i diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index efd877b9dc..46e2f3ea5f 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -194,6 +194,7 @@ break if(O.name == params["name"]) O.forceMove(drop_location()) + adjust_item_drop_location(O) desired-- return TRUE return FALSE diff --git a/code/modules/food_and_drinks/pizzabox.dm b/code/modules/food_and_drinks/pizzabox.dm index 6788d1fc92..d746fd600e 100644 --- a/code/modules/food_and_drinks/pizzabox.dm +++ b/code/modules/food_and_drinks/pizzabox.dm @@ -1,5 +1,4 @@ -/obj/item/bombcore/pizza - parent_type = /obj/item/bombcore/miniature +/obj/item/bombcore/miniature/pizza name = "pizza bomb" desc = "Special delivery!" icon_state = "pizzabomb_inactive" @@ -23,7 +22,7 @@ var/obj/item/reagent_containers/food/snacks/pizza/pizza - var/obj/item/bombcore/pizza/bomb + var/obj/item/bombcore/miniature/pizza/bomb var/bomb_active = FALSE // If the bomb is counting down. var/bomb_defused = TRUE // If the bomb is inert. var/bomb_timer = 1 // How long before blowing the bomb. @@ -53,7 +52,7 @@ else var/obj/item/pizzabox/box = boxes.len ? boxes[boxes.len] : src if(boxes.len) - desc = "A pile of boxes suited for pizzas. There appears to be [boxes.len + 1] boxes in the pile." + desc = "A pile of boxes suited for pizzas. There appear to be [boxes.len + 1] boxes in the pile." if(box.boxtag != "") desc = "[desc] The [boxes.len ? "top box" : "box"]'s tag reads: [box.boxtag]" @@ -156,7 +155,7 @@ var/list/add = list() add += newbox add += newbox.boxes - if(!user.transferItemToLoc(add, src)) + if(!user.transferItemToLoc(newbox, src)) return boxes += add newbox.boxes.Cut() @@ -184,7 +183,7 @@ to_chat(user, "You put [I] in [src].") update_icon() return - else if(istype(I, /obj/item/bombcore/pizza)) + else if(istype(I, /obj/item/bombcore/miniature/pizza)) if(open && !bomb) if(!user.transferItemToLoc(I, src)) return diff --git a/code/modules/food_and_drinks/recipes/processor_recipes.dm b/code/modules/food_and_drinks/recipes/processor_recipes.dm new file mode 100644 index 0000000000..1da81b99ec --- /dev/null +++ b/code/modules/food_and_drinks/recipes/processor_recipes.dm @@ -0,0 +1,50 @@ +/datum/food_processor_process + var/input + var/output + var/time = 40 + var/required_machine = /obj/machinery/processor + +/datum/food_processor_process/meat + input = /obj/item/reagent_containers/food/snacks/meat/slab + output = /obj/item/reagent_containers/food/snacks/faggot + +/datum/food_processor_process/bacon + input = /obj/item/reagent_containers/food/snacks/meat/rawcutlet + output = /obj/item/reagent_containers/food/snacks/meat/rawbacon + +/datum/food_processor_process/potatowedges + input = /obj/item/reagent_containers/food/snacks/grown/potato/wedges + output = /obj/item/reagent_containers/food/snacks/fries + +/datum/food_processor_process/sweetpotato + input = /obj/item/reagent_containers/food/snacks/grown/potato/sweet + output = /obj/item/reagent_containers/food/snacks/yakiimo + +/datum/food_processor_process/potato + input = /obj/item/reagent_containers/food/snacks/grown/potato + output = /obj/item/reagent_containers/food/snacks/tatortot + +/datum/food_processor_process/carrot + input = /obj/item/reagent_containers/food/snacks/grown/carrot + output = /obj/item/reagent_containers/food/snacks/carrotfries + +/datum/food_processor_process/soybeans + input = /obj/item/reagent_containers/food/snacks/grown/soybeans + output = /obj/item/reagent_containers/food/snacks/soydope + +/datum/food_processor_process/spaghetti + input = /obj/item/reagent_containers/food/snacks/doughslice + output = /obj/item/reagent_containers/food/snacks/spaghetti + +/datum/food_processor_process/corn + input = /obj/item/reagent_containers/food/snacks/grown/corn + output = /obj/item/reagent_containers/food/snacks/tortilla + +/datum/food_processor_process/parsnip + input = /obj/item/reagent_containers/food/snacks/grown/parsnip + output = /obj/item/reagent_containers/food/snacks/roastparsnip + +/datum/food_processor_process/mob/slime + input = /mob/living/simple_animal/slime + output = null + required_machine = /obj/machinery/processor/slime \ No newline at end of file diff --git a/code/modules/games/cards.dm b/code/modules/games/cards.dm index a041e1d8eb..89f6316297 100644 --- a/code/modules/games/cards.dm +++ b/code/modules/games/cards.dm @@ -218,9 +218,9 @@ /obj/item/hand/proc/update_conceal() if (src.concealed) - src.hi.updateContent("headbar", "You are currently concealing your hand. Reveal your hand.") + src.hi.updateContent("headbar", "You are currently concealing your hand. Reveal your hand.") else - src.hi.updateContent("headbar", "You are currently revealing your hand. Conceal your hand.") + src.hi.updateContent("headbar", "You are currently revealing your hand. Conceal your hand.") /obj/item/hand/update_icon() if (!cards.len) @@ -260,7 +260,7 @@ var/html = "" for(var/datum/playingcard/card in cards) - html = html + "" + html = html + "" src.hi.updateContent("hand", html) diff --git a/code/modules/goonchat/browserOutput.dm b/code/modules/goonchat/browserOutput.dm index 408da4c401..7e0ca0bb7d 100644 --- a/code/modules/goonchat/browserOutput.dm +++ b/code/modules/goonchat/browserOutput.dm @@ -13,7 +13,7 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic var/cookieSent = FALSE // Has the client sent a cookie for analysis var/broken = FALSE var/list/connectionHistory //Contains the connection history passed from chat cookie - var/adminMusicVolume = 100 //This is for the Play Global Sound verb + var/adminMusicVolume = 25 //This is for the Play Global Sound verb /datum/chatOutput/New(client/C) owner = C @@ -158,7 +158,7 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic var/list/row = src.connectionHistory[i] if (!row || row.len < 3 || (!row["ckey"] || !row["compid"] || !row["ip"])) //Passed malformed history object return - if (world.IsBanned(row["ckey"], row["compid"], row["ip"])) + if (world.IsBanned(row["ckey"], row["compid"], row["ip"], real_bans_only=TRUE)) found = row break diff --git a/code/modules/goonchat/browserassets/js/browserOutput.js b/code/modules/goonchat/browserassets/js/browserOutput.js index f027b523aa..2ef7704625 100644 --- a/code/modules/goonchat/browserassets/js/browserOutput.js +++ b/code/modules/goonchat/browserassets/js/browserOutput.js @@ -65,6 +65,8 @@ var opts = { 'volumeUpdateDelay': 5000, //Time from when the volume updates to data being sent to the server 'volumeUpdating': false, //True if volume update function set to fire 'updatedVolume': 0, //The volume level that is sent to the server + + 'defaultMusicVolume': 25, }; @@ -604,6 +606,8 @@ $(function() { opts.updatedVolume = newVolume; sendVolumeUpdate(); internalOutput('Loaded music volume of: '+savedConfig.smusicVolume+'', 'internal'); + } else { + $('#adminMusic').prop('volume', opts.defaultMusicVolume / 100); } (function() { diff --git a/code/modules/holiday/easter.dm b/code/modules/holiday/easter.dm index 24f674219e..66d92df569 100644 --- a/code/modules/holiday/easter.dm +++ b/code/modules/holiday/easter.dm @@ -10,7 +10,7 @@ max_occurrences = 1 earliest_start = 0 -/datum/round_event/easter/announce() +/datum/round_event/easter/announce(fake) priority_announce(pick("Hip-hop into Easter!","Find some Bunny's stash!","Today is National 'Hunt a Wabbit' Day.","Be kind, give Chocolate Eggs!")) @@ -21,7 +21,7 @@ weight = 5 max_occurrences = 10 -/datum/round_event/rabbitrelease/announce() +/datum/round_event/rabbitrelease/announce(fake) priority_announce("Unidentified furry objects detected coming aboard [station_name()]. Beware of Adorable-ness.", "Fluffy Alert", 'sound/ai/aliens.ogg') diff --git a/code/modules/holiday/holidays.dm b/code/modules/holiday/holidays.dm index 751bc53eac..388a9d6893 100644 --- a/code/modules/holiday/holidays.dm +++ b/code/modules/holiday/holidays.dm @@ -33,7 +33,7 @@ if(!end_month) end_month = begin_month if(begin_week && begin_weekday) - if(begin_week == ww && begin_weekday == ddd) + if(begin_week == ww && begin_weekday == ddd && begin_month == mm) return TRUE if(end_month > begin_month) //holiday spans multiple months in one year if(mm == end_month) //in final month diff --git a/code/modules/holodeck/computer.dm b/code/modules/holodeck/computer.dm index cd2a584251..97b610a5d2 100644 --- a/code/modules/holodeck/computer.dm +++ b/code/modules/holodeck/computer.dm @@ -176,7 +176,7 @@ /obj/machinery/computer/holodeck/proc/generate_program_list() for(var/typekey in subtypesof(program_type)) var/area/holodeck/A = locate(typekey) in GLOB.sortedAreas - if(!A || A == offline_program || !A.contents.len) + if(!A || !A.contents.len) continue var/list/info_this = list() info_this["name"] = A.name diff --git a/code/modules/html_interface/html_interface.dm b/code/modules/html_interface/html_interface.dm index e53d67b364..a8b48079fa 100644 --- a/code/modules/html_interface/html_interface.dm +++ b/code/modules/html_interface/html_interface.dm @@ -149,20 +149,20 @@ GLOBAL_LIST_EMPTY(html_interfaces) asset_list[type] = assetlist /datum/html_interface/proc/createWindow(datum/html_interface_client/hclient) - winclone(hclient.client, "window", "browser_\ref[src]") + winclone(hclient.client, "window", "browser_[REF(src)]") var/list/params = list( "size" = "[width]x[height]", "statusbar" = "false", - "on-close" = "byond://?src=\ref[src]&html_interface_action=onclose" + "on-close" = "byond://?src=[REF(src)]&html_interface_action=onclose" ) if (hclient.client.hi_last_pos) params["pos"] = "[hclient.client.hi_last_pos]" - winset(hclient.client, "browser_\ref[src]", list2params(params)) + winset(hclient.client, "browser_[REF(src)]", list2params(params)) - winset(hclient.client, "browser_\ref[src].browser", list2params(list("parent" = "browser_\ref[src]", "type" = "browser", "pos" = "0,0", "size" = "[width]x[height]", "anchor1" = "0,0", "anchor2" = "100,100", "use-title" = "true", "auto-format" = "false"))) + winset(hclient.client, "browser_[REF(src)].browser", list2params(list("parent" = "browser_[REF(src)]", "type" = "browser", "pos" = "0,0", "size" = "[width]x[height]", "anchor1" = "0,0", "anchor2" = "100,100", "use-title" = "true", "auto-format" = "false"))) /* * Public API */ /datum/html_interface/proc/getTitle() @@ -185,7 +185,7 @@ GLOBAL_LIST_EMPTY(html_interfaces) if (istype(hclient)) if (hclient.is_loaded) - hclient.client << output(list2params(list(jscript)), "browser_\ref[src].browser:eval") + hclient.client << output(list2params(list(jscript)), "browser_[REF(src)].browser:eval") else for (var/client in src.clients) if(src.clients[client]) @@ -200,7 +200,7 @@ GLOBAL_LIST_EMPTY(html_interfaces) if (istype(hclient)) if (hclient.is_loaded) - hclient.client << output(list2params(arguments), "browser_\ref[src].browser:[func]") + hclient.client << output(list2params(arguments), "browser_[REF(src)].browser:[func]") else for (var/client in src.clients) if (src.clients[client]) @@ -235,15 +235,15 @@ GLOBAL_LIST_EMPTY(html_interfaces) if ((type in asset_list) && islist(asset_list[type])) send_asset_list(hclient.client, asset_list[type], TRUE) - if (!winexists(hclient.client, "browser_\ref[src]")) + if (!winexists(hclient.client, "browser_[REF(src)]")) src.createWindow(hclient) //src._renderTitle(hclient, TRUE) //src._renderLayout(hclient) hclient.is_loaded = FALSE - hclient.client << output(replacetextEx(replacetextEx(file2text('html_interface.html'), "\[hsrc\]", "\ref[src]"), "", "[head]"), "browser_\ref[src].browser") + hclient.client << output(replacetextEx(replacetextEx(file2text('html_interface.html'), "\[hsrc\]", "[REF(src)]"), "", "[head]"), "browser_[REF(src)].browser") - winshow(hclient.client, "browser_\ref[src]", TRUE) + winshow(hclient.client, "browser_[REF(src)]", TRUE) while (hclient.client && hclient.active && !hclient.is_loaded) sleep(2) @@ -258,10 +258,10 @@ GLOBAL_LIST_EMPTY(html_interfaces) if (!src.clients.len) src.clients = null - hclient.client.hi_last_pos = winget(hclient.client, "browser_\ref[src]" ,"pos") + hclient.client.hi_last_pos = winget(hclient.client, "browser_[REF(src)]" ,"pos") - winshow(hclient.client, "browser_\ref[src]", FALSE) - winset(hclient.client, "browser_\ref[src]", "parent=none") + winshow(hclient.client, "browser_[REF(src)]", FALSE) + winset(hclient.client, "browser_[REF(src)]", "parent=none") if (hascall(src.ref, "hiOnHide")) call(src.ref, "hiOnHide")(hclient) @@ -344,7 +344,7 @@ GLOBAL_LIST_EMPTY(html_interfaces) src.specificRenderTitle(hclient) - hclient.client << output(list2params(list(title)), "browser_\ref[src].browser:setTitle") + hclient.client << output(list2params(list(title)), "browser_[REF(src)].browser:setTitle") /datum/html_interface/proc/_renderLayout(datum/html_interface_client/hclient, ignore_loaded = FALSE) if (hclient && (ignore_loaded || hclient.is_loaded)) @@ -354,7 +354,7 @@ GLOBAL_LIST_EMPTY(html_interfaces) if (html != hclient.layout) hclient.layout = html - hclient.client << output(list2params(list(html)), "browser_\ref[src].browser:updateLayout") + hclient.client << output(list2params(list(html)), "browser_[REF(src)].browser:updateLayout") for (var/id in src.content_elements) src._renderContent(id, hclient, ignore_loaded = ignore_loaded) @@ -367,7 +367,7 @@ GLOBAL_LIST_EMPTY(html_interfaces) if (ignore_cache || !(id in hclient.content_elements) || html != hclient.content_elements[id]) hclient.content_elements[id] = html - hclient.client << output(list2params(list(id, html)), "browser_\ref[src].browser:updateContent") + hclient.client << output(list2params(list(id, html)), "browser_[REF(src)].browser:updateContent") /datum/html_interface/Topic(href, href_list[]) var/datum/html_interface_client/hclient = getClient(usr.client) diff --git a/code/modules/html_interface/nanotrasen/nanotrasen.dm b/code/modules/html_interface/nanotrasen/nanotrasen.dm index c9758d85ce..ac7a7f242f 100644 --- a/code/modules/html_interface/nanotrasen/nanotrasen.dm +++ b/code/modules/html_interface/nanotrasen/nanotrasen.dm @@ -27,7 +27,7 @@ The client is optional and may be a /mob, /client or /html_interface_client obje /datum/html_interface/specificRenderTitle(datum/html_interface_client/hclient, ignore_cache = FALSE) // Update the title in our custom header (in addition to default functionality) - winset(hclient.client, "browser_\ref[src].uiTitle", list2params(list("text" = "[src.title]"))) + winset(hclient.client, "browser_[REF(src)].uiTitle", list2params(list("text" = "[src.title]"))) /datum/html_interface/nanotrasen/registerResources(var/list/resources = list()) resources["uiBg.png"] = 'uiBg.png' @@ -39,19 +39,19 @@ The client is optional and may be a /mob, /client or /html_interface_client obje . = ..() // we want the default window // Remove the titlebar - winset(hclient.client, "browser_\ref[src]", list2params(list( + winset(hclient.client, "browser_[REF(src)]", list2params(list( "titlebar" = "false" ))) // Reposition the browser - winset(hclient.client, "browser_\ref[src].browser", list2params(list( + winset(hclient.client, "browser_[REF(src)].browser", list2params(list( "pos" = "0,35", "size" = "[width]x[height - 35]" ))) // Add top background image - winset(hclient.client, "browser_\ref[src].topbg", list2params(list( - "parent" = "browser_\ref[src]", + winset(hclient.client, "browser_[REF(src)].topbg", list2params(list( + "parent" = "browser_[REF(src)]", "type" = "label", "pos" = "0,0", "size" = "[width]x35", @@ -63,8 +63,8 @@ The client is optional and may be a /mob, /client or /html_interface_client obje ))) // Add Nanotrasen logo - winset(hclient.client, "browser_\ref[src].uiTitleFluff", list2params(list( - "parent" = "browser_\ref[src]", + winset(hclient.client, "browser_[REF(src)].uiTitleFluff", list2params(list( + "parent" = "browser_[REF(src)]", "type" = "label", "pos" = "[width - 42 - 4 - 24 - 4 - 24 - 4],5", "size" = "42x24", @@ -76,8 +76,8 @@ The client is optional and may be a /mob, /client or /html_interface_client obje ))) // Add Eye picture - winset(hclient.client, "browser_\ref[src].uiTitleEye", list2params(list( - "parent" = "browser_\ref[src]", + winset(hclient.client, "browser_[REF(src)].uiTitleEye", list2params(list( + "parent" = "browser_[REF(src)]", "type" = "label", "pos" = "8,5", "size" = "42x24", @@ -89,8 +89,8 @@ The client is optional and may be a /mob, /client or /html_interface_client obje ))) // Add title text - winset(hclient.client, "browser_\ref[src].uiTitle", list2params(list( - "parent" = "browser_\ref[src]", + winset(hclient.client, "browser_[REF(src)].uiTitle", list2params(list( + "parent" = "browser_[REF(src)]", "type" = "label", "is-transparent" = "true", "pos" = "64,0", @@ -107,8 +107,8 @@ The client is optional and may be a /mob, /client or /html_interface_client obje // Add minimize button // TODO: Style the button (add image) - winset(hclient.client, "browser_\ref[src].uiTitleMinimize", list2params(list( - "parent" = "browser_\ref[src]", + winset(hclient.client, "browser_[REF(src)].uiTitleMinimize", list2params(list( + "parent" = "browser_[REF(src)]", "type" = "button", "is-flat" = "true", "background-color"="#383838", // should be unnecessary if image is used @@ -123,18 +123,18 @@ The client is optional and may be a /mob, /client or /html_interface_client obje "font-size" = "12", // ~ 16px - should be unnecessary if image is used // Disable resizing (disables maximizing), minimize window, bind window.on-size to catch 'restore window' button to enable resizing if restored. - "command" = ".winset \"browser_\ref[src].can-resize=false;browser_\ref[src].is-minimized=true;browser_\ref[src].on-size=\".swinset \\\"browser_\ref[src].can-resize=true;browser_\ref[src].on-size=\\\"\"\"" + "command" = ".winset \"browser_[REF(src)].can-resize=false;browser_[REF(src)].is-minimized=true;browser_[REF(src)].on-size=\".swinset \\\"browser_[REF(src)].can-resize=true;browser_[REF(src)].on-size=\\\"\"\"" ))) // Add close button // TODO: Style the button (add image) - winset(hclient.client, "browser_\ref[src].uiTitleClose", list2params(list( - "parent" = "browser_\ref[src]", + winset(hclient.client, "browser_[REF(src)].uiTitleClose", list2params(list( + "parent" = "browser_[REF(src)]", "type" = "button", "is-flat" = "true", "background-color"="#383838", // should be unnecessary if image is used "text-color" = "#FFFFFF", // should be unnecessary if image is used - "command" = "byond://?src=\ref[src];html_interface_action=onclose", + "command" = "byond://?src=[REF(src)];html_interface_action=onclose", "is-transparent" = "true", "pos" = "[width - 24 - 4],5", "size" = "24x24", @@ -173,6 +173,6 @@ The client is optional and may be a /mob, /client or /html_interface_client obje if (hclient.getExtraVar("eye_color") != color) hclient.putExtraVar("eye_color", color) - winset(hclient.client, "browser_\ref[src].uiTitleEye", list2params(list("image" = "[resource]"))) + winset(hclient.client, "browser_[REF(src)].uiTitleEye", list2params(list("image" = "[resource]"))) else WARNING("Invalid object passed to /datum/html_interface/nanotrasen/proc/setEyeColor") \ No newline at end of file diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index 1535173f8d..d46875eb00 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -183,17 +183,17 @@ categories[C] += D dat += "
    Biomass: [points] units.

    " - dat += "ActivateDetach Container" + dat += "ActivateDetach Container" for(var/cat in categories) dat += "

    [cat]:

    " dat += "
    " for(var/V in categories[cat]) var/datum/design/D = V - dat += "[D.name]: Make" + dat += "[D.name]: Make" if(cat in timesFiveCategories) - dat += "x5" + dat += "x5" if(ispath(D.build_path, /obj/item/stack)) - dat += "x10" + dat += "x10" dat += "([D.materials[MAT_BIOMASS]/efficiency])
    " dat += "
    " else diff --git a/code/modules/hydroponics/gene_modder.dm b/code/modules/hydroponics/gene_modder.dm index 9235bb83d7..bd0215138a 100644 --- a/code/modules/hydroponics/gene_modder.dm +++ b/code/modules/hydroponics/gene_modder.dm @@ -171,19 +171,19 @@ dat += "[target.get_name()] gene with [disk.gene.get_name()]?
    " if("insert") dat += "[disk.gene.get_name()] gene into \the [seed]?
    " - dat += "
    Confirm " - dat += "Abort
    " + dat += "
    Confirm " + dat += "Abort
    " popup.set_content(dat) popup.open() return dat+= "
    " - dat += "
    Plant Sample:
    " + dat += "" - dat += "
    Data Disk:
    " + dat += "
    Data Disk:
    " @@ -221,15 +221,15 @@ var/datum/plant_gene/G = a dat += "[G.get_name()]" if(can_extract) - dat += "Extract" - dat += "Remove" + dat += "Extract" + dat += "Remove" dat += "" dat += "" else dat += "No content-related genes detected in sample.
    " dat += "
    " if(can_insert && istype(disk.gene, /datum/plant_gene/reagent)) - dat += "Insert: [disk.gene.get_name()]" + dat += "Insert: [disk.gene.get_name()]" dat += "

    Trait Genes

    " if(trait_genes.len) @@ -238,14 +238,14 @@ var/datum/plant_gene/G = a dat += "[G.get_name()]" if(can_extract) - dat += "Extract" - dat += "Remove" + dat += "Extract" + dat += "Remove" dat += "" dat += "" else dat += "No trait-related genes detected in sample.
    " if(can_insert && istype(disk.gene, /datum/plant_gene/trait)) - dat += "Insert: [disk.gene.get_name()]" + dat += "Insert: [disk.gene.get_name()]" dat += "
    " else dat += "
    No sample found.
    Please, insert a plant sample to use this device." diff --git a/code/modules/hydroponics/grown/beans.dm b/code/modules/hydroponics/grown/beans.dm index 01c795888e..8ca2a5961a 100644 --- a/code/modules/hydroponics/grown/beans.dm +++ b/code/modules/hydroponics/grown/beans.dm @@ -15,7 +15,7 @@ icon_dead = "soybean-dead" genes = list(/datum/plant_gene/trait/repeated_harvest) mutatelist = list(/obj/item/seeds/soya/koi) - reagents_add = list("vitamin" = 0.04, "nutriment" = 0.05) + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.05, "cooking_oil" = 0.03) //Vegetable oil! /obj/item/reagent_containers/food/snacks/grown/soybeans seed = /obj/item/seeds/soya diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index 0d35c7cb6e..168c929ed3 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -118,7 +118,7 @@ density = TRUE /obj/structure/bonfire/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSTABLE)) + if(istype(mover) && (mover.pass_flags & PASSTABLE)) return TRUE if(mover.throwing) return TRUE diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index c774e4574a..9eafcec71b 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -527,8 +527,8 @@ // You're an idiot for thinking that one of the most corrosive and deadly gasses would be beneficial if(S.has_reagent("fluorine", 1)) adjustHealth(-round(S.get_reagent_amount("fluorine") * 2)) - adjustToxic(round(S.get_reagent_amount("flourine") * 2.5)) - adjustWater(-round(S.get_reagent_amount("flourine") * 0.5)) + adjustToxic(round(S.get_reagent_amount("fluorine") * 2.5)) + adjustWater(-round(S.get_reagent_amount("fluorine") * 0.5)) adjustWeeds(-rand(1,4)) // You're an idiot for thinking that one of the most corrosive and deadly gasses would be beneficial diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index 3c887b09ae..c6e17a63a4 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -375,7 +375,7 @@ pocell.maxcharge *= CG.rate*1000 pocell.charge = pocell.maxcharge pocell.name = "[G.name] battery" - pocell.desc = "A rechargeable plant based power cell. This one has a power rating of [pocell.maxcharge], and you should not swallow it." + pocell.desc = "A rechargeable plant based power cell. This one has a power rating of [DisplayPower(pocell.maxcharge)], and you should not swallow it." if(G.reagents.has_reagent("plasma", 2)) pocell.rigged = 1 diff --git a/code/modules/hydroponics/seed_extractor.dm b/code/modules/hydroponics/seed_extractor.dm index 54805f3141..0899a21132 100644 --- a/code/modules/hydroponics/seed_extractor.dm +++ b/code/modules/hydroponics/seed_extractor.dm @@ -136,7 +136,7 @@ for (var/datum/seed_pile/O in piles) dat += "[O.name][O.lifespan][O.endurance][O.maturation]" dat += "[O.production][O.yield][O.potency]" - dat += "Vend ([O.amount] left)" + dat += "Vend ([O.amount] left)" dat += "" var/datum/browser/popup = new(user, "seed_ext", name, 700, 400) popup.set_content(dat) diff --git a/code/modules/integrated_electronics/core/analyzer.dm b/code/modules/integrated_electronics/core/analyzer.dm new file mode 100644 index 0000000000..6365d7a695 --- /dev/null +++ b/code/modules/integrated_electronics/core/analyzer.dm @@ -0,0 +1,98 @@ + + +/obj/item/device/integrated_electronics/analyzer + name = "circuit analyzer" + desc = "This tool can scan an assembly and generate code necessary to recreate it in a circuit printer." + icon = 'icons/obj/electronic_assemblies.dmi' + icon_state = "analyzer" + flags_1 = CONDUCT_1 + w_class = WEIGHT_CLASS_SMALL + var/list/circuit_list = list() + var/list/assembly_list = list(/obj/item/device/electronic_assembly, + /obj/item/device/electronic_assembly/medium, + /obj/item/device/electronic_assembly/large, + /obj/item/device/electronic_assembly/drone) + +/obj/item/device/integrated_electronics/analyzer/afterattack(var/atom/A, var/mob/living/user) + visible_message( "attempt to scan") + if(ispath(A.type,/obj/item/device/electronic_assembly)) + var/i = 0 + var/j = 0 + var/HTML ="start.assembly{{*}}" //1-st in chapters.1-st block is just to secure start of program from excess symbols.{{*}} is delimeter for chapters. + visible_message( "start of scan") + for(var/ix in 1 to assembly_list.len) + var/obj/item/I = assembly_list[ix] + if( A.type == I ) + HTML += initial(I.name) +"=-="+A.name //2-nd block.assembly type and name. Maybe in future there will also be color and accesories. + break + + HTML += "{{*}}components" //3-rd block.components. First element is useless.delimeter for elements is ^%^.In element first circuit's default name.Second is user given name.delimiter is =-= + + for(var/obj/item/integrated_circuit/IC in A.contents) + i =i + 1 + HTML += "^%^"+IC.name+"=-="+IC.displayed_name + if(i == 0) + return + HTML += "{{*}}values" //4-th block.values. First element is useless.delimeter for elements is ^%^.In element first i/o id.Second is data type.third is value.delimiter is :+: + + i = 0 + var/val + var/list/inp=list() + var/list/out=list() + var/list/act=list() + var/list/ioa=list() + for(var/obj/item/integrated_circuit/IC in A.contents) + i += 1 + if(IC.inputs && IC.inputs.len) + for(j in 1 to IC.inputs.len) + var/datum/integrated_io/IN =IC.inputs[j] + inp[IN] = "[i]i[j]" + if(islist(IN.data)) + val = list2params(IN.data) + HTML += "^%^"+"[i]i[j]:+:list:+:[val]" + else if(isnum(IN.data)) + val= IN.data + HTML += "^%^"+"[i]i[j]:+:num:+:[val]" + else if(istext(IN.data)) + val = IN.data + HTML += "^%^"+"[i]i[j]:+:text:+:[val]" + if(IC.outputs && IC.outputs.len) + for(j in 1 to IC.outputs.len) //Also this block uses for setting all i/o id's + var/datum/integrated_io/OUT = IC.outputs[j] + out[OUT] = "[i]o[j]" + if(IC.activators && IC.activators.len) + for(j in 1 to IC.activators.len) + var/datum/integrated_io/ACT = IC.activators[j] + act[ACT] = "[i]a[j]" + ioa.Add(inp) + ioa.Add(out) + ioa.Add(act) + HTML += "{{*}}wires" + if(inp && inp.len) + for(i in 1 to inp.len) //5-th block.wires. First element is useless.delimeter for elements is ^%^.In element first i/o id.Second too.delimiter is =-= + var/datum/integrated_io/P = inp[i] + for(j in 1 to P.linked.len) + var/datum/integrated_io/C = P.linked[j] + HTML += "^%^"+inp[P]+"=-="+ioa[C] + if(out && out.len) + for(i in 1 to out.len) //5-th block.wires. First element is useless.delimeter for elements is ^%^.In element first i/o id.Second too.delimiter is =-= + var/datum/integrated_io/P = out[i] + for(j in 1 to P.linked.len) + var/datum/integrated_io/C = P.linked[j] + HTML += "^%^"+out[P]+"=-="+ioa[C] + if(act && act.len) + for(i in 1 to act.len) //5-th block.wires. First element is useless.delimeter for elements is ^%^.In element first i/o id.Second too.delimiter is =-= + var/datum/integrated_io/P = act[i] + for(j in 1 to P.linked.len) + var/datum/integrated_io/C = P.linked[j] + HTML += "^%^"+act[P]+"=-="+ioa[C] + + HTML += "{{*}}end" //6 block.like 1. + visible_message( "[A] has been scanned,") + user << browse(jointext(HTML, null), "window=analyzer;size=[500]x[600];border=1;can_resize=1;can_close=1;can_minimize=1") + else + ..() + + + + diff --git a/code/modules/integrated_electronics/core/assemblies.dm b/code/modules/integrated_electronics/core/assemblies.dm new file mode 100644 index 0000000000..d992718bc7 --- /dev/null +++ b/code/modules/integrated_electronics/core/assemblies.dm @@ -0,0 +1,342 @@ +#define IC_MAX_SIZE_BASE 25 +#define IC_COMPLEXITY_BASE 75 + +/obj/item/device/electronic_assembly + name = "electronic assembly" + desc = "It's a case, for building small electronics with." + w_class = WEIGHT_CLASS_SMALL + icon = 'icons/obj/electronic_assemblies.dmi' + icon_state = "setup_small" + flags_1 = NOBLUDGEON_1 + var/max_components = IC_MAX_SIZE_BASE + var/max_complexity = IC_COMPLEXITY_BASE + var/opened = FALSE + var/obj/item/stock_parts/cell/battery // Internal cell which most circuits need to work. + var/cell_type = /obj/item/stock_parts/cell + var/can_charge = TRUE //Can it be charged in a recharger? + var/charge_sections = 4 + var/charge_tick = FALSE + var/charge_delay = 4 + var/use_cyborg_cell = TRUE + +/obj/item/device/electronic_assembly/proc/check_interactivity(mob/user) + return user.canUseTopic(src,be_close = TRUE) + + +/obj/item/device/electronic_assembly/medium + name = "electronic mechanism" + icon_state = "setup_medium" + desc = "It's a case, for building medium-sized electronics with." + w_class = WEIGHT_CLASS_NORMAL + max_components = IC_MAX_SIZE_BASE * 2 + max_complexity = IC_COMPLEXITY_BASE * 2 + +/obj/item/device/electronic_assembly/large + name = "electronic machine" + icon_state = "setup_large" + desc = "It's a case, for building large electronics with." + w_class = WEIGHT_CLASS_BULKY + max_components = IC_MAX_SIZE_BASE * 4 + max_complexity = IC_COMPLEXITY_BASE * 4 + anchored = FALSE + +/obj/item/device/electronic_assembly/large/attackby(var/obj/item/O, var/mob/user) + if(default_unfasten_wrench(user, O, 20)) + return + ..() + +/obj/item/device/electronic_assembly/large/attack_tk(mob/user) + if(anchored) + return + ..() + +/obj/item/device/electronic_assembly/large/attack_hand(mob/user) + if(anchored) + attack_self(user) + return + ..() + +/obj/item/device/electronic_assembly/drone + name = "electronic drone" + icon_state = "setup_drone" + desc = "It's a case, for building mobile electronics with." + w_class = WEIGHT_CLASS_SMALL + max_components = IC_MAX_SIZE_BASE * 3 + max_complexity = IC_COMPLEXITY_BASE * 3 + + + +/obj/item/device/electronic_assembly/Initialize() + .=..() + START_PROCESSING(SScircuit, src) + +/obj/item/device/electronic_assembly/Destroy() + STOP_PROCESSING(SScircuit, src) + return ..() + +/obj/item/device/electronic_assembly/process() + handle_idle_power() + +/obj/item/device/electronic_assembly/proc/handle_idle_power() + // First we generate power. + for(var/obj/item/integrated_circuit/passive/power/P in contents) + P.make_energy() + + // Now spend it. + for(var/obj/item/integrated_circuit/IC in contents) + if(IC.power_draw_idle) + if(!draw_power(IC.power_draw_idle)) + IC.power_fail() + + +/obj/item/device/electronic_assembly/interact(mob/user) + if(!check_interactivity(user)) + return + + var/total_part_size = return_total_size() + var/total_complexity = return_total_complexity() + var/HTML = list() + + HTML += "[name]" + HTML += "
    \[Refresh\] | " + HTML += "\[Rename\]
    " + HTML += "[total_part_size]/[max_components] ([round((total_part_size / max_components) * 100, 0.1)]%) space taken up in the assembly.
    " + HTML += "[total_complexity]/[max_complexity] ([round((total_complexity / max_complexity) * 100, 0.1)]%) maximum complexity.
    " + if(battery) + HTML += "[round(battery.charge, 0.1)]/[battery.maxcharge] ([round(battery.percent(), 0.1)]%) cell charge. \[Remove\]" + else + HTML += "No powercell detected!" + HTML += "

    " + HTML += "Components:
    " + HTML += "Built in:
    " + + +//Put removable circuits in separate categories from non-removable + for(var/obj/item/integrated_circuit/circuit in contents) + if(!circuit.removable) + HTML += "[circuit.displayed_name] | " + HTML += "\[Rename\] | " + HTML += "\[Scan with Debugger\] | " + HTML += "\[Move to Bottom\]" + HTML += "
    " + + HTML += "
    " + HTML += "Removable:
    " + + for(var/obj/item/integrated_circuit/circuit in contents) + if(circuit.removable) + HTML += "[circuit.displayed_name] | " + HTML += "\[Rename\] | " + HTML += "\[Scan with Debugger\] | " + HTML += "\[Remove\] | " + HTML += "\[Move to Bottom\]" + HTML += "
    " + + HTML += "" + user << browse(jointext(HTML,null), "window=assembly-\[REF(src)];size=600x350;border=1;can_resize=1;can_close=1;can_minimize=1") + +/obj/item/device/electronic_assembly/Topic(href, href_list[]) + if(..()) + return 1 + + if(href_list["rename"]) + rename(usr) + + if(href_list["remove_cell"]) + if(!battery) + to_chat(usr, "There's no power cell to remove from \the [src].") + else + var/turf/T = get_turf(src) + battery.forceMove(T) + playsound(T, 'sound/items/Crowbar.ogg', 50, 1) + to_chat(usr, "You pull \the [battery] out of \the [src]'s power supplier.") + battery = null + + interact(usr) // To refresh the UI. + +/obj/item/device/electronic_assembly/proc/rename() + + var/mob/M = usr + if(!check_interactivity(M)) + return + + var/input = reject_bad_name(input("What do you want to name this?", "Rename", src.name) as null|text,1) + if(!check_interactivity(M)) + return + if(src && input) + to_chat(M, "The machine now has a label reading '[input]'.") + name = input + +/obj/item/device/electronic_assembly/proc/can_move() + return FALSE + +/obj/item/device/electronic_assembly/drone/can_move() + return TRUE + +/obj/item/device/electronic_assembly/update_icon() + if(opened) + icon_state = initial(icon_state) + "-open" + else + icon_state = initial(icon_state) + +/obj/item/device/electronic_assembly/examine(mob/user) + ..() + for(var/obj/item/integrated_circuit/IC in contents) + IC.external_examine(user) + if(istype(IC,/obj/item/integrated_circuit/output/screen)) + var/obj/item/integrated_circuit/output/screen/S + if(S.stuff_to_display) + to_chat(user, "There's a little screen labeled '[S]', which displays '[S.stuff_to_display]'.") + if(opened) + interact(user) + +/obj/item/device/electronic_assembly/proc/return_total_complexity() + . = 0 + for(var/obj/item/integrated_circuit/part in contents) + . += part.complexity + +/obj/item/device/electronic_assembly/proc/return_total_size() + . = 0 + for(var/obj/item/integrated_circuit/part in contents) + . += part.size + +// Returns true if the circuit made it inside. +/obj/item/device/electronic_assembly/proc/add_circuit(var/obj/item/integrated_circuit/IC, var/mob/user) + if(!opened) + to_chat(user, "\The [src] isn't opened, so you can't put anything inside. Try using a crowbar.") + return FALSE + + if(IC.w_class > w_class) + to_chat(user, "\The [IC] is way too big to fit into \the [src].") + return FALSE + + var/total_part_size = return_total_size() + var/total_complexity = return_total_complexity() + + if((total_part_size + IC.size) > max_components) + to_chat(user, "You can't seem to add the '[IC]', as there's insufficient space.") + return FALSE + if((total_complexity + IC.complexity) > max_complexity) + to_chat(user, "You can't seem to add the '[IC]', since this setup's too complicated for the case.") + return FALSE + + if(!user.transferItemToLoc(IC, src)) + return FALSE + + IC.assembly = src + + return TRUE + +/obj/item/device/electronic_assembly/afterattack(atom/target, mob/user, proximity) + for(var/obj/item/integrated_circuit/input/sensor/S in contents) + if(!proximity) + if(istype(S,/obj/item/integrated_circuit/input/sensor/ranged)||(!user)) + if(user.client) + if(!(target in view(user.client))) + continue + else + if(!(target in view(user))) + continue + else + continue + S.set_pin_data(IC_OUTPUT, 1, WEAKREF(target)) + S.check_then_do_work() + S.scan(target) + + visible_message(" [user] waves [src] around [target].") + +/obj/item/device/electronic_assembly/attackby(var/obj/item/I, var/mob/user) + if(istype(I, /obj/item/integrated_circuit)) + if(!user.canUnEquip(I)) + return FALSE + if(add_circuit(I, user)) + to_chat(user, "You slide [I] inside [src].") + playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1) + interact(user) + return TRUE + else if(istype(I, /obj/item/crowbar)) + playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1) + opened = !opened + to_chat(user, "You [opened ? "opened" : "closed"] [src].") + update_icon() + return TRUE + else if(istype(I, /obj/item/device/integrated_electronics/wirer) || istype(I, /obj/item/device/integrated_electronics/debugger) || istype(I, /obj/item/screwdriver)) + if(opened) + interact(user) + else + to_chat(user, " [src] isn't opened, so you can't fiddle with the internal components. \ + Try using a crowbar.") + else if(istype(I, /obj/item/stock_parts/cell)) + if(!opened) + to_chat(user, " [src] isn't opened, so you can't put anything inside. Try using a crowbar.") + return FALSE + if(battery) + to_chat(user, " [src] already has \a [battery] inside. Remove it first if you want to replace it.") + return FALSE + var/obj/item/stock_parts/cell = I + user.transferItemToLoc(I, loc) + cell.forceMove(src) + battery = cell + playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1) + to_chat(user, "You slot \the [cell] inside \the [src]'s power supplier.") + interact(user) + return TRUE + else + return ..() + +/obj/item/device/electronic_assembly/attack_self(mob/user) + if(!check_interactivity(user)) + return + if(opened) + interact(user) + + var/list/input_selection = list() + var/list/available_inputs = list() + for(var/obj/item/integrated_circuit/input/input in contents) + if(input.can_be_asked_input) + available_inputs.Add(input) + var/i = 0 + for(var/obj/item/integrated_circuit/s in available_inputs) + if(s.name == input.name && s.displayed_name == input.displayed_name && s != input) + i++ + var/disp_name= "[input.displayed_name] \[[input]\]" + if(i) + disp_name += " ([i+1])" + input_selection.Add(disp_name) + + var/obj/item/integrated_circuit/input/choice + if(available_inputs) + if(available_inputs.len ==1) + choice = available_inputs[1] + else + var/selection = input(user, "What do you want to interact with?", "Interaction") as null|anything in input_selection + if(!check_interactivity(user)) + return + if(selection) + var/index = input_selection.Find(selection) + choice = available_inputs[index] + + if(choice) + choice.ask_for_input(user) + +/obj/item/device/electronic_assembly/emp_act(severity) + ..() + for(var/i in 1 to contents.len) + var/atom/movable/AM = contents[i] + AM.emp_act(severity) + +// Returns true if power was successfully drawn. +/obj/item/device/electronic_assembly/proc/draw_power(amount) + if(battery && battery.use(amount * GLOB.CELLRATE)) + return TRUE + return FALSE + +// Ditto for giving. +/obj/item/device/electronic_assembly/proc/give_power(amount) + if(battery && battery.give(amount * GLOB.CELLRATE)) + return TRUE + return FALSE + +/obj/item/device/electronic_assembly/Moved(oldLoc, dir) + for(var/obj/item/integrated_circuit/IC in contents) + IC.ext_moved(oldLoc, dir) diff --git a/code/modules/integrated_electronics/core/debugger.dm b/code/modules/integrated_electronics/core/debugger.dm new file mode 100644 index 0000000000..7dc89178d2 --- /dev/null +++ b/code/modules/integrated_electronics/core/debugger.dm @@ -0,0 +1,64 @@ + + +/obj/item/device/integrated_electronics/debugger + name = "circuit debugger" + desc = "This small tool allows one working with custom machinery to directly set data to a specific pin, useful for writing \ + settings to specific circuits, or for debugging purposes. It can also pulse activation pins." + icon = 'icons/obj/electronic_assemblies.dmi' + icon_state = "debugger" + flags_1 = CONDUCT_1 | NOBLUDGEON_1 + w_class = WEIGHT_CLASS_SMALL + var/data_to_write = null + var/accepting_refs = FALSE + +/obj/item/device/integrated_electronics/debugger/attack_self(mob/user) + var/type_to_use = input("Please choose a type to use.","[src] type setting") as null|anything in list("string","number","ref", "null") + if(!user.IsAdvancedToolUser()) + return + + var/new_data = null + switch(type_to_use) + if("string") + accepting_refs = FALSE + new_data = stripped_input(user, "Now type in a string.","[src] string writing") + if(istext(new_data) && user.IsAdvancedToolUser()) + data_to_write = new_data + to_chat(user, "You set \the [src]'s memory to \"[new_data]\".") + if("number") + accepting_refs = FALSE + new_data = input(user, "Now type in a number.","[src] number writing") as null|num + if(isnum(new_data) && user.IsAdvancedToolUser()) + data_to_write = new_data + to_chat(user, "You set \the [src]'s memory to [new_data].") + if("ref") + accepting_refs = TRUE + to_chat(user, "You turn \the [src]'s ref scanner on. Slide it across \ + an object for a ref of that object to save it in memory.") + if("null") + data_to_write = null + to_chat(user, "You set \the [src]'s memory to absolutely nothing.") + +/obj/item/device/integrated_electronics/debugger/afterattack(atom/target, mob/living/user, proximity) + if(accepting_refs && proximity) + data_to_write = WEAKREF(target) + visible_message("[user] slides \a [src]'s over \the [target].") + to_chat(user, "You set \the [src]'s memory to a reference to [target.name] \[Ref\]. The ref scanner is \ + now off.") + accepting_refs = FALSE + else + return ..() + +/obj/item/device/integrated_electronics/debugger/proc/write_data(var/datum/integrated_io/io, mob/user) + if(io.io_type == DATA_CHANNEL) + io.write_data_to_pin(data_to_write) + var/data_to_show = data_to_write + if(isweakref(data_to_write)) + var/datum/weakref/w = data_to_write + var/atom/A = w.resolve() + data_to_show = A.name + to_chat(user, "You write '[data_to_write ? data_to_show : "NULL"]' to the '[io]' pin of \the [io.holder].") + else if(io.io_type == PULSE_CHANNEL) + io.holder.check_then_do_work(ignore_power = TRUE) + to_chat(user, "You pulse \the [io.holder]'s [io].") + + io.holder.interact(user) // This is to update the UI. diff --git a/code/modules/integrated_electronics/core/helpers.dm b/code/modules/integrated_electronics/core/helpers.dm new file mode 100644 index 0000000000..45b48198c8 --- /dev/null +++ b/code/modules/integrated_electronics/core/helpers.dm @@ -0,0 +1,135 @@ +/obj/item/integrated_circuit/proc/setup_io(var/list/io_list, var/io_type, var/list/io_default_list) + var/list/io_list_copy = io_list.Copy() + io_list.Cut() + for(var/i in 1 to io_list_copy.len) + var/io_entry = io_list_copy[i] + var/default_data = null + var/io_type_override = null + // Override the default data. + if(io_default_list && io_default_list.len) // List containing special pin types that need to be added. + default_data = io_default_list["[i]"] // This is deliberately text because the index is a number in text form. + // Override the pin type. + if(io_list_copy[io_entry]) + io_type_override = io_list_copy[io_entry] + + if(io_type_override) + io_list.Add(new io_type_override(src, io_entry, default_data)) + else + io_list.Add(new io_type(src, io_entry, default_data)) + + +/obj/item/integrated_circuit/proc/set_pin_data(var/pin_type, var/pin_number, datum/new_data) + if (istype(new_data) && !isweakref(new_data)) + new_data = WEAKREF(new_data) + var/datum/integrated_io/pin = get_pin_ref(pin_type, pin_number) + return pin.write_data_to_pin(new_data) + +/obj/item/integrated_circuit/proc/get_pin_data(var/pin_type, var/pin_number) + var/datum/integrated_io/pin = get_pin_ref(pin_type, pin_number) + return pin.get_data() + +/obj/item/integrated_circuit/proc/get_pin_data_as_type(var/pin_type, var/pin_number, var/as_type) + var/datum/integrated_io/pin = get_pin_ref(pin_type, pin_number) + return pin.data_as_type(as_type) + +/obj/item/integrated_circuit/proc/activate_pin(var/pin_number) + var/datum/integrated_io/activate/A = activators[pin_number] + A.push_data() + +/datum/integrated_io/proc/get_data() + if(isweakref(data)) + return data.resolve() + return data + +/obj/item/integrated_circuit/proc/get_pin_ref(var/pin_type, var/pin_number) + switch(pin_type) + if(IC_INPUT) + if(pin_number > inputs.len) + return + return inputs[pin_number] + if(IC_OUTPUT) + if(pin_number > outputs.len) + return + return outputs[pin_number] + if(IC_ACTIVATOR) + if(pin_number > activators.len) + return + return activators[pin_number] + return + +/obj/item/integrated_circuit/proc/handle_wire(var/datum/integrated_io/pin, var/obj/item/device/integrated_electronics/tool) + if(istype(tool, /obj/item/device/integrated_electronics/wirer)) + var/obj/item/device/integrated_electronics/wirer/wirer = tool + if(pin) + wirer.wire(pin, usr) + return TRUE + + else if(istype(tool, /obj/item/device/integrated_electronics/debugger)) + var/obj/item/device/integrated_electronics/debugger/debugger = tool + if(pin) + debugger.write_data(pin, usr) + return TRUE + return FALSE + + +/obj/item/integrated_circuit/proc/asc2b64(var/S) + var/static/list/b64 = list( + "A"=0,"B"=1,"C"=2,"D"=3, + "E"=4,"F"=5,"G"=6,"H"=7, + "I"=8,"J"=9,"K"=10,"L"=11, + "M"=12,"N"=13,"O"=14,"P"=15, + "Q"=16,"R"=17,"S"=18,"T"=19, + "U"=20,"V"=21,"W"=22,"X"=23, + "Y"=24,"Z"=25,"a"=26,"b"=27, + "c"=28,"d"=29,"e"=30,"f"=31, + "g"=32,"h"=33,"i"=34,"j"=35, + "k"=36,"l"=37,"m"=38,"n"=39, + "o"=40,"p"=41,"q"=42,"r"=43, + "s"=44,"t"=45,"u"=46,"v"=47, + "w"=48,"x"=49,"y"=50,"z"=51, + "0"=52,"1"=53,"2"=54,"3"=55, + "4"=56,"5"=57,"6"=58,"7"=59, + "8"=60,"9"=61,","=62,"."=63 + ) + var/ls = lentext(S) + var/c + var/i=1 + while(i <= ls) + var/sb1=text2ascii(S,i) + var/sb2=text2ascii(S,i+1) + var/sb3=text2ascii(S,i+2) + var/cb1 = (sb1 & 252)>>2 + var/cb2 = ((sb1 & 3)<<6 | (sb2 & 240)>>2)>>2 + var/cb3 = (sb2 & 15)<<2 | (sb3 & 192)>>6 + var/cb4 = (sb3 & 63) + c=c+b64[cb1+1]+b64[cb2+1]+b64[cb3+1]+b64[cb4+1] + i=i+3 + return c + +/obj/item/integrated_circuit/proc/b642asc(var/S) + var/static/list/b64 = list("A"=1,"B"=2,"C"=3,"D"=4,"E"=5,"F"=6,"G"=7,"H"=8,"I"=9,"J"=10,"K"=11,"L"=12,"M"=13,"N"=14,"O"=15,"P"=16,"Q"=17,"R"=18, + "S"=19,"T"=20,"U"=21,"V"=22,"W"=23,"X"=24,"Y"=25,"Z"=26,"a"=27,"b"=28,"c"=29,"d"=30,"e"=31,"f"=32,"g"=33,"h"=34,"i"=35,"j"=36,"k"=37,"l"=38,"m"=39,"n"=40,"o"=41, + "p"=42,"q"=43,"r"=44,"s"=45,"t"=46,"u"=47,"v"=48,"w"=49,"x"=50,"y"=51,"z"=52,"0"=53,"1"=54,"2"=55,"3"=56,"4"=57,"5"=58,"6"=59,"7"=60,"8"=61,"9"=62,","=63,"."=64) + var/ls = lentext(S) + var/c + var/i=1 + while(i<=ls) + var/cb1=b64[copytext(S,i,i+1)]-1 + var/cb2=b64[copytext(S,i+1,i+2)]-1 + var/cb3=b64[copytext(S,i+2,i+3)]-1 + var/cb4=b64[copytext(S,i+3,i+4)]-1 + var/sb1=cb1<<2 | (cb2 & 48)>>4 + var/sb2=(cb2 & 15) <<4 | (cb3 & 60)>>2 + var/sb3=(cb3 & 3)<<6 | cb4 + c=c+ascii2text(sb1)+ascii2text(sb2)+ascii2text(sb3) + i=i+4 + return c + +/proc/XorEncrypt(string,key) + if(!string || !key ||!istext(string)||!istext(key)) + return + var/r + for(var/i = 1 to length(string)) + r += ascii2text(text2ascii(string,i) ^ text2ascii(key,(i-1)%length(string)+1)) + return r + diff --git a/code/modules/integrated_electronics/core/integrated_circuit.dm b/code/modules/integrated_electronics/core/integrated_circuit.dm new file mode 100644 index 0000000000..908a9bcfbe --- /dev/null +++ b/code/modules/integrated_electronics/core/integrated_circuit.dm @@ -0,0 +1,393 @@ +/obj/item/integrated_circuit + name = "integrated circuit" + desc = "It's a tiny chip! This one doesn't seem to do much, however." + icon = 'icons/obj/electronic_assemblies.dmi' + icon_state = "template" + w_class = WEIGHT_CLASS_TINY + var/obj/item/device/electronic_assembly/assembly // Reference to the assembly holding this circuit, if any. + var/extended_desc + var/list/inputs = list() + var/list/inputs_default = list()// Assoc list which will fill a pin with data upon creation. e.g. "2" = 0 will set input pin 2 to equal 0 instead of null. + var/list/outputs = list() + var/list/outputs_default =list()// Ditto, for output. + var/list/activators = list() + var/next_use = 0 // Uses world.time + var/complexity = 1 // This acts as a limitation on building machines, more resource-intensive components cost more 'space'. + var/size = 1 // This acts as a limitation on building machines, bigger components cost more 'space'. -1 for size 0 + var/cooldown_per_use = 9 // Circuits are limited in how many times they can be work()'d by this variable. + var/power_draw_per_use = 0 // How much power is drawn when work()'d. + var/power_draw_idle = 0 // How much power is drawn when doing nothing. + var/spawn_flags // Used for world initializing, see the #defines above. + var/category_text = "NO CATEGORY THIS IS A BUG" // To show up on circuit printer, and perhaps other places. + var/removable = TRUE // Determines if a circuit is removable from the assembly. + var/displayed_name = "" + var/allow_multitool = TRUE // Allows additional multitool functionality + // Used as a global var, (Do not set manually in children). + +/* + Integrated circuits are essentially modular machines. Each circuit has a specific function, and combining them inside Electronic Assemblies allows +a creative player the means to solve many problems. Circuits are held inside an electronic assembly, and are wired using special tools. +*/ + +/obj/item/integrated_circuit/examine(mob/user) + interact(user) + external_examine(user) + . = ..() + +// This should be used when someone is examining while the case is opened. +/obj/item/integrated_circuit/proc/internal_examine(mob/user) + to_chat(user, "This board has [inputs.len] input pin\s, [outputs.len] output pin\s and [activators.len] activation pin\s.") + for(var/k in 1 to inputs.len) + var/datum/integrated_io/I = inputs[k] + if(I.linked.len) + to_chat(user, "The '[I]' is connected to [I.get_linked_to_desc()].") + for(var/k in 1 to outputs.len) + var/datum/integrated_io/O = outputs[k] + if(O.linked.len) + to_chat(user, "The '[O]' is connected to [O.get_linked_to_desc()].") + for(var/k in 1 to activators.len) + var/datum/integrated_io/activate/A = activators[k] + if(A.linked.len) + to_chat(user, "The '[A]' is connected to [A.get_linked_to_desc()].") + any_examine(user) + interact(user) + +// This should be used when someone is examining from an 'outside' perspective, e.g. reading a screen or LED. +/obj/item/integrated_circuit/proc/external_examine(mob/user) + any_examine(user) + +/obj/item/integrated_circuit/proc/any_examine(mob/user) + return + +/obj/item/integrated_circuit/proc/check_interactivity(mob/user) + if(assembly) + return assembly.check_interactivity(user) + else + return user.canUseTopic(src,be_close = TRUE) + +/obj/item/integrated_circuit/Initialize() + displayed_name = name + setup_io(inputs, /datum/integrated_io, inputs_default) + setup_io(outputs, /datum/integrated_io, outputs_default) + setup_io(activators, /datum/integrated_io/activate) + ..() + +/obj/item/integrated_circuit/proc/on_data_written() //Override this for special behaviour when new data gets pushed to the circuit. + return + +/obj/item/integrated_circuit/Destroy() + QDEL_LIST(inputs) + QDEL_LIST(outputs) + QDEL_LIST(activators) + . = ..() + +/obj/item/integrated_circuit/emp_act(severity) + for(var/k in 1 to inputs.len) + var/datum/integrated_io/I = inputs[k] + I.scramble() + for(var/k in 1 to outputs.len) + var/datum/integrated_io/O = outputs[k] + O.scramble() + for(var/k in 1 to activators.len) + var/datum/integrated_io/activate/A = activators[k] + A.scramble() + + +/obj/item/integrated_circuit/verb/rename_component() + set name = "Rename Circuit" + set category = "Object" + set desc = "Rename your circuit, useful to stay organized." + + var/mob/M = usr + if(!check_interactivity(M)) + return + + var/input = reject_bad_name(stripped_input(M, "What do you want to name this?", "Rename", src.name),1) + if(src && input && check_interactivity(M)) + to_chat(M, "The circuit '[src.name]' is now labeled '[input]'.") + displayed_name = input + +/obj/item/integrated_circuit/interact(mob/user) + if(!check_interactivity(user)) + return + + var/window_height = 350 + var/window_width = 600 + + var/table_edge_width = "30%" + var/table_middle_width = "40%" + + var/HTML = list() + HTML += "[src.displayed_name]" + HTML += "
    " + HTML += "" + + HTML += "
    \[Return to Assembly\]" + + HTML += "
    \[Refresh\] | " + HTML += "\[Rename\] | " + HTML += "\[Scan with Device\] | " + if(src.removable) + HTML += "\[Remove\]
    " + + HTML += "" + HTML += "" + HTML += "" + HTML += "" + HTML += "" + + var/column_width = 3 + var/row_height = max(inputs.len, outputs.len, 1) + + for(var/i = 1 to row_height) + HTML += "" + for(var/j = 1 to column_width) + var/datum/integrated_io/io = null + var/words = list() + var/height = 1 + switch(j) + if(1) + io = get_pin_ref(IC_INPUT, i) + if(io) + words += "[io.display_pin_type()] [io.name] [io.display_data(io.data)]
    " + if(io.linked.len) + for(var/k in 1 to io.linked.len) + var/datum/integrated_io/linked = io.linked[k] + words += "[linked] \ + @ [linked.holder.displayed_name]
    " + + if(outputs.len > inputs.len) + height = 1 + if(2) + if(i == 1) + words += "[src.displayed_name]
    [src.name != src.displayed_name ? "([src.name])":""]
    [src.desc]" + height = row_height + else + continue + if(3) + io = get_pin_ref(IC_OUTPUT, i) + if(io) + words += "[io.display_pin_type()] [io.name] [io.display_data(io.data)]
    " + if(io.linked.len) + for(var/k in 1 to io.linked.len) + var/datum/integrated_io/linked = io.linked[k] + words += "[linked] \ + @ [linked.holder.displayed_name]
    " + + if(inputs.len > outputs.len) + height = 1 + HTML += "" + HTML += "" + + for(var/activator in activators) + var/datum/integrated_io/io = activator + var/words = list() + + words += "[io] [io.data?"\":"\"]
    " + if(io.linked.len) + for(var/k in 1 to io.linked.len) + var/datum/integrated_io/linked = io.linked[k] + words += "[linked] \ + @ [linked.holder.displayed_name]
    " + + HTML += "" + HTML += "" + HTML += "" + + HTML += "
    [jointext(words, null)]
    [jointext(words, null)]
    " + HTML += "
    " + + HTML += "
    Complexity: [complexity]" + if(power_draw_idle) + HTML += "
    Power Draw: [power_draw_idle] W (Idle)" + if(power_draw_per_use) + HTML += "
    Power Draw: [power_draw_per_use] W (Active)" // Borgcode says that powercells' checked_use() takes joules as input. + HTML += "
    [extended_desc]" + + HTML += "" + if(src.assembly) + user << browse(jointext(HTML, null), "window=assembly-[REF(src.assembly)];size=[window_width]x[window_height];border=1;can_resize=1;can_close=1;can_minimize=1") + else + user << browse(jointext(HTML, null), "window=circuit-[REF(src)];size=[window_width]x[window_height];border=1;can_resize=1;can_close=1;can_minimize=1") + + onclose(user, "assembly-[REF(src.assembly)]") + +/obj/item/integrated_circuit/Topic(href, href_list) + if(!check_interactivity(usr)) + return + if(..()) + return TRUE + + var/update = TRUE + var/obj/item/device/electronic_assembly/A = src.assembly + var/update_to_assembly = FALSE + var/datum/integrated_io/pin = locate(href_list["pin"]) in inputs + outputs + activators + var/datum/integrated_io/linked = null + if(href_list["link"]) + linked = locate(href_list["link"]) in pin.linked + + var/obj/held_item = usr.get_active_held_item() + + if(href_list["rename"]) + rename_component(usr) + if(href_list["from_assembly"]) + update = FALSE + var/obj/item/device/electronic_assembly/ea = loc + if(istype(ea)) + ea.interact(usr) + + if(href_list["pin_name"]) + if (!istype(held_item, /obj/item/device/multitool) || !allow_multitool) + href_list["wire"] = TRUE + else + var/obj/item/device/multitool/M = held_item + M.wire(pin,usr) + + + + if(href_list["pin_data"]) + if (!istype(held_item, /obj/item/device/multitool) || !allow_multitool) + href_list["wire"] = TRUE + + else + var/datum/integrated_io/io = pin + io.ask_for_pin_data(usr) // The pins themselves will determine how to ask for data, and will validate the data. + + if(href_list["pin_unwire"]) + if (!istype(held_item, /obj/item/device/multitool) || !allow_multitool) + href_list["wire"] = TRUE + else + var/obj/item/device/multitool/M = held_item + M.unwire(pin, linked, usr) + + if(href_list["wire"]) + if(istype(held_item, /obj/item/device/integrated_electronics/wirer)) + var/obj/item/device/integrated_electronics/wirer/wirer = held_item + if(linked) + wirer.wire(linked, usr) + else if(pin) + wirer.wire(pin, usr) + + else if(istype(held_item, /obj/item/device/integrated_electronics/debugger)) + var/obj/item/device/integrated_electronics/debugger/debugger = held_item + if(pin) + debugger.write_data(pin, usr) + else + to_chat(usr, "You can't do a whole lot without the proper tools.") + + if(href_list["examine"]) + var/obj/item/integrated_circuit/examined + if(href_list["examined"]) + examined = href_list["examined"] + else + examined = src + examined.interact(usr) + update = FALSE + + if(href_list["bottom"]) + var/obj/item/integrated_circuit/circuit = locate(href_list["bottom"]) in src.assembly.contents + var/assy = circuit.assembly + if(!circuit) + return + circuit.loc = null + circuit.loc = assy + . = TRUE + update_to_assembly = TRUE + + if(href_list["scan"]) + if(istype(held_item, /obj/item/device/integrated_electronics/debugger)) + var/obj/item/device/integrated_electronics/debugger/D = held_item + if(D.accepting_refs) + D.afterattack(src, usr, TRUE) + else + to_chat(usr, "The Debugger's 'ref scanner' needs to be on.") + else + to_chat(usr, "You need a multitool/debugger set to 'ref' mode to do that.") + + if(href_list["return"]) + if(A) + update_to_assembly = TRUE + usr << browse(null, "window=circuit-[REF(src)];border=1;can_resize=1;can_close=1;can_minimize=1") + else + to_chat(usr, "This circuit is not in an assembly!") + + + if(href_list["remove"]) + if(!A) + to_chat(usr, "This circuit is not in an assembly!") + return + if(!removable) + to_chat(usr, "\The [src] seems to be permanently attached to the case.") + return + var/obj/item/device/electronic_assembly/ea = loc + disconnect_all() + var/turf/T = get_turf(src) + forceMove(T) + assembly = null + playsound(T, 'sound/items/Crowbar.ogg', 50, 1) + to_chat(usr, "You pop \the [src] out of the case, and slide it out.") + + if(istype(ea)) + ea.interact(usr) + update = FALSE + return + + if(update) + if(A && istype(A) && update_to_assembly) + A.interact(usr) + else + interact(usr) // To refresh the UI. + +/obj/item/integrated_circuit/proc/push_data() + for(var/k in 1 to outputs.len) + var/datum/integrated_io/O = outputs[k] + O.push_data() + +/obj/item/integrated_circuit/proc/pull_data() + for(var/k in 1 to inputs.len) + var/datum/integrated_io/I = inputs[k] + I.push_data() + +/obj/item/integrated_circuit/proc/draw_idle_power() + if(assembly) + return assembly.draw_power(power_draw_idle) + +// Override this for special behaviour when there's no power left. +/obj/item/integrated_circuit/proc/power_fail() + return + +// Returns true if there's enough power to work(). +/obj/item/integrated_circuit/proc/check_power() + if(!assembly) + return FALSE // Not in an assembly, therefore no power. + if(assembly.draw_power(power_draw_per_use)) + return TRUE // Battery has enough. + return FALSE // Not enough power. + +/obj/item/integrated_circuit/proc/check_then_do_work(var/ignore_power = FALSE) + if(world.time < next_use) // All intergrated circuits have an internal cooldown, to protect from spam. + return + if(power_draw_per_use && !ignore_power) + if(!check_power()) + power_fail() + return + next_use = world.time + cooldown_per_use + do_work() + +/obj/item/integrated_circuit/proc/do_work() + return + +/obj/item/integrated_circuit/proc/disconnect_all() + + for(var/k in 1 to inputs.len) + var/datum/integrated_io/I = inputs[k] + I.disconnect() + for(var/k in 1 to outputs.len) + var/datum/integrated_io/O = outputs[k] + O.disconnect() + for(var/k in 1 to activators.len) + var/datum/integrated_io/activate/A = activators[k] + A.disconnect() + +/obj/item/integrated_circuit/proc/ext_moved(oldLoc, dir) + return diff --git a/code/modules/integrated_electronics/core/pins.dm b/code/modules/integrated_electronics/core/pins.dm new file mode 100644 index 0000000000..a472ae8949 --- /dev/null +++ b/code/modules/integrated_electronics/core/pins.dm @@ -0,0 +1,184 @@ +/* + Pins both hold data for circuits, as well move data between them. Some also cause circuits to do their function. DATA_CHANNEL pins are the data holding/moving kind, +where as PULSE_CHANNEL causes circuits to work() when their pulse hits them. + + +A visualization of how pins work is below. Imagine the below image involves an addition circuit. +When the bottom pin, the activator, receives a pulse, all the numbers on the left (input) get added, and the answer goes on the right side (output). + +Inputs Outputs + +A [2]\ /[8] result +B [1]-\|++|/ +C [4]-/|++| +D [1]/ || + || + Activator + + + +*/ +/datum/integrated_io + var/name = "input/output" + var/obj/item/integrated_circuit/holder + var/datum/weakref/data // This is a weakref, to reduce typecasts. Note that oftentimes numbers and text may also occupy this. + var/list/linked = list() + var/io_type = DATA_CHANNEL + +/datum/integrated_io/New(newloc, name1, new_data) + name = name1 + if(new_data) + data = new_data + holder = newloc + if(!istype(holder)) + message_admins("ERROR: An integrated_io ([name]) spawned without a valid holder! This is a bug.") + +/datum/integrated_io/Destroy() + disconnect() + data = null + holder = null + return ..() + +/datum/integrated_io/proc/data_as_type(var/as_type) + if(!isweakref(data)) + return + var/datum/weakref/w = data + var/output = w.resolve() + return istype(output, as_type) ? output : null + +/datum/integrated_io/proc/display_data(var/input) + if(isnull(input)) + return "(null)" // Empty data means nothing to show. + + if(istext(input)) + return "(\"[input]\")" // Wraps the 'string' in escaped quotes, so that people know it's a 'string'. + + if(islist(input)) + var/list/my_list = input + var/result = "list\[[my_list.len]\](" + if(my_list.len) + result += "
    " + var/pos = 0 + for(var/line in my_list) + result += "[display_data(line)]" + pos++ + if(pos != my_list.len) + result += ",
    " + result += "
    " + result += ")" + return result + + if(isweakref(input)) + var/datum/weakref/w = input + var/atom/A = w.resolve() + return A ? "([A.name] \[Ref\])" : "(null)" // For refs, we want just the name displayed. + + return "([input])" // Nothing special needed for numbers or other stuff. + +/datum/integrated_io/activate/display_data() + return "(\[pulse\])" + +/datum/integrated_io/proc/display_pin_type() + return IC_FORMAT_ANY + +/datum/integrated_io/activate/display_pin_type() + return IC_FORMAT_PULSE + +/datum/integrated_io/proc/scramble() + if(isnull(data)) + return + if(isnum(data)) + write_data_to_pin(rand(-10000, 10000)) + if(istext(data)) + write_data_to_pin("ERROR") + push_data() + +/datum/integrated_io/activate/scramble() + push_data() + +/datum/integrated_io/proc/write_data_to_pin(var/new_data) + if(isnull(new_data) || isnum(new_data) || istext(new_data) || isweakref(new_data)) + data = new_data + holder.on_data_written() + else if(islist(new_data)) + var/list/new_list = new_data + data = new_list.Copy(max(1,new_list.len - IC_MAX_LIST_LENGTH+1),0) + holder.on_data_written() + +/datum/integrated_io/proc/push_data() + for(var/k in 1 to linked.len) + var/datum/integrated_io/io = linked[k] + io.write_data_to_pin(data) + +/datum/integrated_io/activate/push_data() + for(var/k in 1 to linked.len) + var/datum/integrated_io/io = linked[k] + io.holder.check_then_do_work() + +/datum/integrated_io/proc/pull_data() + for(var/k in 1 to linked.len) + var/datum/integrated_io/io = linked[k] + write_data_to_pin(io.data) + +/datum/integrated_io/proc/get_linked_to_desc() + if(linked.len) + return "the [english_list(linked)]" + return "nothing" + +/datum/integrated_io/proc/disconnect() + //First we iterate over everything we are linked to. + if(linked && linked.len) + for(var/i in 1 to linked.len) + var/datum/integrated_io/their_io = linked[i] + //While doing that, we iterate them as well, and disconnect ourselves from them. + if(their_io.linked.len && their_io.linked) + for(var/j in 1 to their_io.linked.len) + var/datum/integrated_io/their_linked_io = their_io.linked[j] + if(their_linked_io == src) + their_io.linked.Remove(src) + else + continue + //Now that we're removed from them, we gotta remove them from us. + linked.Remove(their_io) + +/datum/integrated_io/proc/ask_for_data_type(mob/user, var/default, var/list/allowed_data_types = list("string","number","null")) + var/type_to_use = input("Please choose a type to use.","[src] type setting") as null|anything in allowed_data_types + if(!holder.check_interactivity(user)) + return + + var/new_data = null + switch(type_to_use) + if("string") + new_data = stripped_input(user, "Now type in a string.","[src] string writing", istext(default) ? default : null) + if(istext(new_data) && holder.check_interactivity(user) ) + to_chat(user, "You input "+new_data+" into the pin.") + return new_data + if("number") + new_data = input("Now type in a number.","[src] number writing", isnum(default) ? default : null) as null|num + if(isnum(new_data) && holder.check_interactivity(user) ) + to_chat(user, "You input [new_data] into the pin.") + return new_data + if("null") + if(holder.check_interactivity(user)) + to_chat(user, "You clear the pin's memory.") + return new_data + +// Basically a null check +/datum/integrated_io/proc/is_valid() + return !isnull(data) + +// This proc asks for the data to write, then writes it. +/datum/integrated_io/proc/ask_for_pin_data(mob/user) + var/new_data = ask_for_data_type(user) + write_data_to_pin(new_data) + +/datum/integrated_io/activate/ask_for_pin_data(mob/user) // This just pulses the pin. + holder.check_then_do_work(ignore_power = TRUE) + to_chat(user, "You pulse \the [holder]'s [src] pin.") + +/datum/integrated_io/activate + name = "activation pin" + io_type = PULSE_CHANNEL + +/datum/integrated_io/activate/out // All this does is just make the UI say 'out' instead of 'in' + data = 1 diff --git a/code/modules/integrated_electronics/core/prefab.dm b/code/modules/integrated_electronics/core/prefab.dm new file mode 100644 index 0000000000..3dc3f2d6ef --- /dev/null +++ b/code/modules/integrated_electronics/core/prefab.dm @@ -0,0 +1,156 @@ +/obj/item/device/integrated_electronics/prefab + var/debug = FALSE + name = "prefab" + desc = "new machine in package" + icon = 'icons/obj/electronic_assemblies.dmi' + icon_state = "box_template" + w_class = WEIGHT_CLASS_BULKY + var/program="blank" + var/list/as_names = list() + +/obj/item/device/integrated_electronics/prefab/attack_self(var/mob/user) + if(program && program != "blank") + assemble(program) + else + return ..() + +/obj/item/device/integrated_electronics/prefab/Initialize() + . = ..() + var/list/assembly_list = list( + /obj/item/device/electronic_assembly, + /obj/item/device/electronic_assembly/medium, + /obj/item/device/electronic_assembly/large, + /obj/item/device/electronic_assembly/drone, + ) + for(var/k in 1 to assembly_list.len) + var/obj/item/I = assembly_list[k] + as_names[initial(I.name)] = I + addtimer(CALLBACK(src, .proc/attack_self), 2) //IDK, why it's need dely,but otherwise it doesn't work. + +/obj/item/device/integrated_electronics/prefab/proc/assemble(var/program) + var/list/all_circuits = SScircuit.all_circuits //cached lists = free performance + var/list/chap = splittext( program ,"{{*}}") + var/list/elements = list() + var/list/elements_input = list() + var/list/element = list() + var/obj/item/AS + var/PA + var/i = 0 + + var/list/ioa = list() + var/datum/integrated_io/IO + var/datum/integrated_io/IO2 + if(debug) + visible_message( "started successful") + if(chap[2] != "") + if(debug) + visible_message( "assembly") + element = splittext( chap[2] ,"=-=") + PA = as_names[element[1]] + AS = new PA(null) + AS.loc = src + AS.name = element[2] + else + return //what's the point if there is no assembly? + if(chap[3] != "components") //if there is only one word,there is no components. + elements_input = splittext( chap[3] ,"^%^") + if(debug) + visible_message( "components[elements_input.len]") + i = 0 + elements = list() + for(var/elem in elements_input) + i=i+1 + if(i>1) + elements.Add(elem) //I don't know,why Cut or copy don't works. If somebody can fix it, it should be fixed. + if(debug) + visible_message( "components[elements.len]") + if(!length(elements_input)) + return + if(debug) + visible_message( "inserting components[elements.len]") + var/obj/item/integrated_circuit/comp + i=0 + for(var/E in elements) + i=i+1 + element = splittext( E ,"=-=") + if(debug) + visible_message( "[E]") + var/path_to_use = all_circuits[element[1]] + comp = new path_to_use(null) + comp.loc = AS + comp.displayed_name = element[2] + comp.assembly = AS + if(comp.inputs && comp.inputs.len) + for(var/j in 1 to comp.inputs.len) + var/datum/integrated_io/IN = comp.inputs[j] + ioa["[i]i[j]"] = IN + if(debug) + visible_message( "[i]i[j]") + if(comp.outputs && comp.outputs.len) + for(var/j in 1 to comp.outputs.len) //Also this block uses for setting all i/o id's + var/datum/integrated_io/OUT = comp.outputs[j] + ioa["[i]o[j]"] = OUT + if(debug) + visible_message( "[i]o[j]") + if(comp.activators && comp.activators.len) + for(var/j in 1 to comp.activators.len) + var/datum/integrated_io/ACT = comp.activators[j] + ioa["[i]a[j]"] = ACT + if(debug) + visible_message( "[i]a[j]") + + else + return + if(!AS.contents.len) + return + if(chap[4] != "values") //if there is only one word,there is no values + elements_input = splittext( chap[4] ,"^%^") + if(debug) + visible_message( "values[elements_input.len]") + i=0 + elements = list() + for(var/elem in elements_input) + i=i+1 + if(i>1) + elements.Add(elem) + if(debug) + visible_message( "values[elements.len]") + if(elements.len>0) + if(debug) + visible_message( "setting values[elements.len]") + for(var/E in elements) + element = splittext( E ,":+:") + if(debug) + visible_message( "[E]") + IO = ioa[element[1]] + if(element[2]=="text") + IO.write_data_to_pin(element[3]) + else if(element[2]=="num") + IO.write_data_to_pin(text2num(element[3])) + else if(element[2]=="list") + IO.write_data_to_pin(params2list(element[3])) + if(chap[5] != "wires") //if there is only one word,there is no wires + elements_input = splittext( chap[5] ,"^%^") + i=0 + elements = list() + if(debug) + visible_message( "wires[elements_input.len]") + for(var/elem in elements_input) + i=i+1 + if(i>1) + elements.Add(elem) + if(debug) + visible_message( "wires[elements.len]") + if(elements.len>0) + if(debug) + visible_message( "setting wires[elements.len]") + for(var/E in elements) + element = splittext( E ,"=-=") + if(debug) + visible_message( "[E]") + IO = ioa[element[1]] + IO2 = ioa[element[2]] + IO.linked |= IO2 + + AS.forceMove(loc) + qdel(src) diff --git a/code/modules/integrated_electronics/core/printer.dm b/code/modules/integrated_electronics/core/printer.dm new file mode 100644 index 0000000000..456d08281d --- /dev/null +++ b/code/modules/integrated_electronics/core/printer.dm @@ -0,0 +1,407 @@ +/obj/item/device/integrated_circuit_printer + name = "integrated circuit printer" + desc = "A portable(ish) machine made to print tiny modular circuitry out of metal." + icon = 'icons/obj/electronic_assemblies.dmi' + icon_state = "circuit_printer" + w_class = WEIGHT_CLASS_BULKY + var/metal = 0 + var/init_max_metal = 100 + var/max_metal = 100 + var/metal_per_sheet = 10 // One sheet equals this much metal. + var/debug = FALSE + var/upgraded = FALSE // When hit with an upgrade disk, will turn true, allowing it to print the higher tier circuits. + var/can_clone = FALSE // Same for above, but will allow the printer to duplicate a specific assembly. + var/static/list/recipe_list //category = list(paths in category) + var/current_category = null + var/as_printing = FALSE + var/as_needs = 0 + var/program ="blank" + var/obj/item/device/integrated_electronics/prefab/PR = null + +/obj/item/device/integrated_circuit_printer/proc/check_interactivity(mob/user) + return user.canUseTopic(src,be_close = TRUE) + +/obj/item/device/integrated_circuit_printer/upgraded + upgraded = TRUE + can_clone = TRUE + +/obj/item/device/integrated_circuit_printer/Initialize() + . = ..() + if(!recipe_list) + recipe_list = SScircuit.circuit_fabricator_recipe_list + +/obj/item/device/integrated_circuit_printer/attackby(var/obj/item/O, var/mob/user) + if(istype(O,/obj/item/stack/sheet/metal)) + var/obj/item/stack/sheet/metal/stack = O + var/num = min((max_metal - metal) / metal_per_sheet, stack.amount) + if(num < 1) + to_chat(user, "\The [src] is too full to add more metal.") + return + if(stack.use(num)) + to_chat(user, "You add [num] sheet\s to \the [src].") + metal += num * metal_per_sheet + if(as_printing) + if(as_needs <= metal) + PR = new/obj/item/device/integrated_electronics/prefab(get_turf(loc)) + PR.program = program + metal = metal - as_needs + to_chat(user, "Assembly has been printed.") + as_printing = FALSE + as_needs = 0 + max_metal = init_max_metal + else + to_chat(user, "Please insert [(as_needs-metal)/10] more metal!") + interact(user) + return TRUE + + if(istype(O,/obj/item/integrated_circuit)) + to_chat(user, "You insert the circuit into \the [src]. ") + user.temporarilyRemoveItemFromInventory(O) + metal = min(metal + O.w_class, max_metal) + qdel(O) + interact(user) + return TRUE + + if(istype(O,/obj/item/disk/integrated_circuit/upgrade/advanced)) + if(upgraded) + to_chat(user, "\The [src] already has this upgrade. ") + return TRUE + to_chat(user, "You install \the [O] into \the [src]. ") + upgraded = TRUE + interact(user) + return TRUE + + if(istype(O,/obj/item/disk/integrated_circuit/upgrade/clone)) + if(can_clone) + to_chat(user, "\The [src] already has this upgrade. ") + return TRUE + to_chat(user, "You install \the [O] into \the [src]. ") + can_clone = TRUE + interact(user) + return TRUE + + return ..() + +/obj/item/device/integrated_circuit_printer/attack_self(var/mob/user) + interact(user) + +/obj/item/device/integrated_circuit_printer/interact(mob/user) + var/window_height = 600 + var/window_width = 500 + + if(isnull(current_category)) + current_category = recipe_list[1] + + var/HTML = "

    Integrated Circuit Printer


    " + HTML += "Metal: [metal/metal_per_sheet]/[max_metal/metal_per_sheet] sheets.
    " + HTML += "Circuits available: [upgraded ? "Advanced":"Regular"]." + HTML += "Assembly Cloning: [can_clone ? "Available": "Unavailable"]." + HTML += "Crossed out circuits mean that the printer is not sufficiently upgraded to create that circuit.
    " + HTML += "
    " + if(can_clone) + HTML += "Here you can load script for your assembly.
    " + if(as_printing) + HTML += " {Load Program} " + else + HTML += " {Load Program} " + if(program == "blank") + HTML += " {Check Program} " + else + HTML += " {Check Program} " + if((program == "blank")|as_printing) + HTML += " {Print assembly} " + else + HTML += " {Print assembly} " + if(as_printing) + HTML += "
    printing in process. Please insert more metal. " + HTML += "

    " + HTML += "Categories:" + for(var/category in recipe_list) + if(category != current_category) + HTML += " \[[category]\] " + else // Bold the button if it's already selected. + HTML += " \[[category]\] " + HTML += "
    " + HTML += "

    [current_category]

    " + + var/list/current_list = recipe_list[current_category] + for(var/k in 1 to current_list.len) + var/obj/O = current_list[k] + var/can_build = TRUE + if(istype(O, /obj/item/integrated_circuit)) + var/obj/item/integrated_circuit/IC = current_list[k] + if((initial(IC.spawn_flags) & IC_SPAWN_RESEARCH) && (!(initial(IC.spawn_flags) & IC_SPAWN_DEFAULT)) && !upgraded) + can_build = FALSE + if(can_build) + HTML += "\[[initial(O.name)]\]: [initial(O.desc)]
    " + else + HTML += "\[[initial(O.name)]\]: [initial(O.desc)]
    " + + user << browse(jointext(HTML, null), "window=integrated_printer;size=[window_width]x[window_height];border=1;can_resize=1;can_close=1;can_minimize=1") + +/obj/item/device/integrated_circuit_printer/Topic(href, href_list) + if(!check_interactivity(usr)) + return + if(..()) + return TRUE + var/sc = 0 + add_fingerprint(usr) + + if(href_list["category"]) + current_category = href_list["category"] + + if(href_list["build"]) + var/build_type = text2path(href_list["build"]) + if(!build_type || !ispath(build_type)) + return TRUE + + var/cost = 1 + if(ispath(build_type, /obj/item/device/electronic_assembly)) + var/obj/item/device/electronic_assembly/E = build_type + cost = round( (initial(E.max_complexity) + initial(E.max_components) ) / 4) + else if(ispath(build_type, /obj/item/integrated_circuit)) + var/obj/item/integrated_circuit/IC = build_type + cost = initial(IC.w_class) + + if(metal - cost < 0) + to_chat(usr, "You need [cost] metal to build that!.") + return TRUE + metal -= cost + new build_type(get_turf(loc)) + + if(href_list["print"]) + if(!CONFIG_GET(flag/ic_printing)) + to_chat(usr, "CentCom has disabled printing of custom circuitry due to recent allegations of copyright infringement.") + return + switch(href_list["print"]) + if("load") + program = input("Put your code there:", "loading", null, null) + if("check") + sc = sanity_check(program,usr) + if(sc == 0) + to_chat(usr, "Invalid program.") + else if(sc == -1) + to_chat(usr, "Unknown circuits found. Upgrades required to process this design.") + else if(sc == null) + to_chat(usr, "Invalid program.") + else + to_chat(usr, "Program is correct.You'll need [sc/10] sheets of metal") + if("print") + sc = sanity_check(program,usr) + if(sc == 0 || sc == null) + to_chat(usr, "Invalid program.") + else if(sc == -1) + to_chat(usr, "Unknown circuits found. Upgrades required to process this design.") + else + as_printing = TRUE + if(sc <= metal) + PR = new/obj/item/device/integrated_electronics/prefab(get_turf(loc)) + PR.program = program + metal = metal - sc + to_chat(usr, "Assembly has been printed.") + as_printing = FALSE + as_needs = 0 + max_metal=init_max_metal + else + max_metal = sc + metal_per_sheet + as_needs = sc + to_chat(usr, "Please insert [(as_needs-metal)/10] more metal!") + interact(usr) + +// FUKKEN UPGRADE DISKS +/obj/item/disk/integrated_circuit/upgrade + name = "integrated circuit printer upgrade disk" + desc = "Install this into your integrated circuit printer to enhance it." + icon = 'icons/obj/electronic_assemblies.dmi' + icon_state = "upgrade_disk" + item_state = "card-id" + w_class = WEIGHT_CLASS_SMALL + origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 4) + +/obj/item/disk/integrated_circuit/upgrade/advanced + name = "integrated circuit printer upgrade disk - advanced designs" + desc = "Install this into your integrated circuit printer to enhance it. This one adds new, advanced designs to the printer." + +// To be implemented later. +/obj/item/disk/integrated_circuit/upgrade/clone + name = "integrated circuit printer upgrade disk - circuit cloner" + desc = "Install this into your integrated circuit printer to enhance it. This one allows the printer to duplicate assemblies." + icon_state = "upgrade_disk_clone" + origin_tech = list(TECH_ENGINEERING = 4, TECH_DATA = 5) + +/obj/item/device/integrated_circuit_printer/proc/sanity_check(var/program,var/mob/user) + var/list/chap = splittext( program ,"{{*}}") + if(chap.len != 6) + return 0 //splitting incorrect + var/list/elements = list() + var/list/elements_input = list() + var/list/element = list() + var/obj/item/PA + var/obj/item/device/electronic_assembly/PF + var/datum/integrated_io/IO + var/datum/integrated_io/IO2 + var/i = 0 + var/obj/item/integrated_circuit/comp + var/list/ioa = list() + var/list/as_samp = list() + var/list/all_circuits = SScircuit.all_circuits // It's free. Performance. We're giving you cpu time. It's free. We're giving you time. It's performance, free. It's free cpu time for you jim! + var/list/assembly_list = list( + /obj/item/device/electronic_assembly, + /obj/item/device/electronic_assembly/medium, + /obj/item/device/electronic_assembly/large, + /obj/item/device/electronic_assembly/drone, + ) + var/compl = 0 + var/maxcomp = 0 + var/cap = 0 + var/maxcap = 0 + var/metalcost = 0 + for(var/k in 1 to assembly_list.len) + var/obj/item/I = assembly_list[k] + as_samp[initial(I.name)] = I + if(debug) + visible_message( "started successful") + if(chap[2] != "") + if(debug) + visible_message( "assembly") + element = splittext( chap[2] ,"=-=") + PA = as_samp[element[1]] + if(ispath(PA,/obj/item/device/electronic_assembly)) + PF = PA + maxcap = initial(PF.max_components) + maxcomp = initial(PF.max_complexity) + metalcost = metalcost + round( (initial(PF.max_complexity) + initial(PF.max_components) ) / 4) + if(debug) + visible_message( "maxcap[maxcap]maxcomp[maxcomp]") + else + return 0 + to_chat(usr, "This is program for [element[2]]") + + else + return 0 //what's the point if there is no assembly? + if(chap[3] != "components") //if there is only one word,there is no components. + elements_input = splittext( chap[3] ,"^%^") + if(debug) + visible_message( "components[elements_input.len]") + i = 0 + elements = list() + for(var/elem in elements_input) + i=i+1 + if(i>1) + elements.Add(elem) + if(debug) + visible_message( "components[elements.len]") + if(elements_input.len<1) + return 0 + if(debug) + visible_message( "inserting components[elements.len]") + i=0 + for(var/E in elements) + i=i+1 + element = splittext( E ,"=-=") + if(debug) + visible_message( "[E]") + comp = all_circuits[element[1]] + if(!comp) + break + if(!upgraded) + var/obj/item/integrated_circuit/IC = comp + if(!(initial(IC.spawn_flags) & IC_SPAWN_DEFAULT)) + return -1 + compl = compl + initial(comp.complexity) + cap = cap + initial(comp.size) + metalcost = metalcost + initial(initial(comp.w_class)) + var/obj/item/integrated_circuit/circuit = new comp + var/list/ini = circuit.inputs + if(length(ini)) + for(var/j in 1 to ini.len) + var/datum/integrated_io/IN = ini[j] + ioa["[i]i[j]"] = IN + if(debug) + visible_message( "[i]i[j]") + ini = circuit.outputs + if(length(ini)) + for(var/j in 1 to ini.len) //Also this block uses for setting all i/o id's + var/datum/integrated_io/OUT = ini[j] + ioa["[i]o[j]"] = OUT + if(debug) + visible_message( "[i]o[j]") + ini = circuit.activators + if(length(ini)) + for(var/j in 1 to ini.len) + var/datum/integrated_io/ACT = ini.[j] + ioa["[i]a[j]"] = ACT + if(debug) + visible_message( "[i]a[j]") + if(icap[cap]compl[compl]maxcompl[maxcomp]maxcap[maxcap]") + if(cap == 0) + return 0 + if(cap>maxcap) + return 0 + if(compl>maxcomp) + return 0 + if(chap[4] != "values") //if there is only one word,there is no values + elements_input = splittext( chap[4] ,"^%^") + if(debug) + visible_message( "values[elements_input.len]") + i=0 + elements = list() + for(var/elem in elements_input) + i=i+1 + if(i>1) + elements.Add(elem) + if(debug) + visible_message( "values[elements.len]") + if(elements.len>0) + if(debug) + visible_message( "setting values[elements.len]") + for(var/E in elements) + element = splittext( E ,":+:") + if(debug) + visible_message( "[E]") + if(!ioa[element[1]]) + return 0 + if(element[2]=="text") + continue + else if(element[2]=="num") + continue + else if(element[2]=="list") + continue + else + return 0 + + if(chap[5] != "wires") //if there is only one word,there is no wires + elements_input = splittext( chap[5] ,"^%^") + i=0 + elements = list() + if(debug) + visible_message( "wires[elements_input.len]") + for(var/elem in elements_input) + i=i+1 + if(i>1) + elements.Add(elem) + if(debug) + visible_message( "wires[elements.len]") + if(elements.len>0) + if(debug) + visible_message( "setting wires[elements.len]") + for(var/E in elements) + element = splittext( E ,"=-=") + if(debug) + visible_message( "[E]") + IO = ioa[element[1]] + IO2 = ioa[element[2]] + if(!((element[2]+"=-="+element[1]) in elements)) + return 0 + if(!IO) + return 0 + if(!IO2) + return 0 + if(initial(IO.io_type) != initial(IO2.io_type)) + return 0 + return metalcost \ No newline at end of file diff --git a/code/modules/integrated_electronics/core/special_pins/boolean_pin.dm b/code/modules/integrated_electronics/core/special_pins/boolean_pin.dm new file mode 100644 index 0000000000..46b1f4c759 --- /dev/null +++ b/code/modules/integrated_electronics/core/special_pins/boolean_pin.dm @@ -0,0 +1,26 @@ +// These pins only contain 0 or 1. Null is not allowed. +/datum/integrated_io/boolean + name = "boolean pin" + data = FALSE + +/datum/integrated_io/boolean/ask_for_pin_data(mob/user) // 'Ask' is a bit misleading, acts more like a toggle. + var/new_data = !data + to_chat(user, "You switch the data bit to [data? "true" : "false"].") + write_data_to_pin(new_data) + +/datum/integrated_io/boolean/write_data_to_pin(var/new_data) + if(new_data == FALSE || new_data == TRUE) + data = new_data + holder.on_data_written() + +/datum/integrated_io/boolean/scramble() + write_data_to_pin(rand(FALSE,TRUE)) + push_data() + +/datum/integrated_io/boolean/display_pin_type() + return IC_FORMAT_BOOLEAN + +/datum/integrated_io/boolean/display_data(var/input) + if(data == TRUE) + return "(True)" + return "(False)" \ No newline at end of file diff --git a/code/modules/integrated_electronics/core/special_pins/char_pin.dm b/code/modules/integrated_electronics/core/special_pins/char_pin.dm new file mode 100644 index 0000000000..1d859f86b5 --- /dev/null +++ b/code/modules/integrated_electronics/core/special_pins/char_pin.dm @@ -0,0 +1,27 @@ +// These pins can only contain a 1 character string or null. +/datum/integrated_io/char + name = "char pin" + +/datum/integrated_io/char/ask_for_pin_data(mob/user) + var/new_data = stripped_input(user, "Please type in one character.","[src] char writing") + if(holder.check_interactivity(user) ) + to_chat(user, "You input [new_data ? "new_data" : "NULL"] into the pin.") + write_data_to_pin(new_data) + +/datum/integrated_io/char/write_data_to_pin(var/new_data) + if(isnull(new_data) || istext(new_data)) + if(length(new_data) > 1) + return + data = new_data + holder.on_data_written() + +// This makes the text go from "A" to "%". +/datum/integrated_io/char/scramble() + if(!is_valid()) + return + var/list/options = list("!","@","#","$","%","^","&","*","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z") + data = pick(options) + push_data() + +/datum/integrated_io/char/display_pin_type() + return IC_FORMAT_CHAR diff --git a/code/modules/integrated_electronics/core/special_pins/color_pin.dm b/code/modules/integrated_electronics/core/special_pins/color_pin.dm new file mode 100644 index 0000000000..703afe5825 --- /dev/null +++ b/code/modules/integrated_electronics/core/special_pins/color_pin.dm @@ -0,0 +1,49 @@ +// These pins can only contain a color (in the form of #FFFFFF) or null. +/datum/integrated_io/color + name = "color pin" + +/datum/integrated_io/color/ask_for_pin_data(mob/user) + var/new_data = input("Please select a color.","[src] color writing") as null|color + if(holder.check_interactivity(user) ) + to_chat(user, "You input a new color into the pin.") + write_data_to_pin(new_data) + +/datum/integrated_io/color/write_data_to_pin(var/new_data) + // Since this is storing the color as a string hex color code, we need to make sure it's actually one. + if(isnull(new_data) || istext(new_data)) + if(istext(new_data)) + new_data = uppertext(new_data) + if(length(new_data) != 7) // We can hex if we want to, we can leave your strings behind + return // Cause your strings don't hex and if they don't hex + var/friends = copytext(new_data, 2, 8) // Well they're are no strings of mine + // I say, we can go where we want to, a place where they will never find + var/safety_dance = 1 + while(safety_dance >= 7) // And we can act like we come from out of this world.log + var/hex = copytext(friends, safety_dance, safety_dance+1) + if(!(hex in list("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"))) + return // Leave the fake one far behind, + safety_dance++ + + data = new_data // And we can hex + holder.on_data_written() + +// This randomizes the color. +/datum/integrated_io/color/scramble() + if(!is_valid()) + return + var/new_data + for(var/i=1;i<=3;i++) + var/temp_col = "[num2hex(rand(0,255))]" + if(length(temp_col )<2) + temp_col = "0[temp_col]" + new_data += temp_col + data = new_data + push_data() + +/datum/integrated_io/color/display_pin_type() + return IC_FORMAT_COLOR + +/datum/integrated_io/color/display_data(var/input) + if(!isnull(data)) + return "([data])" + return ..() \ No newline at end of file diff --git a/code/modules/integrated_electronics/core/special_pins/dir_pin.dm b/code/modules/integrated_electronics/core/special_pins/dir_pin.dm new file mode 100644 index 0000000000..4ce5597af8 --- /dev/null +++ b/code/modules/integrated_electronics/core/special_pins/dir_pin.dm @@ -0,0 +1,31 @@ +// These pins can only contain directions (1,2,4,8...) or null. +/datum/integrated_io/dir + name = "dir pin" + +/datum/integrated_io/dir/ask_for_pin_data(mob/user) + var/new_data = input("Please type in a valid dir number. \ + Valid dirs are;\n\ + North/Fore = [NORTH],\n\ + South/Aft = [SOUTH],\n\ + East/Starboard = [EAST],\n\ + West/Port = [WEST],\n\ + Northeast = [NORTHEAST],\n\ + Northwest = [NORTHWEST],\n\ + Southeast = [SOUTHEAST],\n\ + Southwest = [SOUTHWEST]","[src] dir writing") as null|num + if(isnum(new_data) && holder.check_interactivity(user) ) + to_chat(user, "You input [new_data] into the pin.") + write_data_to_pin(new_data) + +/datum/integrated_io/dir/write_data_to_pin(var/new_data) + if(isnull(new_data) || new_data in list(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST)/* + list(UP, DOWN)*/) + data = new_data + holder.on_data_written() + +/datum/integrated_io/dir/display_pin_type() + return IC_FORMAT_DIR + +/datum/integrated_io/dir/display_data(var/input) + if(!isnull(data)) + return "([dir2text(data)])" + return ..() \ No newline at end of file diff --git a/code/modules/integrated_electronics/core/special_pins/list_pin.dm b/code/modules/integrated_electronics/core/special_pins/list_pin.dm new file mode 100644 index 0000000000..ddf3a48362 --- /dev/null +++ b/code/modules/integrated_electronics/core/special_pins/list_pin.dm @@ -0,0 +1,148 @@ +// These pins contain a list. Null is not allowed. +/datum/integrated_io/lists + name = "list pin" + data = list() + +/datum/integrated_io/lists/ask_for_pin_data(mob/user) + interact(user) + +/datum/integrated_io/lists/proc/interact(mob/user) + var/list/my_list = data + var/t = "

    [src]


    " + t += "List length: [my_list.len]
    " + t += "\[Refresh\] | " + t += "\[Add\] | " + t += "\[Swap\] | " + t += "\[Clear\]
    " + t += "
    " + var/i = 0 + for(var/line in my_list) + i++ + t += "#[i] | [display_data(line)] | " + t += "\[Edit\] | " + t += "\[Remove\]
    " + user << browse(t, "window=list_pin_[REF(src)];size=500x400") + +/datum/integrated_io/lists/proc/add_to_list(mob/user, var/new_entry) + if(!new_entry && user) + new_entry = ask_for_data_type(user) + if(is_valid(new_entry)) + Add(new_entry) + +/datum/integrated_io/lists/proc/Add(var/new_entry) + var/list/my_list = data + if(my_list.len > IC_MAX_LIST_LENGTH) + my_list.Cut(Start=1,End=2) + my_list.Add(new_entry) + +/datum/integrated_io/lists/proc/remove_from_list_by_position(mob/user, var/position) + var/list/my_list = data + if(!my_list.len) + to_chat(user, "The list is empty, there's nothing to remove.") + return + if(!position) + return + var/target_entry = my_list.Find(position) + if(target_entry) + my_list.Remove(target_entry) + +/datum/integrated_io/lists/proc/remove_from_list(mob/user, var/target_entry) + var/list/my_list = data + if(!my_list.len) + to_chat(user, "The list is empty, there's nothing to remove.") + return + if(!target_entry) + target_entry = input(user, "Which piece of data do you want to remove?", "Remove") as null|anything in my_list + if(holder.check_interactivity(user) && target_entry) + my_list.Remove(target_entry) + +/datum/integrated_io/lists/proc/edit_in_list(mob/user, var/target_entry) + var/list/my_list = data + if(!my_list.len) + to_chat(user, "The list is empty, there's nothing to modify.") + return + if(!target_entry) + target_entry = input(user, "Which piece of data do you want to edit?", "Edit") as null|anything in my_list + if(holder.check_interactivity(user) && target_entry) + var/edited_entry = ask_for_data_type(user, target_entry) + if(edited_entry) + target_entry = edited_entry + +/datum/integrated_io/lists/proc/edit_in_list_by_position(mob/user, var/position) + var/list/my_list = data + if(!my_list.len) + to_chat(user, "The list is empty, there's nothing to modify.") + return + if(!position) + return + var/target_entry = my_list.Find(position) + if(target_entry) + var/edited_entry = ask_for_data_type(user, target_entry) + if(edited_entry) + target_entry = edited_entry + +/datum/integrated_io/lists/proc/swap_inside_list(mob/user, var/first_target, var/second_target) + var/list/my_list = data + if(my_list.len <= 1) + to_chat(user, "The list is empty, or too small to do any meaningful swapping.") + return + if(!first_target) + first_target = input(user, "Which piece of data do you want to swap? (1)", "Swap") as null|anything in my_list + + if(holder.check_interactivity(user) && first_target) + if(!second_target) + second_target = input(user, "Which piece of data do you want to swap? (2)", "Swap") as null|anything in my_list - first_target + + if(holder.check_interactivity(user) && second_target) + var/first_pos = my_list.Find(first_target) + var/second_pos = my_list.Find(second_target) + my_list.Swap(first_pos, second_pos) + +/datum/integrated_io/lists/proc/clear_list(mob/user) + var/list/my_list = data + my_list.Cut() + +/datum/integrated_io/lists/scramble() + var/list/my_list = data + my_list = shuffle(my_list) + push_data() + +/datum/integrated_io/lists/write_data_to_pin(var/new_data) + if(islist(new_data)) + var/list/new_list = new_data + data = new_list.Copy(max(1,new_list.len - IC_MAX_LIST_LENGTH+1),0) + holder.on_data_written() + +/datum/integrated_io/lists/display_pin_type() + return IC_FORMAT_LIST + +/datum/integrated_io/lists/Topic(href, href_list) + if(!holder.check_interactivity(usr)) + return + if(..()) + return TRUE + + if(href_list["add"]) + add_to_list(usr) + + if(href_list["swap"]) + swap_inside_list(usr) + + if(href_list["clear"]) + clear_list(usr) + + if(href_list["remove"]) + if(href_list["pos"]) + remove_from_list_by_position(usr, text2num(href_list["pos"])) + else + remove_from_list(usr) + + if(href_list["edit"]) + if(href_list["pos"]) + edit_in_list_by_position(usr, text2num(href_list["pos"])) + else + edit_in_list(usr) + + holder.interact(usr) // Refresh the main UI, + interact(usr) // and the list UI. + diff --git a/code/modules/integrated_electronics/core/special_pins/number_pin.dm b/code/modules/integrated_electronics/core/special_pins/number_pin.dm new file mode 100644 index 0000000000..e37eea3d93 --- /dev/null +++ b/code/modules/integrated_electronics/core/special_pins/number_pin.dm @@ -0,0 +1,17 @@ +// These pins can only contain numbers (int and floating point) or null. +/datum/integrated_io/number + name = "number pin" + +/datum/integrated_io/number/ask_for_pin_data(mob/user) + var/new_data = input("Please type in a number.","[src] number writing") as null|num + if(isnum(new_data) && holder.check_interactivity(user) ) + to_chat(user, "You input [new_data] into the pin.") + write_data_to_pin(new_data) + +/datum/integrated_io/number/write_data_to_pin(var/new_data) + if(isnull(new_data) || isnum(new_data)) + data = new_data + holder.on_data_written() + +/datum/integrated_io/number/display_pin_type() + return IC_FORMAT_NUMBER \ No newline at end of file diff --git a/code/modules/integrated_electronics/core/special_pins/ref_pin.dm b/code/modules/integrated_electronics/core/special_pins/ref_pin.dm new file mode 100644 index 0000000000..461965f254 --- /dev/null +++ b/code/modules/integrated_electronics/core/special_pins/ref_pin.dm @@ -0,0 +1,14 @@ +// These pins only contain weakrefs or null. +/datum/integrated_io/ref + name = "ref pin" + +/datum/integrated_io/ref/ask_for_pin_data(mob/user) // This clears the pin. + write_data_to_pin(null) + +/datum/integrated_io/ref/write_data_to_pin(var/new_data) + if(isnull(new_data) || isweakref(new_data)) + data = new_data + holder.on_data_written() + +/datum/integrated_io/ref/display_pin_type() + return IC_FORMAT_REF \ No newline at end of file diff --git a/code/modules/integrated_electronics/core/special_pins/string_pin.dm b/code/modules/integrated_electronics/core/special_pins/string_pin.dm new file mode 100644 index 0000000000..a619e7450f --- /dev/null +++ b/code/modules/integrated_electronics/core/special_pins/string_pin.dm @@ -0,0 +1,27 @@ +// These pins can only contain text and null. +/datum/integrated_io/string + name = "string pin" + +/datum/integrated_io/string/ask_for_pin_data(mob/user) + var/new_data = stripped_input(user, "Please type in a string.","[src] string writing") + if(holder.check_interactivity(user) ) + to_chat(user, "You input [new_data ? "[new_data]" : "NULL"] into the pin.") + write_data_to_pin(new_data) + +/datum/integrated_io/string/write_data_to_pin(var/new_data) + if(isnull(new_data) || istext(new_data)) + data = new_data + holder.on_data_written() + +// This makes the text go "from this" to "#G&*!HD$%L" +/datum/integrated_io/string/scramble() + if(!is_valid()) + return + var/list/options = list("!","@","#","$","%","^","&","*","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z") + var/new_data = "" + for(var/i in 1 to length(data)) + new_data += pick(options) + push_data() + +/datum/integrated_io/string/display_pin_type() + return IC_FORMAT_STRING diff --git a/code/modules/integrated_electronics/core/wirer.dm b/code/modules/integrated_electronics/core/wirer.dm new file mode 100644 index 0000000000..c1caba00cd --- /dev/null +++ b/code/modules/integrated_electronics/core/wirer.dm @@ -0,0 +1,102 @@ +#define WIRE "wire" +#define WIRING "wiring" +#define UNWIRE "unwire" +#define UNWIRING "unwiring" + +/obj/item/device/integrated_electronics/wirer + name = "circuit wirer" + desc = "It's a small wiring tool, with a wire roll, electric soldering iron, wire cutter, and more in one package. \ + The wires used are generally useful for small electronics, such as circuitboards and breadboards, as opposed to larger wires \ + used for power or data transmission." + icon = 'icons/obj/electronic_assemblies.dmi' + icon_state = "wirer-wire" + flags_1 = CONDUCT_1 + w_class = WEIGHT_CLASS_SMALL + var/datum/integrated_io/selected_io = null + var/mode = WIRE + +/obj/item/device/integrated_electronics/wirer/update_icon() + icon_state = "wirer-[mode]" + +/obj/item/device/integrated_electronics/wirer/proc/wire(var/datum/integrated_io/io, mob/user) + if(!io.holder.assembly) + to_chat(user, "\The [io.holder] needs to be secured inside an assembly first.") + return + if(mode == WIRE) + selected_io = io + to_chat(user, "You attach a data wire to \the [selected_io.holder]'s [selected_io.name] data channel.") + mode = WIRING + update_icon() + else if(mode == WIRING) + if(io == selected_io) + to_chat(user, "Wiring \the [selected_io.holder]'s [selected_io.name] into itself is rather pointless.") + return + if(io.io_type != selected_io.io_type) + to_chat(user, "Those two types of channels are incompatable. The first is a [selected_io.io_type], \ + while the second is a [io.io_type].") + return + if(io.holder.assembly && io.holder.assembly != selected_io.holder.assembly) + to_chat(user, "Both \the [io.holder] and \the [selected_io.holder] need to be inside the same assembly.") + return + selected_io.linked |= io + io.linked |= selected_io + + to_chat(user, "You connect \the [selected_io.holder]'s [selected_io.name] to \the [io.holder]'s [io.name].") + mode = WIRE + update_icon() + selected_io.holder.interact(user) // This is to update the UI. + selected_io = null + + else if(mode == UNWIRE) + selected_io = io + if(!io.linked.len) + to_chat(user, "There is nothing connected to \the [selected_io] data channel.") + selected_io = null + return + to_chat(user, "You prepare to detach a data wire from \the [selected_io.holder]'s [selected_io.name] data channel.") + mode = UNWIRING + update_icon() + return + + else if(mode == UNWIRING) + if(io == selected_io) + to_chat(user, "You can't wire a pin into each other, so unwiring \the [selected_io.holder] from \ + the same pin is rather moot.") + return + if(selected_io in io.linked) + io.linked.Remove(selected_io) + selected_io.linked.Remove(io) + to_chat(user, "You disconnect \the [selected_io.holder]'s [selected_io.name] from \ + \the [io.holder]'s [io.name].") + selected_io.holder.interact(user) // This is to update the UI. + selected_io = null + mode = UNWIRE + update_icon() + else + to_chat(user, "\The [selected_io.holder]'s [selected_io.name] and \the [io.holder]'s \ + [io.name] are not connected.") + return + +/obj/item/device/integrated_electronics/wirer/attack_self(mob/user) + switch(mode) + if(WIRE) + mode = UNWIRE + if(WIRING) + if(selected_io) + to_chat(user, "You decide not to wire the data channel.") + selected_io = null + mode = WIRE + if(UNWIRE) + mode = WIRE + if(UNWIRING) + if(selected_io) + to_chat(user, "You decide not to disconnect the data channel.") + selected_io = null + mode = UNWIRE + update_icon() + to_chat(user, "You set \the [src] to [mode].") + +#undef WIRE +#undef WIRING +#undef UNWIRE +#undef UNWIRING \ No newline at end of file diff --git a/code/modules/integrated_electronics/passive/passive.dm b/code/modules/integrated_electronics/passive/passive.dm new file mode 100644 index 0000000000..02f03d48d7 --- /dev/null +++ b/code/modules/integrated_electronics/passive/passive.dm @@ -0,0 +1,7 @@ +// 'Passive' components do not have any pins, and instead contribute in some form to the assembly holding them. +/obj/item/integrated_circuit/passive + inputs = list() + outputs = list() + activators = list() + power_draw_idle = 0 + power_draw_per_use = 0 \ No newline at end of file diff --git a/code/modules/integrated_electronics/passive/power.dm b/code/modules/integrated_electronics/passive/power.dm new file mode 100644 index 0000000000..aafd05c569 --- /dev/null +++ b/code/modules/integrated_electronics/passive/power.dm @@ -0,0 +1,126 @@ + +/obj/item/integrated_circuit/passive/power + name = "power thingy" + desc = "Does power stuff." + complexity = 5 + origin_tech = list(TECH_POWER = 2, TECH_ENGINEERING = 2, TECH_DATA = 2) + category_text = "Power - Passive" + +/obj/item/integrated_circuit/passive/power/proc/make_energy() + return + +// For calculators. +/obj/item/integrated_circuit/passive/power/solar_cell + name = "tiny photovoltaic cell" + desc = "It's a very tiny solar cell, generally used in calculators." + extended_desc = "The cell generates 1W of power per second in optimal lighting conditions. Less light will result in less power being generated." + icon_state = "solar_cell" + complexity = 8 + origin_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 3, TECH_DATA = 2) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + var/max_power = 30 + +/obj/item/integrated_circuit/passive/power/solar_cell/make_energy() + var/turf/T = get_turf(src) + var/light_amount = T ? T.get_lumcount() : 0 + var/adjusted_power = max(max_power * light_amount, 0) + adjusted_power = round(adjusted_power, 0.1) + if(adjusted_power) + if(assembly) + assembly.give_power(adjusted_power) + +/obj/item/integrated_circuit/passive/power/starter + name = "starter" + desc = "This tiny circuit will send pulse right after device is turned on. Or when power is restored." + icon_state = "led" + complexity = 1 + activators = list("pulse out" = IC_PINTYPE_PULSE_OUT) + origin_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 3, TECH_DATA = 2) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + var/is_charge = FALSE + +/obj/item/integrated_circuit/passive/power/starter/make_energy() + if(assembly.battery) + if(assembly.battery.charge) + if(!is_charge) + activate_pin(1) + is_charge = TRUE + else + is_charge = FALSE + else + is_charge=FALSE + return FALSE + +// For fat machines that need fat power, like drones. +/obj/item/integrated_circuit/passive/power/relay + name = "tesla power relay" + desc = "A seemingly enigmatic device which connects to nearby APCs wirelessly and draws power from them." + w_class = WEIGHT_CLASS_SMALL + extended_desc = "The siphon generates 50 W of power, so long as an APC is in the same room, with a cell that has energy. It will always drain \ + from the 'equipment' power channel." + icon_state = "power_relay" + complexity = 7 + origin_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 3, TECH_DATA = 2) + spawn_flags = IC_SPAWN_RESEARCH + var/power_amount = 50 +//fuel cell + +/obj/item/integrated_circuit/passive/power/chemical_cell + name = "fuel cell" + desc = "Produces electricity from chemicals." + icon_state = "chemical_cell" + extended_desc = "This is effectively an internal beaker.It will consume and produce power from phoron, slime jelly, welding fuel, carbon,\ + ethanol, nutriments and blood , in order of decreasing efficiency. It will consume fuel only if the battery can take more energy." + container_type = OPENCONTAINER_1 + complexity = 4 + inputs = list() + outputs = list("volume used" = IC_PINTYPE_NUMBER,"self reference" = IC_PINTYPE_REF) + activators = list() + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 2) + var/volume = 60 + var/list/fuel = list("plasma" = 10000, "welding_fuel" = 3000, "carbon" = 2000, "ethanol"= 2000, "nutriment" =1600, "blood" = 1000) + +/obj/item/integrated_circuit/passive/power/chemical_cell/New() + ..() + create_reagents(volume) + +/obj/item/integrated_circuit/passive/power/chemical_cell/interact(mob/user) + set_pin_data(IC_OUTPUT, 2, WEAKREF(src)) + push_data() + ..() + +/obj/item/integrated_circuit/passive/power/chemical_cell/on_reagent_change() + set_pin_data(IC_OUTPUT, 1, reagents.total_volume) + push_data() + +/obj/item/integrated_circuit/passive/power/chemical_cell/make_energy() + if(assembly) + if(assembly.battery) + for(var/I in fuel) + if((assembly.battery.maxcharge-assembly.battery.charge) / GLOB.CELLRATE > fuel[I]) + if(reagents.remove_reagent(I, 1)) + assembly.give_power(fuel[I]) + + +// For really fat machines. +/obj/item/integrated_circuit/passive/power/relay/large + name = "large tesla power relay" + desc = "A seemingly enigmatic device which connects to nearby APCs wirelessly and draws power from them, now in industiral size!" + w_class = WEIGHT_CLASS_BULKY + extended_desc = "The siphon generates 1 kW of power, so long as an APC is in the same room, with a cell that has energy. It will always drain \ + from the 'equipment' power channel." + icon_state = "power_relay" + complexity = 15 + origin_tech = list(TECH_POWER = 6, TECH_ENGINEERING = 5, TECH_DATA = 4) + spawn_flags = IC_SPAWN_RESEARCH + power_amount = 1000 + +/obj/item/integrated_circuit/passive/power/relay/make_energy() + if(!assembly) + return + var/area/A = get_area(src) + if(A) + if(A.powered(EQUIP) && assembly.give_power(power_amount)) + A.use_power(power_amount, EQUIP) + // give_power() handles CELLRATE on its own. diff --git a/code/modules/integrated_electronics/subtypes/arithmetic.dm b/code/modules/integrated_electronics/subtypes/arithmetic.dm new file mode 100644 index 0000000000..7dec779f83 --- /dev/null +++ b/code/modules/integrated_electronics/subtypes/arithmetic.dm @@ -0,0 +1,319 @@ +//These circuits do simple math. +/obj/item/integrated_circuit/arithmetic + complexity = 1 + inputs = list( + "A" = IC_PINTYPE_NUMBER, + "B" = IC_PINTYPE_NUMBER, + "C" = IC_PINTYPE_NUMBER, + "D" = IC_PINTYPE_NUMBER, + "E" = IC_PINTYPE_NUMBER, + "F" = IC_PINTYPE_NUMBER, + "G" = IC_PINTYPE_NUMBER, + "H" = IC_PINTYPE_NUMBER + ) + outputs = list("result" = IC_PINTYPE_NUMBER) + activators = list("compute" = IC_PINTYPE_PULSE_IN, "on computed" = IC_PINTYPE_PULSE_OUT) + category_text = "Arithmetic" + power_draw_per_use = 5 // Math is pretty cheap. + +// +Adding+ // + +/obj/item/integrated_circuit/arithmetic/addition + name = "addition circuit" + desc = "This circuit can add numbers together." + extended_desc = "The order that the calculation goes is;
    \ + result = ((((A + B) + C) + D) ... ) and so on, until all pins have been added. \ + Null pins are ignored." + icon_state = "addition" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/arithmetic/addition/do_work() + var/result = 0 + for(var/k in 1 to inputs.len) + var/datum/integrated_io/I = inputs[k] + I.pull_data() + if(isnum(I.data)) + result = result + I.data + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +// -Subtracting- // + +/obj/item/integrated_circuit/arithmetic/subtraction + name = "subtraction circuit" + desc = "This circuit can subtract numbers." + extended_desc = "The order that the calculation goes is;
    \ + result = ((((A - B) - C) - D) ... ) and so on, until all pins have been subtracted. \ + Null pins are ignored. Pin A must be a number or the circuit will not function." + icon_state = "subtraction" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/arithmetic/subtraction/do_work() + var/datum/integrated_io/A = inputs[1] + if(!isnum(A.data)) + return + var/result = A.data + + for(var/k in 1 to inputs.len) + var/datum/integrated_io/I = inputs[k] + if(I == A) + continue + I.pull_data() + if(isnum(I.data)) + result = result - I.data + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +// *Multiply* // + +/obj/item/integrated_circuit/arithmetic/multiplication + name = "multiplication circuit" + desc = "This circuit can multiply numbers." + extended_desc = "The order that the calculation goes is;
    \ + result = ((((A * B) * C) * D) ... ) and so on, until all pins have been multiplied. \ + Null pins are ignored. Pin A must be a number or the circuit will not function." + icon_state = "multiplication" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + + +/obj/item/integrated_circuit/arithmetic/multiplication/do_work() + var/datum/integrated_io/A = inputs[1] + if(!isnum(A.data)) + return + var/result = A.data + for(var/k in 1 to inputs.len) + var/datum/integrated_io/I = inputs[k] + if(I == A) + continue + I.pull_data() + if(isnum(I.data)) + result = result * I.data + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +// /Division/ // + +/obj/item/integrated_circuit/arithmetic/division + name = "division circuit" + desc = "This circuit can divide numbers, just don't think about trying to divide by zero!" + extended_desc = "The order that the calculation goes is;
    \ + result = ((((A / B) / C) / D) ... ) and so on, until all pins have been divided. \ + Null pins, and pins containing 0, are ignored. Pin A must be a number or the circuit will not function." + icon_state = "division" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/arithmetic/division/do_work() + var/datum/integrated_io/A = inputs[1] + if(!isnum(A.data)) + return + var/result = A.data + + for(var/k in 1 to inputs.len) + var/datum/integrated_io/I = inputs[k] + if(I == A) + continue + I.pull_data() + if(isnum(I.data) && I.data != 0) //No runtimes here. + result = result / I.data + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +//^ Exponent ^// + +/obj/item/integrated_circuit/arithmetic/exponent + name = "exponent circuit" + desc = "Outputs A to the power of B." + icon_state = "exponent" + inputs = list("A" = IC_PINTYPE_NUMBER, "B" = IC_PINTYPE_NUMBER) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/arithmetic/exponent/do_work() + var/result = 0 + var/datum/integrated_io/A = inputs[1] + var/datum/integrated_io/B = inputs[2] + if(isnum(A.data) && isnum(B.data)) + result = A.data ** B.data + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +// +-Sign-+ // + +/obj/item/integrated_circuit/arithmetic/sign + name = "sign circuit" + desc = "This will say if a number is positive, negative, or zero." + extended_desc = "Will output 1, -1, or 0, depending on if A is a postive number, a negative number, or zero, respectively." + icon_state = "sign" + inputs = list("A" = IC_PINTYPE_NUMBER) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/arithmetic/sign/do_work() + var/result = 0 + var/datum/integrated_io/A = inputs[1] + if(isnum(A.data)) + if(A.data > 0) + result = 1 + else if (A.data < 0) + result = -1 + else + result = 0 + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +// Round // + +/obj/item/integrated_circuit/arithmetic/round + name = "round circuit" + desc = "Rounds A to the nearest B multiple of A." + extended_desc = "If B is not given a number, it will output the floor of A instead." + icon_state = "round" + inputs = list("A" = IC_PINTYPE_NUMBER, "B" = IC_PINTYPE_NUMBER) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/arithmetic/round/do_work() + var/result = 0 + var/datum/integrated_io/A = inputs[1] + var/datum/integrated_io/B = inputs[2] + if(isnum(A.data)) + if(isnum(B.data) && B.data != 0) + result = round(A.data, B.data) + else + result = round(A.data) + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +// Absolute // + +/obj/item/integrated_circuit/arithmetic/absolute + name = "absolute circuit" + desc = "This outputs a non-negative version of the number you put in. This may also be thought of as its distance from zero." + icon_state = "absolute" + inputs = list("A" = IC_PINTYPE_NUMBER) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/arithmetic/absolute/do_work() + var/result = 0 + for(var/k in 1 to inputs.len) + var/datum/integrated_io/I = inputs[k] + I.pull_data() + if(isnum(I.data)) + result = abs(I.data) + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +// Averaging // + +/obj/item/integrated_circuit/arithmetic/average + name = "average circuit" + desc = "This circuit is of average quality, however it will compute the average for numbers you give it." + extended_desc = "Note that null pins are ignored, where as a pin containing 0 is included in the averaging calculation." + icon_state = "average" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/arithmetic/average/do_work() + var/result = 0 + var/inputs_used = 0 + for(var/k in 1 to inputs.len) + var/datum/integrated_io/I = inputs[k] + I.pull_data() + if(isnum(I.data)) + inputs_used++ + result = result + I.data + + if(inputs_used) + result = result / inputs_used + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +// Pi, because why the hell not? // +/obj/item/integrated_circuit/arithmetic/pi + name = "pi constant circuit" + desc = "Not recommended for cooking. Outputs '3.14159' when it receives a pulse." + icon_state = "pi" + inputs = list() + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/arithmetic/pi/do_work() + set_pin_data(IC_OUTPUT, 1, 3.14159) + push_data() + activate_pin(2) + +// Random // +/obj/item/integrated_circuit/arithmetic/random + name = "random number generator circuit" + desc = "This gives a random (integer) number between values A and B inclusive." + extended_desc = "'Inclusive' means that the upper bound is included in the range of numbers, e.g. L = 1 and H = 3 will allow \ + for outputs of 1, 2, or 3. H being the higher number is not strictly required." + icon_state = "random" + inputs = list("L" = IC_PINTYPE_NUMBER,"H" = IC_PINTYPE_NUMBER) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/arithmetic/random/do_work() + var/result = 0 + var/L = get_pin_data(IC_INPUT, 1) + var/H = get_pin_data(IC_INPUT, 2) + + if(isnum(L) && isnum(H)) + result = rand(L, H) + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +// Square Root // + +/obj/item/integrated_circuit/arithmetic/square_root + name = "square root circuit" + desc = "This outputs the square root of a number you put in." + icon_state = "square_root" + inputs = list("A" = IC_PINTYPE_NUMBER) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/arithmetic/square_root/do_work() + var/result = 0 + for(var/k in 1 to inputs.len) + var/datum/integrated_io/I = inputs[k] + I.pull_data() + if(isnum(I.data)) + result = sqrt(I.data) + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +// % Modulo % // + +/obj/item/integrated_circuit/arithmetic/modulo + name = "modulo circuit" + desc = "Gets the remainder of A / B." + icon_state = "modulo" + inputs = list("A" = IC_PINTYPE_NUMBER, "B" = IC_PINTYPE_NUMBER) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/arithmetic/modulo/do_work() + var/result = 0 + var/A = get_pin_data(IC_INPUT, 1) + var/B = get_pin_data(IC_INPUT, 2) + if(isnum(A) && isnum(B) && B != 0) + result = A % B + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) diff --git a/code/modules/integrated_electronics/subtypes/converters.dm b/code/modules/integrated_electronics/subtypes/converters.dm new file mode 100644 index 0000000000..373a059f45 --- /dev/null +++ b/code/modules/integrated_electronics/subtypes/converters.dm @@ -0,0 +1,320 @@ +//These circuits convert one variable to another. +/obj/item/integrated_circuit/converter + complexity = 2 + inputs = list("input") + outputs = list("output") + activators = list("convert" = IC_PINTYPE_PULSE_IN, "on convert" = IC_PINTYPE_PULSE_OUT) + category_text = "Converter" + power_draw_per_use = 10 + +/obj/item/integrated_circuit/converter/num2text + name = "number to string" + desc = "This circuit can convert a number variable into a string." + extended_desc = "Because of game limitations null/false variables will output a '0' string." + icon_state = "num-string" + inputs = list("input" = IC_PINTYPE_NUMBER) + outputs = list("output" = IC_PINTYPE_STRING) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/converter/num2text/do_work() + var/result = null + pull_data() + var/incoming = get_pin_data(IC_INPUT, 1) + if(!isnull(incoming)) + result = num2text(incoming) + else if(!incoming) + result = "0" + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/converter/text2num + name = "string to number" + desc = "This circuit can convert a string variable into a number." + icon_state = "string-num" + inputs = list("input" = IC_PINTYPE_STRING) + outputs = list("output" = IC_PINTYPE_NUMBER) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/converter/text2num/do_work() + var/result = null + pull_data() + var/incoming = get_pin_data(IC_INPUT, 1) + if(!isnull(incoming)) + result = text2num(incoming) + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/converter/ref2text + name = "reference to string" + desc = "This circuit can convert a reference to something else to a string, specifically the name of that reference." + icon_state = "ref-string" + inputs = list("input" = IC_PINTYPE_REF) + outputs = list("output" = IC_PINTYPE_STRING) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/converter/ref2text/do_work() + var/result = null + pull_data() + var/atom/A = get_pin_data(IC_INPUT, 1) + if(A && istype(A)) + result = A.name + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/converter/refcode + name = "reference encoder" + desc = "This circuit can encode a reference into a string, which can then be read by an EPV2 circuit." + icon_state = "ref-string" + inputs = list("input" = IC_PINTYPE_REF) + outputs = list("output" = IC_PINTYPE_STRING) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/converter/refcode/do_work() + var/result = null + pull_data() + var/atom/A = get_pin_data(IC_INPUT, 1) + if(A && istype(A)) + result = strtohex(XorEncrypt(REF(A),SScircuit.cipherkey)) + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/converter/refdecode + name = "reference decoder" + desc = "This circuit can convert a encoded reference to actual reference." + icon_state = "ref-string" + inputs = list("input" = IC_PINTYPE_STRING) + outputs = list("output" = IC_PINTYPE_REF) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + var/dec + +/obj/item/integrated_circuit/converter/refdecode/do_work() + pull_data() + dec=XorEncrypt(hextostr(get_pin_data(IC_INPUT, 1)),SScircuit.cipherkey) + set_pin_data(IC_OUTPUT, 1, WEAKREF(locate( dec ))) + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/converter/lowercase + name = "lowercase string converter" + desc = "this will cause a string to come out in all lowercase." + icon_state = "lowercase" + inputs = list("input" = IC_PINTYPE_STRING) + outputs = list("output" = IC_PINTYPE_STRING) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/converter/lowercase/do_work() + var/result = null + pull_data() + var/incoming = get_pin_data(IC_INPUT, 1) + if(!isnull(incoming)) + result = lowertext(incoming) + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/converter/uppercase + name = "uppercase string converter" + desc = "THIS WILL CAUSE A STRING TO COME OUT IN ALL UPPERCASE." + icon_state = "uppercase" + inputs = list("input" = IC_PINTYPE_STRING) + outputs = list("output" = IC_PINTYPE_STRING) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/converter/uppercase/do_work() + var/result = null + pull_data() + var/incoming = get_pin_data(IC_INPUT, 1) + if(!isnull(incoming)) + result = uppertext(incoming) + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/converter/concatenator + name = "concatenator" + desc = "This joins many strings together to get one big string." + complexity = 4 + inputs = list( + "A" = IC_PINTYPE_STRING, + "B" = IC_PINTYPE_STRING, + "C" = IC_PINTYPE_STRING, + "D" = IC_PINTYPE_STRING, + "E" = IC_PINTYPE_STRING, + "F" = IC_PINTYPE_STRING, + "G" = IC_PINTYPE_STRING, + "H" = IC_PINTYPE_STRING + ) + outputs = list("result" = IC_PINTYPE_STRING) + activators = list("concatenate" = IC_PINTYPE_PULSE_IN, "on concatenated" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/converter/concatenator/do_work() + var/result = null + for(var/datum/integrated_io/I in inputs) + I.pull_data() + if(!isnull(I.data)) + result = result + I.data + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/converter/separator + name = "separator" + desc = "This splits as single string into two at the relative split point." + extended_desc = "This circuits splits a given string into two, based on the string, and the index value. \ + The index splits the string after the given index, including spaces. So 'a person' with an index of '3' \ + will split into 'a p' and 'erson'." + complexity = 4 + inputs = list( + "string to split" = IC_PINTYPE_STRING, + "index" = IC_PINTYPE_NUMBER, + ) + outputs = list( + "before split" = IC_PINTYPE_STRING, + "after split" = IC_PINTYPE_STRING + ) + activators = list("separate" = IC_PINTYPE_PULSE_IN, "on separated" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/converter/separator/do_work() + var/text = get_pin_data(IC_INPUT, 1) + var/index = get_pin_data(IC_INPUT, 2) + + var/split = min(index+1, length(text)) + + var/before_text = copytext(text, 1, split) + var/after_text = copytext(text, split, 0) + + set_pin_data(IC_OUTPUT, 1, before_text) + set_pin_data(IC_OUTPUT, 2, after_text) + push_data() + + activate_pin(2) + +/obj/item/integrated_circuit/converter/findstring + name = "find text" + desc = "This gives position of sample in the string. Or returns 0." + extended_desc = "The first pin is the string to be examined. The second pin is the sample to be found. \ + For example, 'eat this burger',' ' will give you position 4. This circuit isn't case sensitive." + complexity = 4 + inputs = list( + "string" = IC_PINTYPE_STRING, + "sample" = IC_PINTYPE_STRING, + ) + outputs = list( + "position" = IC_PINTYPE_NUMBER + ) + activators = list("search" = IC_PINTYPE_PULSE_IN, "after search" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + + + +/obj/item/integrated_circuit/converter/findstring/do_work() + + set_pin_data(IC_OUTPUT, 1, findtext(get_pin_data(IC_INPUT, 1),get_pin_data(IC_INPUT, 2)) ) + push_data() + + activate_pin(2) + +/obj/item/integrated_circuit/converter/exploders + name = "string exploder" + desc = "This splits a single string into a list of strings." + extended_desc = "This circuit splits a given string into a list of strings based on the string and given delimiter. \ + For example, 'eat this burger',' ' will be converted to list('eat','this','burger')." + complexity = 4 + inputs = list( + "string to split" = IC_PINTYPE_STRING, + "delimiter" = IC_PINTYPE_STRING, + ) + outputs = list( + "list" = IC_PINTYPE_LIST + ) + activators = list("separate" = IC_PINTYPE_PULSE_IN, "on separated" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/converter/exploders/do_work() + var/strin = get_pin_data(IC_INPUT, 1) + var/sample = get_pin_data(IC_INPUT, 2) + set_pin_data(IC_OUTPUT, 1, splittext( strin ,sample )) + push_data() + + activate_pin(2) + +/obj/item/integrated_circuit/converter/radians2degrees + name = "radians to degrees converter" + desc = "Converts radians to degrees." + inputs = list("radian" = IC_PINTYPE_NUMBER) + outputs = list("degrees" = IC_PINTYPE_NUMBER) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/converter/radians2degrees/do_work() + var/result = null + pull_data() + var/incoming = get_pin_data(IC_INPUT, 1) + if(!isnull(incoming)) + result = ToDegrees(incoming) + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/converter/degrees2radians + name = "degrees to radians converter" + desc = "Converts degrees to radians." + inputs = list("degrees" = IC_PINTYPE_NUMBER) + outputs = list("radians" = IC_PINTYPE_NUMBER) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/converter/degrees2radians/do_work() + var/result = null + pull_data() + var/incoming = get_pin_data(IC_INPUT, 1) + if(!isnull(incoming)) + result = ToRadians(incoming) + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + + +/obj/item/integrated_circuit/converter/abs_to_rel_coords + name = "abs to rel coordinate converter" + desc = "Easily convert absolute coordinates to relative coordinates with this." + complexity = 4 + inputs = list( + "X1" = IC_PINTYPE_NUMBER, + "Y1" = IC_PINTYPE_NUMBER, + "X2" = IC_PINTYPE_NUMBER, + "Y2" = IC_PINTYPE_NUMBER + ) + outputs = list( + "X" = IC_PINTYPE_NUMBER, + "Y" = IC_PINTYPE_NUMBER + ) + activators = list("compute rel coordinates" = IC_PINTYPE_PULSE_IN, "on convert" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/converter/abs_to_rel_coords/do_work() + var/x1 = get_pin_data(IC_INPUT, 1) + var/y1 = get_pin_data(IC_INPUT, 2) + + var/x2 = get_pin_data(IC_INPUT, 3) + var/y2 = get_pin_data(IC_INPUT, 4) + + if(!isnull(x1) && !isnull(y1) && !isnull(x2) && !isnull(y2)) + set_pin_data(IC_OUTPUT, 1, x1 - x2) + set_pin_data(IC_OUTPUT, 2, y1 - y2) + + push_data() + activate_pin(2) diff --git a/code/modules/integrated_electronics/subtypes/data_transfer.dm b/code/modules/integrated_electronics/subtypes/data_transfer.dm new file mode 100644 index 0000000000..d28bb72e33 --- /dev/null +++ b/code/modules/integrated_electronics/subtypes/data_transfer.dm @@ -0,0 +1,146 @@ +/obj/item/integrated_circuit/transfer + category_text = "Data Transfer" + power_draw_per_use = 2 + +/obj/item/integrated_circuit/transfer/multiplexer + name = "two multiplexer" + desc = "This is what those in the business tend to refer to as a 'mux' or data selector. It moves data from one of the selected inputs to the output." + extended_desc = "The first input pin is used to select which of the other input pins which has its data moved to the output. \ + If the input selection is outside the valid range then no output is given." + complexity = 2 + icon_state = "mux2" + inputs = list("input selection" = IC_PINTYPE_NUMBER) + outputs = list("output" = IC_PINTYPE_ANY) + activators = list("select" = IC_PINTYPE_PULSE_IN, "on select" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 4 + var/number_of_inputs = 2 + +/obj/item/integrated_circuit/transfer/multiplexer/New() + for(var/i = 1 to number_of_inputs) + inputs["input [i]"] = IC_PINTYPE_ANY // This is just a string since pins don't get built until ..() is called. + + complexity = number_of_inputs + ..() + desc += " It has [number_of_inputs] input pins." + extended_desc += " This multiplexer has a range from 1 to [inputs.len - 1]." + +/obj/item/integrated_circuit/transfer/multiplexer/do_work() + var/input_index = get_pin_data(IC_INPUT, 1) + + if(!isnull(input_index) && (input_index >= 1 && input_index < inputs.len)) + set_pin_data(IC_OUTPUT, 1,get_pin_data(IC_INPUT, input_index + 1)) + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/transfer/multiplexer/medium + name = "four multiplexer" + number_of_inputs = 4 + icon_state = "mux4" + +/obj/item/integrated_circuit/transfer/multiplexer/large + name = "eight multiplexer" + number_of_inputs = 8 + w_class = WEIGHT_CLASS_SMALL + icon_state = "mux8" + +/obj/item/integrated_circuit/transfer/multiplexer/huge + name = "sixteen multiplexer" + icon_state = "mux16" + w_class = WEIGHT_CLASS_SMALL + number_of_inputs = 16 + +/obj/item/integrated_circuit/transfer/demultiplexer + name = "two demultiplexer" + desc = "This is what those in the business tend to refer to as a 'demux'. It moves data from the input to one of the selected outputs." + extended_desc = "The first input pin is used to select which of the output pins is given the data from the second input pin. \ + If the output selection is outside the valid range then no output is given." + complexity = 2 + icon_state = "dmux2" + inputs = list("output selection" = IC_PINTYPE_NUMBER, "input" = IC_PINTYPE_ANY) + outputs = list() + activators = list("select" = IC_PINTYPE_PULSE_IN, "on select" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 4 + var/number_of_outputs = 2 + +/obj/item/integrated_circuit/transfer/demultiplexer/New() + for(var/i = 1 to number_of_outputs) + // outputs += "output [i]" + outputs["output [i]"] = IC_PINTYPE_ANY + complexity = number_of_outputs + + ..() + desc += " It has [number_of_outputs] output pins." + extended_desc += " This demultiplexer has a range from 1 to [outputs.len]." + +/obj/item/integrated_circuit/transfer/demultiplexer/do_work() + var/output_index = get_pin_data(IC_INPUT, 1) + for(var/i = 1 to outputs.len) + set_pin_data(IC_OUTPUT, i, i == output_index ? get_pin_data(IC_INPUT, 2) : null) + + activate_pin(2) + +/obj/item/integrated_circuit/transfer/demultiplexer/medium + name = "four demultiplexer" + icon_state = "dmux4" + number_of_outputs = 4 + +/obj/item/integrated_circuit/transfer/demultiplexer/large + name = "eight demultiplexer" + icon_state = "dmux8" + w_class = WEIGHT_CLASS_SMALL + number_of_outputs = 8 + +/obj/item/integrated_circuit/transfer/demultiplexer/huge + name = "sixteen demultiplexer" + icon_state = "dmux16" + w_class = WEIGHT_CLASS_SMALL + number_of_outputs = 16 + +/obj/item/integrated_circuit/transfer/pulsedemultiplexer + name = "two pulse demultiplexer" + desc = "Selector switch to choose the pin to be activated by number." + extended_desc = "The first input pin is used to select which of the pulse out pins will be activated after activation of the circuit. \ + If the output selection is outside the valid range then no output is given." + complexity = 2 + icon_state = "dmux2" + inputs = list("output selection" = IC_PINTYPE_NUMBER) + outputs = list() + activators = list("select" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 4 + var/number_of_outputs = 2 + +/obj/item/integrated_circuit/transfer/pulsedemultiplexer/New() + for(var/i = 1 to number_of_outputs) + // outputs += "output [i]" + activators["output [i]"] = IC_PINTYPE_PULSE_OUT + complexity = number_of_outputs + + ..() + desc += " It has [number_of_outputs] output pins." + extended_desc += " This pulse demultiplexer has a range from 1 to [activators.len - 1]." + +/obj/item/integrated_circuit/transfer/pulsedemultiplexer/do_work() + var/output_index = get_pin_data(IC_INPUT, 1) + + if(output_index == Clamp(output_index, 1, number_of_outputs)) + activate_pin(round(output_index + 1 ,1)) + +/obj/item/integrated_circuit/transfer/pulsedemultiplexer/medium + name = "four pulse demultiplexer" + icon_state = "dmux4" + number_of_outputs = 4 + +/obj/item/integrated_circuit/transfer/pulsedemultiplexer/large + name = "eight pulse demultiplexer" + icon_state = "dmux8" + w_class = WEIGHT_CLASS_SMALL + number_of_outputs = 8 + +/obj/item/integrated_circuit/transfer/pulsedemultiplexer/huge + name = "sixteen pulse demultiplexer" + icon_state = "dmux16" + w_class = WEIGHT_CLASS_SMALL + number_of_outputs = 16 \ No newline at end of file diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm new file mode 100644 index 0000000000..9c6f613664 --- /dev/null +++ b/code/modules/integrated_electronics/subtypes/input.dm @@ -0,0 +1,762 @@ +/obj/item/integrated_circuit/input + var/can_be_asked_input = 0 + category_text = "Input" + power_draw_per_use = 5 + +/obj/item/integrated_circuit/input/proc/ask_for_input(mob/user) + return + +/obj/item/integrated_circuit/input/button + name = "button" + desc = "This tiny button must do something, right?" + icon_state = "button" + complexity = 1 + can_be_asked_input = 1 + inputs = list() + outputs = list() + activators = list("on pressed" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/input/button/ask_for_input(mob/user) //Bit misleading name for this specific use. + to_chat(user, "You press the button labeled '[src]'.") + activate_pin(1) + +/obj/item/integrated_circuit/input/toggle_button + name = "toggle button" + desc = "It toggles on, off, on, off..." + icon_state = "toggle_button" + complexity = 1 + can_be_asked_input = 1 + inputs = list() + outputs = list("on" = IC_PINTYPE_BOOLEAN) + activators = list("on toggle" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/input/toggle_button/ask_for_input(mob/user) // Ditto. + set_pin_data(IC_OUTPUT, 1, !get_pin_data(IC_OUTPUT, 1)) + push_data() + activate_pin(1) + to_chat(user, "You toggle the button labeled '[src]' [get_pin_data(IC_OUTPUT, 1) ? "on" : "off"].") + +/obj/item/integrated_circuit/input/numberpad + name = "number pad" + desc = "This small number pad allows someone to input a number into the system." + icon_state = "numberpad" + complexity = 2 + can_be_asked_input = 1 + inputs = list() + outputs = list("number entered" = IC_PINTYPE_NUMBER) + activators = list("on entered" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 4 + +/obj/item/integrated_circuit/input/numberpad/ask_for_input(mob/user) + var/new_input = input(user, "Enter a number, please.","Number pad") as null|num + if(isnum(new_input) && user.IsAdvancedToolUser()) + set_pin_data(IC_OUTPUT, 1, new_input) + push_data() + activate_pin(1) + +/obj/item/integrated_circuit/input/textpad + name = "text pad" + desc = "This small text pad allows someone to input a string into the system." + icon_state = "textpad" + complexity = 2 + can_be_asked_input = 1 + inputs = list() + outputs = list("string entered" = IC_PINTYPE_STRING) + activators = list("on entered" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 4 + +/obj/item/integrated_circuit/input/textpad/ask_for_input(mob/user) + var/new_input = stripped_input(user, "Enter some words, please.","Number pad") + if(istext(new_input) && user.IsAdvancedToolUser()) + set_pin_data(IC_OUTPUT, 1, new_input) + push_data() + activate_pin(1) + +/obj/item/integrated_circuit/input/med_scanner + name = "integrated medical analyser" + desc = "A very small version of the common medical analyser. This allows the machine to know how healthy someone is." + icon_state = "medscan" + complexity = 4 + inputs = list("\ target") + outputs = list( + "total health %" = IC_PINTYPE_NUMBER, + "total missing health" = IC_PINTYPE_NUMBER + ) + activators = list("scan" = IC_PINTYPE_PULSE_IN, "on scanned" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 2) + power_draw_per_use = 40 + +/obj/item/integrated_circuit/input/med_scanner/do_work() + var/mob/living/carbon/human/H = get_pin_data_as_type(IC_INPUT, 1, /mob/living/carbon/human) + if(!istype(H)) //Invalid input + return + if(H.Adjacent(get_turf(src))) // Like normal analysers, it can't be used at range. + var/total_health = round(H.health/H.getMaxHealth(), 0.01)*100 + var/missing_health = H.getMaxHealth() - H.health + + set_pin_data(IC_OUTPUT, 1, total_health) + set_pin_data(IC_OUTPUT, 2, missing_health) + + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/input/adv_med_scanner + name = "integrated advanced medical analyser" + desc = "A very small version of the medbot's medical analyser. This allows the machine to know how healthy someone is. \ + This type is much more precise, allowing the machine to know much more about the target than a normal analyzer." + icon_state = "medscan_adv" + complexity = 12 + inputs = list("\ target") + outputs = list( + "total health %" = IC_PINTYPE_NUMBER, + "total missing health" = IC_PINTYPE_NUMBER, + "brute damage" = IC_PINTYPE_NUMBER, + "burn damage" = IC_PINTYPE_NUMBER, + "tox damage" = IC_PINTYPE_NUMBER, + "oxy damage" = IC_PINTYPE_NUMBER, + "clone damage" = IC_PINTYPE_NUMBER + ) + activators = list("scan" = IC_PINTYPE_PULSE_IN, "on scanned" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 3, TECH_BIO = 4) + power_draw_per_use = 80 + +/obj/item/integrated_circuit/input/adv_med_scanner/do_work() + var/mob/living/carbon/human/H = get_pin_data_as_type(IC_INPUT, 1, /mob/living/carbon/human) + if(!istype(H)) //Invalid input + return + if(H in view(get_turf(H))) // Like medbot's analyzer it can be used in range.. + var/total_health = round(H.health/H.getMaxHealth(), 0.01)*100 + var/missing_health = H.getMaxHealth() - H.health + + set_pin_data(IC_OUTPUT, 1, total_health) + set_pin_data(IC_OUTPUT, 2, missing_health) + set_pin_data(IC_OUTPUT, 3, H.getBruteLoss()) + set_pin_data(IC_OUTPUT, 4, H.getFireLoss()) + set_pin_data(IC_OUTPUT, 5, H.getToxLoss()) + set_pin_data(IC_OUTPUT, 6, H.getOxyLoss()) + set_pin_data(IC_OUTPUT, 7, H.getCloneLoss()) + + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/input/plant_scanner + name = "integrated plant analyzer" + desc = "A very small version of the plant analyser. This allows the machine to know all valuable params of plants in trays. \ + it can't scan seeds and fruits.only plants." + icon_state = "medscan_adv" + complexity = 12 + inputs = list("\ target") + outputs = list( + "plant type" = IC_PINTYPE_STRING, + "age" = IC_PINTYPE_NUMBER, + "potency" = IC_PINTYPE_NUMBER, + "yield" = IC_PINTYPE_NUMBER, + "Maturation speed" = IC_PINTYPE_NUMBER, + "Production speed" = IC_PINTYPE_NUMBER, + "Endurance" = IC_PINTYPE_NUMBER, + "Lifespan" = IC_PINTYPE_NUMBER, + "Weed Growth Rate" = IC_PINTYPE_NUMBER, + "Weed Vulnerability" = IC_PINTYPE_NUMBER, + "Weed level" = IC_PINTYPE_NUMBER, + "Pest level" = IC_PINTYPE_NUMBER, + "Toxicity level" = IC_PINTYPE_NUMBER, + "Water level" = IC_PINTYPE_NUMBER, + "Nutrition level" = IC_PINTYPE_NUMBER, + "harvest" = IC_PINTYPE_NUMBER, + "dead" = IC_PINTYPE_NUMBER , + "plant health" = IC_PINTYPE_NUMBER + ) + activators = list("scan" = IC_PINTYPE_PULSE_IN, "on scanned" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 3, TECH_BIO = 4) + power_draw_per_use = 10 + +/obj/item/integrated_circuit/input/plant_scanner/do_work() + var/obj/machinery/hydroponics/H = get_pin_data_as_type(IC_INPUT, 1, /obj/machinery/hydroponics) + if(!istype(H)) //Invalid input + return + for(var/i=1, i<=outputs.len, i++) + set_pin_data(IC_OUTPUT, i, null) + if(H in view(get_turf(H))) // Like medbot's analyzer it can be used in range.. + if(H.myseed) + set_pin_data(IC_OUTPUT, 1, H.myseed.plantname) + set_pin_data(IC_OUTPUT, 2, H.age) + set_pin_data(IC_OUTPUT, 3, H.myseed.potency) + set_pin_data(IC_OUTPUT, 4, H.myseed.yield) + set_pin_data(IC_OUTPUT, 5, H.myseed.maturation) + set_pin_data(IC_OUTPUT, 6, H.myseed.production) + set_pin_data(IC_OUTPUT, 7, H.myseed.endurance) + set_pin_data(IC_OUTPUT, 8, H.myseed.lifespan) + set_pin_data(IC_OUTPUT, 9, H.myseed.weed_rate) + set_pin_data(IC_OUTPUT, 10, H.myseed.weed_chance) + set_pin_data(IC_OUTPUT, 11, H.weedlevel) + set_pin_data(IC_OUTPUT, 12, H.pestlevel) + set_pin_data(IC_OUTPUT, 13, H.toxic) + set_pin_data(IC_OUTPUT, 14, H.waterlevel) + set_pin_data(IC_OUTPUT, 15, H.nutrilevel) + set_pin_data(IC_OUTPUT, 16, H.harvest) + set_pin_data(IC_OUTPUT, 17, H.dead) + set_pin_data(IC_OUTPUT, 18, H.plant_health) + + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/input/gene_scanner + name = "gene scanner" + desc = "This circuit will scan plant for traits and reagent genes." + extended_desc = "This allows the machine to scan plants in trays for reagent and trait genes. \ + it can't scan seeds and fruits.only plants." + inputs = list( + "\ target" = IC_PINTYPE_REF + ) + outputs = list( + "traits" = IC_PINTYPE_LIST, + "reagents" = IC_PINTYPE_LIST + ) + activators = list("scan" = IC_PINTYPE_PULSE_IN, "on scanned" = IC_PINTYPE_PULSE_OUT) + icon_state = "medscan_adv" + spawn_flags = IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/input/gene_scanner/do_work() + var/list/gtraits = list() + var/list/greagents = list() + var/obj/machinery/hydroponics/H = get_pin_data_as_type(IC_INPUT, 1, /obj/machinery/hydroponics) + if(!istype(H)) //Invalid input + return + for(var/i=1, i<=outputs.len, i++) + set_pin_data(IC_OUTPUT, i, null) + if(H in view(get_turf(H))) // Like medbot's analyzer it can be used in range.. + if(H.myseed) + for(var/datum/plant_gene/reagent/G in H.myseed.genes) + greagents.Add(G.get_name()) + + for(var/datum/plant_gene/trait/G in H.myseed.genes) + gtraits.Add(G.get_name()) + + set_pin_data(IC_OUTPUT, 1, gtraits) + set_pin_data(IC_OUTPUT, 2, greagents) + push_data() + activate_pin(2) + + +/obj/item/integrated_circuit/input/examiner + name = "examiner" + desc = "It' s a little machine vision system. It can return the name, description, distance, \ + relative coordinates, total amount of reagents, and maximum amount of reagents of the referenced object." + icon_state = "video_camera" + complexity = 6 + inputs = list("\ target" = IC_PINTYPE_REF) + outputs = list( + "name" = IC_PINTYPE_STRING, + "description" = IC_PINTYPE_STRING, + "X" = IC_PINTYPE_NUMBER, + "Y" = IC_PINTYPE_NUMBER, + "distance" = IC_PINTYPE_NUMBER, + "max reagents" = IC_PINTYPE_NUMBER, + "amount of reagents" = IC_PINTYPE_NUMBER, + ) + activators = list("scan" = IC_PINTYPE_PULSE_IN, "on scanned" = IC_PINTYPE_PULSE_OUT, "not scanned" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 3, TECH_BIO = 4) + power_draw_per_use = 80 + +/obj/item/integrated_circuit/input/examiner/do_work() + var/atom/movable/H = get_pin_data_as_type(IC_INPUT, 1, /atom/movable) + var/turf/T = get_turf(src) + if(!istype(H)) //Invalid input + return + + if(H in view(T)) // This is a camera. It can't examine thngs,that it can't see. + + + set_pin_data(IC_OUTPUT, 1, H.name) + set_pin_data(IC_OUTPUT, 2, H.desc) + set_pin_data(IC_OUTPUT, 3, H.x-T.x) + set_pin_data(IC_OUTPUT, 4, H.y-T.y) + set_pin_data(IC_OUTPUT, 5, sqrt((H.x-T.x)*(H.x-T.x)+ (H.y-T.y)*(H.y-T.y))) + var/mr = 0 + var/tr = 0 + if(H.reagents) + mr = H.reagents.maximum_volume + tr = H.reagents.total_volume + set_pin_data(IC_OUTPUT, 6, mr) + set_pin_data(IC_OUTPUT, 7, tr) + push_data() + activate_pin(2) + else + activate_pin(3) + +/obj/item/integrated_circuit/input/local_locator + name = "local locator" + desc = "This is needed for certain devices that demand a reference for a target to act upon. This type only locates something \ + that is holding the machine containing it." + inputs = list() + outputs = list("located ref") + activators = list("locate" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 20 + +/obj/item/integrated_circuit/input/local_locator/do_work() + var/datum/integrated_io/O = outputs[1] + O.data = null + if(assembly) + if(istype(assembly.loc, /mob/living)) // Now check if someone's holding us. + O.data = WEAKREF(assembly.loc) + + O.push_data() + +/obj/item/integrated_circuit/input/adjacent_locator + name = "adjacent locator" + desc = "This is needed for certain devices that demand a reference for a target to act upon. This type only locates something \ + that is standing a meter away from the machine." + extended_desc = "The first pin requires a ref to a kind of object that you want the locator to acquire. This means that it will \ + give refs to nearby objects that are similar. If more than one valid object is found nearby, it will choose one of them at \ + random." + inputs = list("desired type ref") + outputs = list("located ref") + activators = list("locate" = IC_PINTYPE_PULSE_IN,"found" = IC_PINTYPE_PULSE_OUT, + "not found" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 30 + +/obj/item/integrated_circuit/input/adjacent_locator/do_work() + var/datum/integrated_io/I = inputs[1] + var/datum/integrated_io/O = outputs[1] + O.data = null + + if(!isweakref(I.data)) + return + var/atom/A = I.data.resolve() + if(!A) + return + var/desired_type = A.type + + var/list/nearby_things = range(1, get_turf(src)) + var/list/valid_things = list() + for(var/atom/thing in nearby_things) + if(thing.type != desired_type) + continue + valid_things.Add(thing) + if(valid_things.len) + O.data = WEAKREF(pick(valid_things)) + activate_pin(2) + else + activate_pin(3) + O.push_data() + +/obj/item/integrated_circuit/input/advanced_locator_list + complexity = 6 + name = "list advanced locator" + desc = "This is needed for certain devices that demand list of names for a targets to act upon. This type locates something \ + that is standing in given radius up to 8 meters" + extended_desc = "The first pin requires list a kinds of object that you want the locator to acquire. If This means that it will \ + give refs to nearby objects that are similar. It will locate objects by given names and description,given in list. It will give list of all found objects.\ + .The second pin is a radius" + inputs = list("desired type ref" = IC_PINTYPE_LIST, "radius" = IC_PINTYPE_NUMBER) + outputs = list("located ref" = IC_PINTYPE_LIST) + activators = list("locate" = IC_PINTYPE_PULSE_IN,"found" = IC_PINTYPE_PULSE_OUT,"not found" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 30 + var/radius = 1 + +/obj/item/integrated_circuit/input/advanced_locator_list/on_data_written() + var/rad = get_pin_data(IC_INPUT, 2) + + if(isnum(rad)) + rad = Clamp(rad, 0, 8) + radius = rad + +/obj/item/integrated_circuit/input/advanced_locator_list/do_work() + var/datum/integrated_io/I = inputs[1] + var/datum/integrated_io/O = outputs[1] + O.data = null + var/turf/T = get_turf(src) + var/list/nearby_things = view(radius,T) + var/list/valid_things = list() + var/list/GI = list() + GI = I.data + for(var/G in GI) + if(isweakref(G)) //It should search by refs. But don't want.will fix it later. + var/datum/integrated_io/G1 + G1.data = G + var/atom/A = G1.data.resolve() + var/desired_type = A.type + for(var/atom/thing in nearby_things) + if(thing.type != desired_type) + continue + valid_things.Add(WEAKREF(thing)) + else if(istext(G)) + for(var/atom/thing in nearby_things) + if(findtext(addtext(thing.name," ",thing.desc), G, 1, 0) ) + valid_things.Add(WEAKREF(thing)) + if(valid_things.len) + O.data = valid_things + O.push_data() + activate_pin(2) + else + O.push_data() + activate_pin(3) + +/obj/item/integrated_circuit/input/advanced_locator + complexity = 6 + name = "advanced locator" + desc = "This is needed for certain devices that demand a reference for a target to act upon. This type locates something \ + that is standing in given radius up to 8 meters" + extended_desc = "The first pin requires a ref to a kind of object that you want the locator to acquire. If This means that it will \ + give refs to nearby objects that are similar. If this pin is string, locator will search\ + item by matching desired text in name + description. If more than one valid object is found nearby, it will choose one of them at \ + random. The second pin is a radius." + inputs = list("desired type" = IC_PINTYPE_ANY, "radius" = IC_PINTYPE_NUMBER) + outputs = list("located ref") + activators = list("locate" = IC_PINTYPE_PULSE_IN,"found" = IC_PINTYPE_PULSE_OUT,"not found" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 30 + var/radius = 1 + +/obj/item/integrated_circuit/input/advanced_locator/on_data_written() + var/rad = get_pin_data(IC_INPUT, 2) + if(isnum(rad)) + rad = Clamp(rad, 0, 8) + radius = rad + +/obj/item/integrated_circuit/input/advanced_locator/do_work() + var/datum/integrated_io/I = inputs[1] + var/datum/integrated_io/O = outputs[1] + O.data = null + var/turf/T = get_turf(src) + var/list/nearby_things = view(radius,T) + var/list/valid_things = list() + if(isweakref(I.data)) + var/atom/A = I.data.resolve() + var/desired_type = A.type + if(desired_type) + for(var/atom/thing in nearby_things) + if(thing.type == desired_type) + valid_things.Add(thing) + else if(istext(I.data)) + var/DT = I.data + for(var/atom/thing in nearby_things) + if(findtext(addtext(thing.name," ",thing.desc), DT, 1, 0) ) + valid_things.Add(thing) + if(valid_things.len) + O.data = WEAKREF(pick(valid_things)) + O.push_data() + activate_pin(2) + else + O.push_data() + activate_pin(3) + + + + + +/obj/item/integrated_circuit/input/signaler + name = "integrated signaler" + desc = "Signals from a signaler can be received with this, allowing for remote control. Additionally, it can send signals as well." + extended_desc = "When a signal is received from another signaler, the 'on signal received' activator pin will be pulsed. \ + The two input pins are to configure the integrated signaler's settings. Note that the frequency should not have a decimal in it. \ + Meaning the default frequency is expressed as 1457, not 145.7. To send a signal, pulse the 'send signal' activator pin." + icon_state = "signal" + complexity = 4 + inputs = list("frequency" = IC_PINTYPE_NUMBER,"code" = IC_PINTYPE_NUMBER) + outputs = list() + activators = list( + "send signal" = IC_PINTYPE_PULSE_IN, + "on signal sent" = IC_PINTYPE_PULSE_OUT, + "on signal received" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_MAGNET = 2) + power_draw_idle = 5 + power_draw_per_use = 40 + + var/frequency = 1457 + var/code = 30 + var/datum/radio_frequency/radio_connection + +/obj/item/integrated_circuit/input/signaler/Initialize() + ..() + spawn(40) + set_frequency(frequency) + // Set the pins so when someone sees them, they won't show as null + set_pin_data(IC_INPUT, 1, frequency) + set_pin_data(IC_INPUT, 2, code) + +/obj/item/integrated_circuit/input/signaler/Destroy() + SSradio.remove_object(src,frequency) + + frequency = 0 + return ..() + +/obj/item/integrated_circuit/input/signaler/on_data_written() + var/new_freq = get_pin_data(IC_INPUT, 1) + var/new_code = get_pin_data(IC_INPUT, 2) + if(isnum(new_freq) && new_freq > 0) + set_frequency(new_freq) + if(isnum(new_code)) + code = new_code + + +/obj/item/integrated_circuit/input/signaler/do_work() // Sends a signal. + if(!radio_connection) + return + + var/datum/signal/signal = new + signal.source = src + signal.encryption = code + signal.data["message"] = "ACTIVATE" + radio_connection.post_signal(src, signal) + + activate_pin(2) + +/obj/item/integrated_circuit/input/signaler/proc/set_frequency(new_frequency) + if(!frequency) + return + if(!SSradio) + sleep(20) + if(!SSradio) + return + SSradio.remove_object(src, frequency) + frequency = new_frequency + radio_connection = SSradio.add_object(src, frequency, GLOB.RADIO_CHAT) + +/obj/item/integrated_circuit/input/signaler/receive_signal(datum/signal/signal) + var/new_code = get_pin_data(IC_INPUT, 2) + var/code = 0 + + if(isnum(new_code)) + code = new_code + if(!signal) + return 0 + if(signal.encryption != code) + return 0 + if(signal.source == src) // Don't trigger ourselves. + return 0 + + activate_pin(3) + + for(var/mob/O in hearers(1, get_turf(src))) + audible_message("[icon2html(src, hearers(src))] *beep* *beep*", null, 1) + +/obj/item/integrated_circuit/input/EPv2 + name = "EPv2 circuit" + desc = "Enables the sending and receiving of messages on the Exonet with the EPv2 protocol." + extended_desc = "An EPv2 address is a string with the format of XXXX:XXXX:XXXX:XXXX. Data can be send or received using the \ + second pin on each side, with additonal data reserved for the third pin. When a message is received, the second activation pin \ + will pulse whatever's connected to it. Pulsing the first activation pin will send a message." + icon_state = "signal" + complexity = 4 + inputs = list( + "target EPv2 address" = IC_PINTYPE_STRING, + "data to send" = IC_PINTYPE_STRING, + "secondary text" = IC_PINTYPE_STRING + ) + outputs = list( + "address received" = IC_PINTYPE_STRING, + "data received" = IC_PINTYPE_STRING, + "secondary text received" = IC_PINTYPE_STRING + ) + activators = list("send data" = IC_PINTYPE_PULSE_IN, "on data received" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_MAGNET = 2, TECH_BLUESPACE = 2) + power_draw_per_use = 50 + var/datum/exonet_protocol/exonet = null + +/obj/item/integrated_circuit/input/EPv2/New() + ..() + exonet = new(src) + exonet.make_address("EPv2_circuit-[REF(src)]") + desc += "
    This circuit's EPv2 address is: [exonet.address]" + +/obj/item/integrated_circuit/input/EPv2/Destroy() + if(exonet) + exonet.remove_address() + qdel(exonet) + exonet = null + return ..() + +/obj/item/integrated_circuit/input/EPv2/do_work() + var/target_address = get_pin_data(IC_INPUT, 1) + var/message = get_pin_data(IC_INPUT, 2) + var/text = get_pin_data(IC_INPUT, 3) + + if(target_address && istext(target_address)) + exonet.send_message(target_address, message, text) + +/obj/item/integrated_circuit/input/receive_exonet_message(var/atom/origin_atom, var/origin_address, var/message, var/text) + set_pin_data(IC_OUTPUT, 1, origin_address) + set_pin_data(IC_OUTPUT, 2, message) + set_pin_data(IC_OUTPUT, 3, text) + + push_data() + activate_pin(2) + +//This circuit gives information on where the machine is. +/obj/item/integrated_circuit/input/gps + name = "global positioning system" + desc = "This allows you to easily know the position of a machine containing this device." + extended_desc = "The GPS's coordinates it gives is absolute, not relative." + icon_state = "gps" + complexity = 4 + inputs = list() + outputs = list("X"= IC_PINTYPE_NUMBER, "Y" = IC_PINTYPE_NUMBER, "Z" = IC_PINTYPE_NUMBER) + activators = list("get coordinates" = IC_PINTYPE_PULSE_IN, "on get coordinates" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 30 + +/obj/item/integrated_circuit/input/gps/do_work() + var/turf/T = get_turf(src) + + set_pin_data(IC_OUTPUT, 1, null) + set_pin_data(IC_OUTPUT, 2, null) + set_pin_data(IC_OUTPUT, 3, null) + if(!T) + return + + set_pin_data(IC_OUTPUT, 1, T.x) + set_pin_data(IC_OUTPUT, 2, T.y) + set_pin_data(IC_OUTPUT, 3, T.z) + + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/input/microphone + name = "microphone" + desc = "Useful for spying on people or for voice activated machines." + extended_desc = "This will automatically translate most languages it hears to Galactic Common. \ + The first activation pin is always pulsed when the circuit hears someone talk, while the second one \ + is only triggered if it hears someone speaking a language other than Galactic Common." + icon_state = "recorder" + complexity = 8 + inputs = list() + flags_1 = CONDUCT_1 | HEAR_1 + outputs = list( + "speaker" = IC_PINTYPE_STRING, + "message" = IC_PINTYPE_STRING + ) + activators = list("on message received" = IC_PINTYPE_PULSE_OUT, "on translation" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 5 + +/obj/item/integrated_circuit/input/microphone/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, spans, message_mode) + var/translated = FALSE + if(speaker && message) + if(raw_message) + if(message_langs != get_default_language()) + translated = TRUE + set_pin_data(IC_OUTPUT, 1, speaker.GetVoice()) + set_pin_data(IC_OUTPUT, 2, raw_message) + + push_data() + activate_pin(1) + if(translated) + activate_pin(2) + +/obj/item/integrated_circuit/input/sensor + name = "sensor" + desc = "Scans and obtains a reference for any objects or persons near you. All you need to do is shove the machine in their face." + extended_desc = "If 'ignore storage' pin is set to true, the sensor will disregard scanning various storage containers such as backpacks." + icon_state = "recorder" + complexity = 12 + inputs = list("ignore storage" = IC_PINTYPE_BOOLEAN) + outputs = list("scanned" = IC_PINTYPE_REF) + activators = list("on scanned" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 120 + +/obj/item/integrated_circuit/input/sensor/proc/scan(var/atom/A) + var/ignore_bags = get_pin_data(IC_INPUT, 1) + if(ignore_bags) + if(istype(A, /obj/item/storage)) + return FALSE + + set_pin_data(IC_OUTPUT, 1, WEAKREF(A)) + push_data() + activate_pin(1) + return TRUE + +/obj/item/integrated_circuit/input/sensor/ranged + name = "Ranged sensor" + desc = "Scans and obtains a reference for any objects or persons in range. All you need to do is point the machine towards target." + extended_desc = "If 'ignore storage' pin is set to true, the sensor will disregard scanning various storage containers such as backpacks." + icon_state = "recorder" + complexity = 36 + inputs = list("ignore storage" = IC_PINTYPE_BOOLEAN) + outputs = list("scanned" = IC_PINTYPE_REF) + activators = list("on scanned" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 120 + +/obj/item/integrated_circuit/input/internalbm + name = "internal battery monitor" + desc = "This monitors the charge level of an internal battery." + icon_state = "internalbm" + extended_desc = "This circuit will give you values of charge, max charge and percentage of the internal battery on demand." + w_class = WEIGHT_CLASS_TINY + complexity = 1 + inputs = list() + outputs = list( + "cell charge" = IC_PINTYPE_NUMBER, + "max charge" = IC_PINTYPE_NUMBER, + "percentage" = IC_PINTYPE_NUMBER, + "refference to assembly" = IC_PINTYPE_REF + ) + activators = list("read" = IC_PINTYPE_PULSE_IN, "on read" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 4, TECH_DATA = 4, TECH_POWER = 4, TECH_MAGNET = 3) + power_draw_per_use = 1 + +/obj/item/integrated_circuit/input/internalbm/do_work() + set_pin_data(IC_OUTPUT, 1, null) + set_pin_data(IC_OUTPUT, 2, null) + set_pin_data(IC_OUTPUT, 3, null) + set_pin_data(IC_OUTPUT, 4, WEAKREF(assembly)) + if(assembly) + if(assembly.battery) + + set_pin_data(IC_OUTPUT, 1, assembly.battery.charge) + set_pin_data(IC_OUTPUT, 2, assembly.battery.maxcharge) + set_pin_data(IC_OUTPUT, 3, 100*assembly.battery.charge/assembly.battery.maxcharge) + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/input/externalbm + name = "external battery monitor" + desc = "This can help to watch battery state of any device in view" + icon_state = "externalbm" + extended_desc = "This circuit will give you values of charge, max charge and percentage of any device or battery in view" + w_class = WEIGHT_CLASS_TINY + complexity = 2 + inputs = list("target" = IC_PINTYPE_REF) + outputs = list( + "cell charge" = IC_PINTYPE_NUMBER, + "max charge" = IC_PINTYPE_NUMBER, + "percentage" = IC_PINTYPE_NUMBER + ) + activators = list("read" = IC_PINTYPE_PULSE_IN, "on read" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 4, TECH_DATA = 4, TECH_POWER = 4, TECH_MAGNET = 3) + power_draw_per_use = 1 + +/obj/item/integrated_circuit/input/externalbm/do_work() + + var/atom/movable/AM = get_pin_data_as_type(IC_INPUT, 1, /atom/movable) + set_pin_data(IC_OUTPUT, 1, null) + set_pin_data(IC_OUTPUT, 2, null) + set_pin_data(IC_OUTPUT, 3, null) + if(AM) + var/obj/item/stock_parts/cell/C = AM.get_cell() + if(C) + var/turf/A = get_turf(src) + if(get_turf(AM) in view(A)) + set_pin_data(IC_OUTPUT, 1, C.charge) + set_pin_data(IC_OUTPUT, 2, C.maxcharge) + set_pin_data(IC_OUTPUT, 3, C.percent()) + activate_pin(2) + push_data() + return diff --git a/code/modules/integrated_electronics/subtypes/lists.dm b/code/modules/integrated_electronics/subtypes/lists.dm new file mode 100644 index 0000000000..0d622f58e2 --- /dev/null +++ b/code/modules/integrated_electronics/subtypes/lists.dm @@ -0,0 +1,202 @@ +//These circuits do things with lists, and use special list pins for stability. +/obj/item/integrated_circuit/lists + complexity = 1 + inputs = list( + "input" = IC_PINTYPE_LIST + ) + outputs = list("result" = IC_PINTYPE_STRING) + activators = list("compute" = IC_PINTYPE_PULSE_IN, "on computed" = IC_PINTYPE_PULSE_OUT) + category_text = "Lists" + power_draw_per_use = 20 + +/obj/item/integrated_circuit/lists/pick + name = "pick circuit" + desc = "This circuit will pick a random element from the input list, and output said element." + extended_desc = "Will output null if the list is empty. Input list is unmodified." + icon_state = "addition" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/lists/pick/do_work() + var/result = null + var/list/input_list = get_pin_data(IC_INPUT, 1) // List pins guarantee that there is a list inside, even if just an empty one. + if(input_list.len) + result = pick(input_list) + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + + +/obj/item/integrated_circuit/lists/append + name = "append circuit" + desc = "This circuit will add an element to a list." + extended_desc = "The new element will always be at the bottom of the list." + inputs = list( + "list to append" = IC_PINTYPE_LIST, + "input" = IC_PINTYPE_ANY + ) + outputs = list( + "appended list" = IC_PINTYPE_LIST + ) + icon_state = "addition" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/lists/append/do_work() + var/list/input_list = get_pin_data(IC_INPUT, 1) + var/list/output_list = list() + var/new_entry = get_pin_data(IC_INPUT, 2) + output_list = input_list.Copy() + output_list.Add(new_entry) + + set_pin_data(IC_OUTPUT, 1, output_list) + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/lists/search + name = "search circuit" + desc = "This circuit will get the index location of the desired element in a list." + extended_desc = "Search will start at 1 position and will return first matching position." + inputs = list( + "list" = IC_PINTYPE_LIST, + "item" = IC_PINTYPE_ANY + ) + outputs = list( + "index" = IC_PINTYPE_NUMBER + ) + icon_state = "addition" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/lists/search/do_work() + var/list/input_list = get_pin_data(IC_INPUT, 1) + var/item = get_pin_data(IC_INPUT, 2) + set_pin_data(IC_OUTPUT, 1, input_list.Find(item)) + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/lists/at + name = "at circuit" + desc = "This circuit will pick an element from a list by the input index." + extended_desc = "If there is no element with such index, result will be null." + inputs = list( + "list" = IC_PINTYPE_LIST, + "index" = IC_PINTYPE_NUMBER + ) + outputs = list("item" = IC_PINTYPE_ANY) + icon_state = "addition" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/lists/at/do_work() + var/list/input_list = get_pin_data(IC_INPUT, 1) + var/index = get_pin_data(IC_INPUT, 2) + var/item = input_list[index] + set_pin_data(IC_OUTPUT, 1, item) + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/lists/delete + name = "delete circuit" + desc = "This circuit will remove an element from a list by the index." + extended_desc = "If there is no element with such index, result list will be unchanged." + inputs = list( + "list" = IC_PINTYPE_LIST, + "index" = IC_PINTYPE_NUMBER + ) + outputs = list( + "item" = IC_PINTYPE_LIST + ) + icon_state = "addition" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/lists/delete/do_work() + var/list/input_list = get_pin_data(IC_INPUT, 1) + var/list/red_list = list() + var/index = get_pin_data(IC_INPUT, 2) + for(var/j in 1 to input_list.len) + var/I = input_list[j] + if(j != index) + red_list.Add(I) + set_pin_data(IC_OUTPUT, 1, red_list) + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/lists/write + name = "write circuit" + desc = "This circuit will write an element to a list at the given index location." + extended_desc = "If there is no element with such index, it will give the same list, as before." + inputs = list( + "list" = IC_PINTYPE_LIST, + "index" = IC_PINTYPE_NUMBER, + "item" = IC_PINTYPE_ANY + ) + outputs = list( + "redacted list" = IC_PINTYPE_LIST + ) + icon_state = "addition" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/lists/write/do_work() + var/list/input_list = get_pin_data(IC_INPUT, 1) + var/index = get_pin_data(IC_INPUT, 2) + var/item = get_pin_data(IC_INPUT, 3) + if(!islist(item)) + var/list/red_list = input_list.Copy() //crash proof + red_list[index] = item + set_pin_data(IC_OUTPUT, 1, red_list) + push_data() + activate_pin(2) + + +obj/item/integrated_circuit/lists/len + name = "len circuit" + desc = "This circuit will return the length of the list." + inputs = list( + "list" = IC_PINTYPE_LIST, + ) + outputs = list( + "item" = IC_PINTYPE_NUMBER + ) + icon_state = "addition" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/lists/len/do_work() + var/list/input_list = get_pin_data(IC_INPUT, 1) + set_pin_data(IC_OUTPUT, 1, input_list.len) + push_data() + activate_pin(2) + + +/obj/item/integrated_circuit/lists/jointext + name = "join text circuit" + desc = "This circuit will combine two lists into one and output it as a string." + extended_desc = "Default settings will encode the entire list into a string." + inputs = list( + "list to join" = IC_PINTYPE_LIST,// + "delimiter" = IC_PINTYPE_CHAR, + "start" = IC_PINTYPE_NUMBER, + "end" = IC_PINTYPE_NUMBER + ) + inputs_default = list( + "2" = ",", + "3" = 1, + "4" = 0 + ) + outputs = list( + "joined text" = IC_PINTYPE_STRING + ) + icon_state = "addition" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/lists/jointext/do_work() + var/list/input_list = get_pin_data(IC_INPUT, 1) + var/delimiter = get_pin_data(IC_INPUT, 2) + var/start = get_pin_data(IC_INPUT, 3) + var/end = get_pin_data(IC_INPUT, 4) + + var/result = null + + if(input_list.len && delimiter && !isnull(start) && !isnull(end)) + result = jointext(input_list, delimiter, start, end) + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) diff --git a/code/modules/integrated_electronics/subtypes/logic.dm b/code/modules/integrated_electronics/subtypes/logic.dm new file mode 100644 index 0000000000..627301ef10 --- /dev/null +++ b/code/modules/integrated_electronics/subtypes/logic.dm @@ -0,0 +1,221 @@ +/obj/item/integrated_circuit/logic + name = "logic gate" + desc = "This tiny chip will decide for you!" + extended_desc = "Logic circuits will treat a null, 0, and a \"\" string value as FALSE and anything else as TRUE." + complexity = 3 + outputs = list("result") + activators = list("compare" = IC_PINTYPE_PULSE_IN) + category_text = "Logic" + power_draw_per_use = 1 + +/obj/item/integrated_circuit/logic/do_work() + push_data() + +/obj/item/integrated_circuit/logic/binary + inputs = list("A","B") + activators = list("compare" = IC_PINTYPE_PULSE_IN, "on true result" = IC_PINTYPE_PULSE_OUT, "on false result" = IC_PINTYPE_PULSE_OUT) + +/obj/item/integrated_circuit/logic/binary/do_work() + pull_data() + var/datum/integrated_io/A = inputs[1] + var/datum/integrated_io/B = inputs[2] + var/datum/integrated_io/O = outputs[1] + O.data = do_compare(A, B) ? TRUE : FALSE + + if(get_pin_data(IC_OUTPUT, 1)) + activate_pin(2) + else + activate_pin(3) + ..() + +/obj/item/integrated_circuit/logic/binary/proc/do_compare(var/datum/integrated_io/A, var/datum/integrated_io/B) + return FALSE + +/obj/item/integrated_circuit/logic/unary + inputs = list("A") + activators = list("compare" = IC_PINTYPE_PULSE_IN, "on compare" = IC_PINTYPE_PULSE_OUT) + +/obj/item/integrated_circuit/logic/unary/do_work() + pull_data() + var/datum/integrated_io/A = inputs[1] + var/datum/integrated_io/O = outputs[1] + O.data = do_check(A) ? TRUE : FALSE + ..() + activate_pin(2) + +/obj/item/integrated_circuit/logic/unary/proc/do_check(var/datum/integrated_io/A) + return FALSE + +/obj/item/integrated_circuit/logic/binary/equals + name = "equal gate" + desc = "This gate compares two values, and outputs '1' if both are the same." + icon_state = "equal" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/logic/binary/equals/do_compare(var/datum/integrated_io/A, var/datum/integrated_io/B) + return A.data == B.data + +/obj/item/integrated_circuit/logic/binary/jklatch + name = "JK latch" + desc = "This gate is a synchronized JK latch." + icon_state = "jklatch" + inputs = list("J","K") + outputs = list("Q","!Q") + activators = list("pulse in C" = IC_PINTYPE_PULSE_IN, "pulse out Q" = IC_PINTYPE_PULSE_OUT, "pulse out !Q" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + var/lstate=FALSE + +/obj/item/integrated_circuit/logic/binary/jklatch/do_work() + pull_data() + var/datum/integrated_io/A = inputs[1] + var/datum/integrated_io/B = inputs[2] + var/datum/integrated_io/O = outputs[1] + var/datum/integrated_io/Q = outputs[2] + if(A.data) + if(B.data) + lstate=!lstate + else + lstate = TRUE + else + if(B.data) + lstate=FALSE + O.data = lstate ? TRUE : FALSE + Q.data = !lstate ? TRUE : FALSE + if(get_pin_data(IC_OUTPUT, 1)) + activate_pin(2) + else + activate_pin(3) + push_data() + +/obj/item/integrated_circuit/logic/binary/rslatch + name = "RS latch" + desc = "This gate is a synchronized RS latch. If both R and S are true, state will not change." + icon_state = "sr_nor" + inputs = list("S","R") + outputs = list("Q","!Q") + activators = list("pulse in C" = IC_PINTYPE_PULSE_IN, "pulse out Q" = IC_PINTYPE_PULSE_OUT, "pulse out !Q" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + var/lstate=FALSE + +/obj/item/integrated_circuit/logic/binary/rslatch/do_work() + pull_data() + var/datum/integrated_io/A = inputs[1] + var/datum/integrated_io/B = inputs[2] + var/datum/integrated_io/O = outputs[1] + var/datum/integrated_io/Q = outputs[2] + if(A.data) + if(!B.data) + lstate=TRUE + else + if(B.data) + lstate=FALSE + O.data = lstate ? TRUE : FALSE + Q.data = !lstate ? TRUE : FALSE + if(get_pin_data(IC_OUTPUT, 1)) + activate_pin(2) + else + activate_pin(3) + push_data() + +/obj/item/integrated_circuit/logic/binary/gdlatch + name = "gated D latch" + desc = "This gate is a synchronized gated D latch." + icon_state = "gated_d" + inputs = list("D","E") + outputs = list("Q","!Q") + activators = list("pulse in C" = IC_PINTYPE_PULSE_IN, "pulse out Q" = IC_PINTYPE_PULSE_OUT, "pulse out !Q" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + var/lstate=FALSE + +/obj/item/integrated_circuit/logic/binary/gdlatch/do_work() + pull_data() + var/datum/integrated_io/A = inputs[1] + var/datum/integrated_io/B = inputs[2] + var/datum/integrated_io/O = outputs[1] + var/datum/integrated_io/Q = outputs[2] + if(B.data) + if(A.data) + lstate=TRUE + else + lstate=FALSE + + O.data = lstate ? TRUE : FALSE + Q.data = !lstate ? TRUE : FALSE + if(get_pin_data(IC_OUTPUT, 1)) + activate_pin(2) + else + activate_pin(3) + push_data() + +/obj/item/integrated_circuit/logic/binary/not_equals + name = "not equal gate" + desc = "This gate compares two values, and outputs '1' if both are different." + icon_state = "not_equal" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/logic/binary/not_equals/do_compare(var/datum/integrated_io/A, var/datum/integrated_io/B) + return A.data != B.data + +/obj/item/integrated_circuit/logic/binary/and + name = "and gate" + desc = "This gate will output '1' if both inputs evaluate to true." + icon_state = "and" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/logic/binary/and/do_compare(var/datum/integrated_io/A, var/datum/integrated_io/B) + return A.data && B.data + +/obj/item/integrated_circuit/logic/binary/or + name = "or gate" + desc = "This gate will output '1' if one of the inputs evaluate to true." + icon_state = "or" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/logic/binary/or/do_compare(var/datum/integrated_io/A, var/datum/integrated_io/B) + return A.data || B.data + +/obj/item/integrated_circuit/logic/binary/less_than + name = "less than gate" + desc = "This will output '1' if the first input is less than the second input." + icon_state = "less_than" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/logic/binary/less_than/do_compare(var/datum/integrated_io/A, var/datum/integrated_io/B) + return A.data < B.data + +/obj/item/integrated_circuit/logic/binary/less_than_or_equal + name = "less than or equal gate" + desc = "This will output '1' if the first input is less than, or equal to the second input." + icon_state = "less_than_or_equal" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/logic/binary/less_than_or_equal/do_compare(var/datum/integrated_io/A, var/datum/integrated_io/B) + return A.data <= B.data + +/obj/item/integrated_circuit/logic/binary/greater_than + name = "greater than gate" + desc = "This will output '1' if the first input is greater than the second input." + icon_state = "greater_than" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/logic/binary/greater_than/do_compare(var/datum/integrated_io/A, var/datum/integrated_io/B) + return A.data > B.data + +/obj/item/integrated_circuit/logic/binary/greater_than_or_equal + name = "greater_than or equal gate" + desc = "This will output '1' if the first input is greater than, or equal to the second input." + icon_state = "greater_than_or_equal" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/logic/binary/greater_than_or_equal/do_compare(var/datum/integrated_io/A, var/datum/integrated_io/B) + return A.data >= B.data + +/obj/item/integrated_circuit/logic/unary/not + name = "not gate" + desc = "This gate inverts what's fed into it." + icon_state = "not" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + activators = list("invert" = IC_PINTYPE_PULSE_IN, "on inverted" = IC_PINTYPE_PULSE_OUT) + +/obj/item/integrated_circuit/logic/unary/not/do_check(var/datum/integrated_io/A) + return !A.data diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm new file mode 100644 index 0000000000..fb78915f11 --- /dev/null +++ b/code/modules/integrated_electronics/subtypes/manipulation.dm @@ -0,0 +1,390 @@ +/obj/item/integrated_circuit/manipulation + category_text = "Manipulation" + +/obj/item/integrated_circuit/manipulation/weapon_firing + name = "weapon firing mechanism" + desc = "This somewhat complicated system allows one to slot in a gun, direct it towards a position, and remotely fire it." + extended_desc = "The firing mechanism can slot in any energy weapon. \ + The first and second inputs need to be numbers. They are coordinates for the gun to fire at, relative to the machine itself. \ + The 'fire' activator will cause the mechanism to attempt to fire the weapon at the coordinates, if possible. Mode is switch between\ + letal(TRUE) or stun(FALSE) modes.It uses internal battery of weapon." + complexity = 20 + w_class = WEIGHT_CLASS_SMALL + size = 3 + inputs = list( + "target X rel" = IC_PINTYPE_NUMBER, + "target Y rel" = IC_PINTYPE_NUMBER, + "mode" = IC_PINTYPE_BOOLEAN + ) + outputs = list("reference to gun" = IC_PINTYPE_REF) + activators = list( + "fire" = IC_PINTYPE_PULSE_IN + + ) + var/obj/item/gun/energy/installed_gun = null + spawn_flags = IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 3, TECH_COMBAT = 4) + power_draw_per_use = 0 + var/mode = FALSE + + var/stun_projectile = null //stun mode projectile type + var/stun_projectile_sound + var/lethal_projectile = null //lethal mode projectile type + var/lethal_projectile_sound + + + +/obj/item/integrated_circuit/manipulation/weapon_firing/Destroy() + qdel(installed_gun) + ..() + +/obj/item/integrated_circuit/manipulation/weapon_firing/attackby(var/obj/O, var/mob/user) + if(istype(O, /obj/item/gun/energy)) + var/obj/item/gun/gun = O + if(installed_gun) + to_chat(user, "There's already a weapon installed.") + return + + user.transferItemToLoc(gun,src) + installed_gun = gun + var/list/gun_properties = gun.get_turret_properties() + to_chat(user, "You slide \the [gun] into the firing mechanism.") + playsound(src, 'sound/items/Crowbar.ogg', 50, 1) + stun_projectile = gun_properties["stun_projectile"] + stun_projectile_sound = gun_properties["stun_projectile_sound"] + lethal_projectile = gun_properties["lethal_projectile"] + lethal_projectile_sound = gun_properties["lethal_projectile_sound"] + if(gun_properties["shot_delay"]) + cooldown_per_use = gun_properties["shot_delay"]*10 + if(cooldown_per_use<30) + cooldown_per_use = 40 + if(gun_properties["reqpower"]) + power_draw_per_use = gun_properties["reqpower"] + set_pin_data(IC_OUTPUT, 1, WEAKREF(installed_gun)) + push_data() + else + ..() + +/obj/item/integrated_circuit/manipulation/weapon_firing/attack_self(var/mob/user) + if(installed_gun) + installed_gun.forceMove(drop_location()) + to_chat(user, "You slide \the [installed_gun] out of the firing mechanism.") + size = initial(size) + playsound(src, 'sound/items/Crowbar.ogg', 50, 1) + installed_gun = null + set_pin_data(IC_OUTPUT, 1, WEAKREF(null)) + push_data() + else + to_chat(user, "There's no weapon to remove from the mechanism.") + +/obj/item/integrated_circuit/manipulation/weapon_firing/do_work() + if(!installed_gun) + return + set_pin_data(IC_OUTPUT, 1, WEAKREF(installed_gun)) + push_data() + var/datum/integrated_io/xo = inputs[1] + var/datum/integrated_io/yo = inputs[2] + var/datum/integrated_io/mode1 = inputs[3] + + mode = mode1.data + if(assembly) + if(isnum(xo.data)) + xo.data = round(xo.data, 1) + if(isnum(yo.data)) + yo.data = round(yo.data, 1) + + var/turf/T = get_turf(assembly) + var/target_x = Clamp(T.x + xo.data, 0, world.maxx) + var/target_y = Clamp(T.y + yo.data, 0, world.maxy) + + shootAt(locate(target_x, target_y, T.z)) + +/obj/item/integrated_circuit/manipulation/weapon_firing/proc/shootAt(turf/target) + + var/turf/T = get_turf(src) + var/turf/U = target + if(!istype(T) || !istype(U)) + return + if(!installed_gun.cell) + return + if(!installed_gun.cell.charge) + return + var/obj/item/ammo_casing/energy/shot = installed_gun.ammo_type[mode?2:1] + if(installed_gun.cell.charge < shot.e_cost) + return + if(!shot) + return + update_icon() + var/obj/item/projectile/A + if(!mode) + A = new stun_projectile(T) + playsound(loc, stun_projectile_sound, 75, 1) + else + A = new lethal_projectile(T) + playsound(loc, lethal_projectile_sound, 75, 1) + + + installed_gun.cell.use(shot.e_cost) + //Shooting Code: + A.preparePixelProjectile(target, src) + A.fire() + return A + +/obj/item/integrated_circuit/manipulation/locomotion + name = "locomotion circuit" + desc = "This allows a machine to move in a given direction." + icon_state = "locomotion" + extended_desc = "The circuit accepts a 'dir' number as a direction to move towards.
    \ + Pulsing the 'step towards dir' activator pin will cause the machine to move a meter in that direction, assuming it is not \ + being held, or anchored in some way. It should be noted that the ability to move is dependant on the type of assembly that this circuit inhabits." + w_class = WEIGHT_CLASS_SMALL + complexity = 20 + inputs = list("direction" = IC_PINTYPE_DIR) + outputs = list() + activators = list("step towards dir" = IC_PINTYPE_PULSE_IN,"on step"=IC_PINTYPE_PULSE_OUT,"blocked"=IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_RESEARCH + power_draw_per_use = 100 + +/obj/item/integrated_circuit/manipulation/locomotion/do_work() + ..() + var/turf/T = get_turf(src) + if(T && assembly) + if(assembly.anchored || !assembly.can_move()) + return + if(assembly.loc == T) // Check if we're held by someone. If the loc is the floor, we're not held. + var/datum/integrated_io/wanted_dir = inputs[1] + if(isnum(wanted_dir.data)) + if(step(assembly, wanted_dir.data)) + activate_pin(2) + else + activate_pin(3) + return FALSE + +/obj/item/integrated_circuit/manipulation/grenade + name = "grenade primer" + desc = "This circuit comes with the ability to attach most types of grenades at prime them at will." + extended_desc = "Time between priming and detonation is limited to between 1 to 12 seconds but is optional. \ + If unset, not a number, or a number less than 1 then the grenade's built-in timing will be used. \ + Beware: Once primed there is no aborting the process!" + icon_state = "grenade" + complexity = 30 + inputs = list("detonation time" = IC_PINTYPE_NUMBER) + outputs = list() + activators = list("prime grenade" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 3, TECH_COMBAT = 4) + var/obj/item/grenade/attached_grenade + var/pre_attached_grenade_type + +/obj/item/integrated_circuit/manipulation/grenade/Initialize() + . = ..() + if(pre_attached_grenade_type) + var/grenade = new pre_attached_grenade_type(src) + attach_grenade(grenade) + +/obj/item/integrated_circuit/manipulation/grenade/Destroy() + if(attached_grenade && !attached_grenade.active) + attached_grenade.forceMove(loc) + detach_grenade() + return ..() + +/obj/item/integrated_circuit/manipulation/grenade/attackby(var/obj/item/grenade/G, var/mob/user) + if(istype(G)) + if(attached_grenade) + to_chat(user, "There is already a grenade attached!") + else if(user.transferItemToLoc(G,src)) + user.visible_message("\The [user] attaches \a [G] to \the [src]!", "You attach \the [G] to \the [src].") + attach_grenade(G) + G.forceMove(src) + else + return ..() + +/obj/item/integrated_circuit/manipulation/grenade/attack_self(var/mob/user) + if(attached_grenade) + user.visible_message("\The [user] removes \an [attached_grenade] from \the [src]!", "You remove \the [attached_grenade] from \the [src].") + user.put_in_hands(attached_grenade) + detach_grenade() + else + return ..() + +/obj/item/integrated_circuit/manipulation/grenade/do_work() + if(attached_grenade && !attached_grenade.active) + var/datum/integrated_io/detonation_time = inputs[1] + var/dt + if(isnum(detonation_time.data) && detonation_time.data > 0) + dt = Clamp(detonation_time.data, 1, 12)*10 + else + dt = 15 + addtimer(CALLBACK(attached_grenade, /obj/item/grenade.proc/prime), dt) + var/atom/holder = loc + message_admins("activated a grenade assembly. Last touches: Assembly: [holder.fingerprintslast] Circuit: [fingerprintslast] Grenade: [attached_grenade.fingerprintslast]") + +// These procs do not relocate the grenade, that's the callers responsibility +/obj/item/integrated_circuit/manipulation/grenade/proc/attach_grenade(var/obj/item/grenade/G) + attached_grenade = G + G.forceMove(src) + desc += " \An [attached_grenade] is attached to it!" + +/obj/item/integrated_circuit/manipulation/grenade/proc/detach_grenade() + if(!attached_grenade) + return + attached_grenade.forceMove(drop_location()) + attached_grenade = null + desc = initial(desc) + +/obj/item/integrated_circuit/manipulation/plant_module + name = "plant manipulation module" + desc = "Used to uproot weeds or harvest plants in trays." + icon_state = "plant_m" + extended_desc = "The circuit accepts a reference to hydroponic tray. It work from adjacent tiles. \ + Mode(0- harvest, 1-uproot weeds, 2-uproot plant) determinies action." + w_class = WEIGHT_CLASS_TINY + complexity = 10 + inputs = list("target" = IC_PINTYPE_REF,"mode" = IC_PINTYPE_NUMBER) + outputs = list() + activators = list("pulse in" = IC_PINTYPE_PULSE_IN,"pulse out"=IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_RESEARCH + power_draw_per_use = 50 + +/obj/item/integrated_circuit/manipulation/plant_module/do_work() + ..() + var/turf/T = get_turf(src) + var/obj/machinery/hydroponics/AM = get_pin_data_as_type(IC_INPUT, 1, /obj/machinery/hydroponics) + if(!istype(AM)) //Invalid input + return + var/mob/living/M = get_turf(AM) + if(!M.Adjacent(T)) + return //Can't reach + switch(get_pin_data(IC_INPUT, 2)) + if(0) + if(AM.myseed) + if(AM.harvest) + AM.myseed.harvest() + AM.harvest = 0 + AM.lastproduce = AM.age + if(!AM.myseed.get_gene(/datum/plant_gene/trait/repeated_harvest)) + qdel(AM.myseed) + AM.myseed = null + AM.dead = 0 + AM.update_icon() + if(1) + AM.weedlevel = 0 + if(2) + if(AM.myseed) //Could be that they're just using it as a de-weeder + AM.age = 0 + AM.plant_health = 0 + if(AM.harvest) + AM.harvest = FALSE //To make sure they can't just put in another seed and insta-harvest it + qdel(AM.myseed) + AM.myseed = null + AM.weedlevel = 0 //Has a side effect of cleaning up those nasty weeds + AM.update_icon() + else + activate_pin(2) + return FALSE + activate_pin(2) + +/obj/item/integrated_circuit/manipulation/grabber + name = "grabber" + desc = "A circuit with it's own inventory for small/medium items, used to grab and store things." + icon_state = "grabber" + extended_desc = "The circuit accepts a reference to thing to be grabbed. It can store up to 10 things. Modes: 1 for grab. 0 for eject the first thing. -1 for eject all." + w_class = WEIGHT_CLASS_SMALL + size = 3 + + complexity = 10 + inputs = list("target" = IC_PINTYPE_REF,"mode" = IC_PINTYPE_NUMBER) + outputs = list("first" = IC_PINTYPE_REF, "last" = IC_PINTYPE_REF, "amount" = IC_PINTYPE_NUMBER,"contents" = IC_PINTYPE_LIST) + activators = list("pulse in" = IC_PINTYPE_PULSE_IN,"pulse out" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_RESEARCH + power_draw_per_use = 50 + var/max_w_class = WEIGHT_CLASS_NORMAL + var/max_items = 10 + +/obj/item/integrated_circuit/manipulation/grabber/do_work() + var/turf/T = get_turf(src) + var/obj/item/AM = get_pin_data_as_type(IC_INPUT, 1, /obj/item) + if(AM) + var/turf/P = get_turf(AM) + var/mode = get_pin_data(IC_INPUT, 2) + + if(mode == 1) + if(P.Adjacent(T)) + if((contents.len < max_items) && AM && (AM.w_class <= max_w_class)) + AM.forceMove(src) + if(mode == 0) + if(contents.len) + var/obj/item/U = contents[1] + U.forceMove(T) + if(mode == -1) + if(contents.len) + var/obj/item/U + for(U in contents) + U.forceMove(T) + if(contents.len) + set_pin_data(IC_OUTPUT, 1, WEAKREF(contents[1])) + set_pin_data(IC_OUTPUT, 2, WEAKREF(contents[contents.len])) + else + set_pin_data(IC_OUTPUT, 1, null) + set_pin_data(IC_OUTPUT, 2, null) + set_pin_data(IC_OUTPUT, 3, contents.len) + set_pin_data(IC_OUTPUT, 4, contents) + push_data() + activate_pin(2) + +/obj/item/integrated_circuit/manipulation/grabber/attack_self(var/mob/user) + if(contents.len) + var/turf/T = get_turf(src) + var/obj/item/U + for(U in contents) + U.forceMove(T) + set_pin_data(IC_OUTPUT, 1, null) + set_pin_data(IC_OUTPUT, 2, null) + set_pin_data(IC_OUTPUT, 3, contents.len) + push_data() + + +/obj/item/integrated_circuit/manipulation/thrower + name = "thrower" + desc = "A compact launcher to throw things from inside or nearby tiles" + extended_desc = "The first and second inputs need to be numbers. They are coordinates to throw thing at, relative to the machine itself. \ + The 'fire' activator will cause the mechanism to attempt to throw thing at the coordinates, if possible. Note that the \ + projectile need to be inside the machine, or to be on an adjacent tile, and to be up to medium size." + complexity = 15 + w_class = WEIGHT_CLASS_SMALL + size = 2 + inputs = list( + "target X rel" = IC_PINTYPE_NUMBER, + "target Y rel" = IC_PINTYPE_NUMBER, + "projectile" = IC_PINTYPE_REF + ) + outputs = list() + activators = list( + "fire" = IC_PINTYPE_PULSE_IN + ) + spawn_flags = IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 3, TECH_COMBAT = 4) + power_draw_per_use = 50 + +/obj/item/integrated_circuit/manipulation/thrower/do_work() + var/datum/integrated_io/target_x = inputs[1] + var/datum/integrated_io/target_y = inputs[2] + var/datum/integrated_io/projectile = inputs[3] + if(!isweakref(projectile.data)) + return + var/obj/item/A = projectile.data.resolve() + if(A.anchored || (A.w_class > WEIGHT_CLASS_NORMAL)) + return + var/turf/T = get_turf(assembly) + if(!(A.Adjacent(T) || (A in assembly.GetAllContents()))) + return + if(assembly) + if(isnum(target_x.data)) + target_x.data = round(target_x.data, 1) + if(isnum(target_y.data)) + target_y.data = round(target_y.data, 1) + var/_x = Clamp(T.x + target_x.data, 0, world.maxx) + var/_y = Clamp(T.y + target_y.data, 0, world.maxy) + + A.forceMove(drop_location()) + A.throw_at(locate(_x, _y, T.z), round(Clamp(sqrt(target_x.data*target_x.data+target_y.data*target_y.data),0,8),1), 3) diff --git a/code/modules/integrated_electronics/subtypes/memory.dm b/code/modules/integrated_electronics/subtypes/memory.dm new file mode 100644 index 0000000000..548ea3fa1d --- /dev/null +++ b/code/modules/integrated_electronics/subtypes/memory.dm @@ -0,0 +1,124 @@ +/obj/item/integrated_circuit/memory + name = "memory chip" + desc = "This tiny chip can store one piece of data." + icon_state = "memory" + complexity = 1 + inputs = list() + outputs = list() + activators = list("set" = IC_PINTYPE_PULSE_IN, "on set" = IC_PINTYPE_PULSE_OUT) + category_text = "Memory" + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 1 + var/number_of_pins = 1 + +/obj/item/integrated_circuit/memory/New() + for(var/i = 1 to number_of_pins) + inputs["input [i]"] = IC_PINTYPE_ANY // This is just a string since pins don't get built until ..() is called. + outputs["output [i]"] = IC_PINTYPE_ANY + complexity = number_of_pins + ..() + +/obj/item/integrated_circuit/memory/examine(mob/user) + ..() + var/i + for(i = 1, i <= outputs.len, i++) + var/datum/integrated_io/O = outputs[i] + var/data = "nothing" + if(isweakref(O.data)) + var/datum/d = O.data_as_type(/datum) + if(d) + data = "[d]" + else if(!isnull(O.data)) + data = O.data + to_chat(user, "\The [src] has [data] saved to address [i].") + +/obj/item/integrated_circuit/memory/do_work() + for(var/i = 1 to inputs.len) + var/datum/integrated_io/I = inputs[i] + var/datum/integrated_io/O = outputs[i] + O.data = I.data + O.push_data() + activate_pin(2) + +/obj/item/integrated_circuit/memory/tiny + name = "small memory circuit" + desc = "This circuit can store two pieces of data." + icon_state = "memory4" + power_draw_per_use = 2 + number_of_pins = 2 + +/obj/item/integrated_circuit/memory/medium + name = "medium memory circuit" + desc = "This circuit can store four pieces of data." + icon_state = "memory4" + power_draw_per_use = 2 + number_of_pins = 4 + +/obj/item/integrated_circuit/memory/large + name = "large memory circuit" + desc = "This big circuit can hold eight pieces of data." + icon_state = "memory8" + origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 3) + power_draw_per_use = 4 + number_of_pins = 8 + +/obj/item/integrated_circuit/memory/huge + name = "large memory stick" + desc = "This stick of memory can hold up up to sixteen pieces of data." + icon_state = "memory16" + w_class = WEIGHT_CLASS_SMALL + spawn_flags = IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 4, TECH_DATA = 4) + power_draw_per_use = 8 + number_of_pins = 16 + +/obj/item/integrated_circuit/memory/constant + name = "constant chip" + desc = "This tiny chip can store one piece of data, which cannot be overwritten without disassembly." + icon_state = "memory" + inputs = list() + outputs = list("output pin" = IC_PINTYPE_ANY) + activators = list("push data" = IC_PINTYPE_PULSE_IN) + var/accepting_refs = FALSE + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/memory/constant/do_work() + var/datum/integrated_io/O = outputs[1] + O.push_data() + +/obj/item/integrated_circuit/memory/constant/attack_self(mob/user) + var/datum/integrated_io/O = outputs[1] + if(!user.IsAdvancedToolUser()) + return + var/type_to_use = input("Please choose a type to use.","[src] type setting") as null|anything in list("string","number","ref", "null") + + var/new_data = null + switch(type_to_use) + if("string") + accepting_refs = FALSE + new_data = input("Now type in a string.","[src] string writing") as null|text + if(istext(new_data) && user.IsAdvancedToolUser()) + O.data = new_data + to_chat(user, "You set \the [src]'s memory to [O.display_data(O.data)].") + if("number") + accepting_refs = FALSE + new_data = input("Now type in a number.","[src] number writing") as null|num + if(isnum(new_data) && user.IsAdvancedToolUser()) + O.data = new_data + to_chat(user, "You set \the [src]'s memory to [O.display_data(O.data)].") + if("ref") + accepting_refs = TRUE + to_chat(user, "You turn \the [src]'s ref scanner on. Slide it across \ + an object for a ref of that object to save it in memory.") + if("null") + O.data = null + to_chat(user, "You set \the [src]'s memory to absolutely nothing.") + +/obj/item/integrated_circuit/memory/constant/afterattack(atom/target, mob/living/user, proximity) + if(accepting_refs && proximity) + var/datum/integrated_io/O = outputs[1] + O.data = WEAKREF(target) + visible_message("[user] slides \a [src]'s over \the [target].") + to_chat(user, "You set \the [src]'s memory to a reference to [O.display_data(O.data)]. The ref scanner is \ + now off.") + accepting_refs = FALSE \ No newline at end of file diff --git a/code/modules/integrated_electronics/subtypes/output.dm b/code/modules/integrated_electronics/subtypes/output.dm new file mode 100644 index 0000000000..1d3b24ad09 --- /dev/null +++ b/code/modules/integrated_electronics/subtypes/output.dm @@ -0,0 +1,357 @@ +/obj/item/integrated_circuit/output + category_text = "Output" + +/obj/item/integrated_circuit/output/screen + name = "small screen" + desc = "Takes any data type as an input, and displays it to the user upon examining." + icon_state = "screen" + inputs = list("displayed data" = IC_PINTYPE_ANY) + outputs = list() + activators = list("load data" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 10 + var/stuff_to_display = null + +/obj/item/integrated_circuit/output/screen/disconnect_all() + ..() + stuff_to_display = null + +/obj/item/integrated_circuit/output/screen/any_examine(mob/user) + to_chat(user, "There is a little screen labeled '[name]', which displays [!isnull(stuff_to_display) ? "'[stuff_to_display]'" : "nothing"].") + +/obj/item/integrated_circuit/output/screen/do_work() + var/datum/integrated_io/I = inputs[1] + if(isweakref(I.data)) + var/datum/d = I.data_as_type(/datum) + if(d) + stuff_to_display = "[d]" + else + stuff_to_display = I.data + +/obj/item/integrated_circuit/output/screen/medium + name = "screen" + desc = "Takes any data type as an input and displays it to the user upon examining, and to adjacent beings when pulsed." + icon_state = "screen_medium" + power_draw_per_use = 20 + +/obj/item/integrated_circuit/output/screen/medium/do_work() + ..() + var/list/nearby_things = range(0, get_turf(src)) + for(var/mob/M in nearby_things) + var/obj/O = assembly ? assembly : src + to_chat(M, "[icon2html(O.icon, world, O.icon_state)] [stuff_to_display]") + +/obj/item/integrated_circuit/output/screen/large + name = "large screen" + desc = "Takes any data type as an input and displays it to the user upon examining, and to all nearby beings when pulsed." + icon_state = "screen_large" + power_draw_per_use = 40 + +/obj/item/integrated_circuit/output/screen/large/do_work() + ..() + var/obj/O = assembly ? loc : assembly + O.visible_message("[icon2html(O.icon, world, O.icon_state)] [stuff_to_display]") + +/obj/item/integrated_circuit/output/light + name = "light" + desc = "A basic light which can be toggled on/off when pulsed." + icon_state = "light" + complexity = 4 + inputs = list() + outputs = list() + activators = list("toggle light" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + var/light_toggled = 0 + var/light_brightness = 3 + var/light_rgb = "#FFFFFF" + power_draw_idle = 0 // Adjusted based on brightness. + +/obj/item/integrated_circuit/output/light/do_work() + light_toggled = !light_toggled + update_lighting() + +/obj/item/integrated_circuit/output/light/proc/update_lighting() + if(light_toggled) + if(assembly) + assembly.set_light(l_range = light_brightness, l_power = light_brightness, l_color = light_rgb) + else + if(assembly) + assembly.set_light(0) + power_draw_idle = light_toggled ? light_brightness * 2 : 0 + +/obj/item/integrated_circuit/output/light/advanced/update_lighting() + var/new_color = get_pin_data(IC_INPUT, 1) + var/brightness = get_pin_data(IC_INPUT, 2) + + if(new_color && isnum(brightness)) + brightness = Clamp(brightness, 0, 6) + light_rgb = new_color + light_brightness = brightness + + ..() + +/obj/item/integrated_circuit/output/light/power_fail() // Turns off the flashlight if there's no power left. + light_toggled = FALSE + update_lighting() + +/obj/item/integrated_circuit/output/light/advanced + name = "advanced light" + desc = "A light that takes a hexadecimal color value and a brightness value, and can be toggled on/off with a pulse." + icon_state = "light_adv" + complexity = 8 + inputs = list( + "color" = IC_PINTYPE_COLOR, + "brightness" = IC_PINTYPE_NUMBER + ) + outputs = list() + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 3) + +/obj/item/integrated_circuit/output/light/advanced/on_data_written() + update_lighting() + +/obj/item/integrated_circuit/output/sound + name = "speaker circuit" + desc = "A miniature speaker is attached to this component." + icon_state = "speaker" + complexity = 8 + cooldown_per_use = 4 SECONDS + inputs = list( + "sound ID" = IC_PINTYPE_STRING, + "volume" = IC_PINTYPE_NUMBER, + "frequency" = IC_PINTYPE_BOOLEAN + ) + outputs = list() + activators = list("play sound" = IC_PINTYPE_PULSE_IN) + power_draw_per_use = 10 + var/list/sounds = list() + +/obj/item/integrated_circuit/output/text_to_speech + name = "text-to-speech circuit" + desc = "Takes any string as an input and will make the device say the string when pulsed." + extended_desc = "This unit is more advanced than the plain speaker circuit, able to transpose any valid text to speech." + icon_state = "speaker" + complexity = 12 + inputs = list("text" = IC_PINTYPE_STRING) + outputs = list() + activators = list("to speech" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 60 + +/obj/item/integrated_circuit/output/text_to_speech/do_work() + text = get_pin_data(IC_INPUT, 1) + if(!isnull(text)) + var/obj/O = assembly ? loc : assembly + O.say(sanitize(text)) + +/obj/item/integrated_circuit/output/sound/Initialize() + .= ..() + extended_desc = list() + extended_desc += "The first input pin determines which sound is used. The choices are; " + extended_desc += jointext(sounds, ", ") + extended_desc += ". The second pin determines the volume of sound that is played" + extended_desc += ", and the third determines if the frequency of the sound will vary with each activation." + extended_desc = jointext(extended_desc, null) + +/obj/item/integrated_circuit/output/sound/do_work() + var/ID = get_pin_data(IC_INPUT, 1) + var/vol = get_pin_data(IC_INPUT, 2) + var/freq = get_pin_data(IC_INPUT, 3) + if(!isnull(ID) && !isnull(vol)) + var/selected_sound = sounds[ID] + if(!selected_sound) + return + vol = Clamp(vol ,0 , 100) + playsound(get_turf(src), selected_sound, vol, freq, -1) + +/obj/item/integrated_circuit/output/sound/on_data_written() + power_draw_per_use = get_pin_data(IC_INPUT, 2) * 15 + +/obj/item/integrated_circuit/output/sound/beeper + name = "beeper circuit" + desc = "Takes a sound name as an input, and will play said sound when pulsed. This circuit has a variety of beeps, boops, and buzzes to choose from." + sounds = list( + "beep" = 'sound/machines/twobeep.ogg', + "chime" = 'sound/machines/chime.ogg', + "buzz sigh" = 'sound/machines/buzz-sigh.ogg', + "buzz twice" = 'sound/machines/buzz-two.ogg', + "ping" = 'sound/machines/ping.ogg', + "synth yes" = 'sound/machines/synth_yes.ogg', + "synth no" = 'sound/machines/synth_no.ogg', + "warning buzz" = 'sound/machines/warning-buzzer.ogg' + ) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/output/sound/beepsky + name = "securitron sound circuit" + desc = "Takes a sound name as an input, and will play said sound when pulsed. This circuit is similar to those used in Securitrons." + sounds = list( + "creep" = 'sound/voice/bcreep.ogg', + "criminal" = 'sound/voice/bcriminal.ogg', + "freeze" = 'sound/voice/bfreeze.ogg', + "god" = 'sound/voice/bgod.ogg', + "i am the law" = 'sound/voice/biamthelaw.ogg', + "insult" = 'sound/voice/binsult.ogg', + "radio" = 'sound/voice/bradio.ogg', + "secure day" = 'sound/voice/bsecureday.ogg', + ) + spawn_flags = IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_ILLEGAL = 1) + +/obj/item/integrated_circuit/output/sound/medbot + name = "medbot sound circuit" + desc = "Takes a sound name as an input, and will play said sound when pulsed. This circuit is often found in medical robots." + sounds = list( + "surgeon" = 'sound/voice/msurgeon.ogg', + "radar" = 'sound/voice/mradar.ogg', + "feel better" = 'sound/voice/mfeelbetter.ogg', + "patched up" = 'sound/voice/mpatchedup.ogg', + "injured" = 'sound/voice/minjured.ogg', + "insult" = 'sound/voice/minsult.ogg', + "coming" = 'sound/voice/mcoming.ogg', + "help" = 'sound/voice/mhelp.ogg', + "live" = 'sound/voice/mlive.ogg', + "lost" = 'sound/voice/mlost.ogg', + "flies" = 'sound/voice/mflies.ogg', + "catch" = 'sound/voice/mcatch.ogg', + "delicious" = 'sound/voice/mdelicious.ogg', + "apple" = 'sound/voice/mapple.ogg', + "no" = 'sound/voice/mno.ogg', + ) + spawn_flags = IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 1) + +/obj/item/integrated_circuit/output/video_camera + name = "video camera circuit" + desc = "Takes a string as a name and a boolean to determine whether it is on, and uses this to be a camera linked to the research network." + extended_desc = "The camera is linked to the Research camera network." + icon_state = "video_camera" + w_class = WEIGHT_CLASS_SMALL + complexity = 10 + inputs = list( + "camera name" = IC_PINTYPE_STRING, + "camera active" = IC_PINTYPE_BOOLEAN + ) + inputs_default = list("1" = "video camera circuit") + outputs = list() + activators = list() + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_idle = 0 // Raises to 20 when on. + var/obj/machinery/camera/camera + var/updating = FALSE + +/obj/item/integrated_circuit/output/video_camera/New() + ..() + camera = new(src) + camera.network = list("RD") + on_data_written() + +/obj/item/integrated_circuit/output/video_camera/Destroy() + QDEL_NULL(camera) + return ..() + +/obj/item/integrated_circuit/output/video_camera/proc/set_camera_status(var/status) + if(camera) + camera.status = status + GLOB.cameranet.updatePortableCamera(camera) + power_draw_idle = camera.status ? 20 : 0 + if(camera.status) // Ensure that there's actually power. + if(!draw_idle_power()) + power_fail() + +/obj/item/integrated_circuit/output/video_camera/on_data_written() + if(camera) + var/cam_name = get_pin_data(IC_INPUT, 1) + var/cam_active = get_pin_data(IC_INPUT, 2) + if(!isnull(cam_name)) + camera.c_tag = cam_name + set_camera_status(cam_active) + +/obj/item/integrated_circuit/output/video_camera/power_fail() + if(camera) + set_camera_status(0) + set_pin_data(IC_INPUT, 2, FALSE) + +/obj/item/integrated_circuit/output/video_camera/ext_moved(oldLoc, dir) + . = ..() + update_camera_location(oldLoc) + +#define VIDEO_CAMERA_BUFFER 10 +/obj/item/integrated_circuit/output/video_camera/proc/update_camera_location(oldLoc) + oldLoc = get_turf(oldLoc) + if(!QDELETED(camera) && !updating && oldLoc != get_turf(src)) + updating = TRUE + addtimer(CALLBACK(src, .proc/do_camera_update, oldLoc), VIDEO_CAMERA_BUFFER) +#undef VIDEO_CAMERA_BUFFER + +/obj/item/integrated_circuit/output/video_camera/proc/do_camera_update(oldLoc) + if(!QDELETED(camera) && oldLoc != get_turf(src)) + GLOB.cameranet.updatePortableCamera(camera) + updating = FALSE + +/obj/item/integrated_circuit/output/led + name = "light-emitting diode" + desc = "Takes a boolean value in, and if the boolean value is 'true-equivalent', the LED will be marked as lit on examine." + extended_desc = "TRUE-equivalent values are: Non-empty strings, non-zero numbers, and valid refs." + complexity = 0.1 + icon_state = "led" + inputs = list("lit" = IC_PINTYPE_BOOLEAN) + outputs = list() + activators = list() + power_draw_idle = 0 // Raises to 1 when lit. + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + var/led_color + +/obj/item/integrated_circuit/output/led/on_data_written() + power_draw_idle = get_pin_data(IC_INPUT, 1) ? 1 : 0 + +/obj/item/integrated_circuit/output/led/power_fail() + set_pin_data(IC_INPUT, 1, FALSE) + +/obj/item/integrated_circuit/output/led/external_examine(mob/user) + var/text_output = list() + + // Doing all this work just to have a color-blind friendly output. + text_output += "There is " + if(name == displayed_name ) + text_output += "\an [name]" + else + text_output += "\an ["\improper[name]"] labeled '[displayed_name ]'" + text_output += " which is currently [(get_pin_data(IC_INPUT, 1)==1) ? "lit *" : "unlit."]" + to_chat(user,jointext(text_output,null)) + +/obj/item/integrated_circuit/output/led/red + name = "red LED" + led_color = "#FF0000" + +/obj/item/integrated_circuit/output/led/orange + name = "orange LED" + led_color = "#FF9900" + +/obj/item/integrated_circuit/output/led/yellow + name = "yellow LED" + led_color = "#FFFF00" + +/obj/item/integrated_circuit/output/led/green + name = "green LED" + led_color = "#008000" + +/obj/item/integrated_circuit/output/led/blue + name = "blue LED" + led_color = "#0000FF" + +/obj/item/integrated_circuit/output/led/purple + name = "purple LED" + led_color = "#800080" + +/obj/item/integrated_circuit/output/led/cyan + name = "cyan LED" + led_color = "#00FFFF" + +/obj/item/integrated_circuit/output/led/white + name = "white LED" + led_color = "#FFFFFF" + +/obj/item/integrated_circuit/output/led/pink + name = "pink LED" + led_color = "#FF00FF" diff --git a/code/modules/integrated_electronics/subtypes/power.dm b/code/modules/integrated_electronics/subtypes/power.dm new file mode 100644 index 0000000000..cd58ac8904 --- /dev/null +++ b/code/modules/integrated_electronics/subtypes/power.dm @@ -0,0 +1,79 @@ +/obj/item/integrated_circuit/power/ + category_text = "Power - Active" + +/obj/item/integrated_circuit/power/transmitter + name = "power transmission circuit" + desc = "This can wirelessly transmit electricity from an assembly's battery towards a nearby machine." + icon_state = "power_transmitter" + extended_desc = "This circuit transmits 5 kJ of electricity every time the activator pin is pulsed. The input pin must be \ + a reference to a machine to send electricity to. This can be a battery, or anything containing a battery. The machine can exist \ + inside the assembly, or adjacent to it. The power is sourced from the assembly's power cell. If the target is outside of the assembly, \ + some power is lost due to ineffiency." + w_class = WEIGHT_CLASS_SMALL + complexity = 16 + inputs = list("target" = IC_PINTYPE_REF) + outputs = list( + "target cell charge" = IC_PINTYPE_NUMBER, + "target cell max charge" = IC_PINTYPE_NUMBER, + "target cell percentage" = IC_PINTYPE_NUMBER + ) + activators = list("transmit" = IC_PINTYPE_PULSE_IN, "on transmit" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 4, TECH_DATA = 4, TECH_POWER = 4, TECH_MAGNET = 3) + power_draw_per_use = 500 // Inefficency has to come from somewhere. + var/amount_to_move = 5000 + +/obj/item/integrated_circuit/power/transmitter/large + name = "large power transmission circuit" + desc = "This can wirelessly transmit a lot of electricity from an assembly's battery towards a nearby machine. Warning: Do not operate in flammable enviroments." + extended_desc = "This circuit transmits 20 kJ of electricity every time the activator pin is pulsed. The input pin must be \ + a reference to a machine to send electricity to. This can be a battery, or anything containing a battery. The machine can exist \ + inside the assembly, or adjacent to it. The power is sourced from the assembly's power cell. If the target is outside of the assembly, \ + some power is lost due to ineffiency." + w_class = WEIGHT_CLASS_BULKY + complexity = 32 + origin_tech = list(TECH_ENGINEERING = 4, TECH_DATA = 4, TECH_POWER = 6, TECH_MAGNET = 5) + power_draw_per_use = 2000 + amount_to_move = 20000 + +/obj/item/integrated_circuit/power/transmitter/do_work() + + var/atom/movable/AM = get_pin_data_as_type(IC_INPUT, 1, /atom/movable) + if(!AM) + return FALSE + if(!assembly) + return FALSE // Pointless to do everything else if there's no battery to draw from. + var/obj/item/stock_parts/cell/cell = AM.get_cell() + if(cell) + var/transfer_amount = amount_to_move + var/turf/A = get_turf(src) + var/turf/B = get_turf(AM) + if(A.Adjacent(B)) + if(AM.loc != assembly) + transfer_amount *= 0.8 // Losses due to distance. + set_pin_data(IC_OUTPUT, 1, cell.charge) + set_pin_data(IC_OUTPUT, 2, cell.maxcharge) + set_pin_data(IC_OUTPUT, 3, cell.percent()) + activate_pin(2) + push_data() + if(cell.charge == cell.maxcharge) + return FALSE + if(transfer_amount && assembly.draw_power(amount_to_move)) // CELLRATE is already handled in draw_power() + cell.give(transfer_amount * GLOB.CELLRATE) + return TRUE + else + set_pin_data(IC_OUTPUT, 1, null) + set_pin_data(IC_OUTPUT, 2, null) + set_pin_data(IC_OUTPUT, 3, null) + activate_pin(2) + push_data() + return FALSE + +/obj/item/integrated_circuit/power/transmitter/large/do_work() + if(..()) // If the above code succeeds, do this below. + if(prob(20)) + var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread + s.set_up(12, 1, src) + s.start() + visible_message("\The [assembly] makes some sparks!") + return TRUE diff --git a/code/modules/integrated_electronics/subtypes/reagents.dm b/code/modules/integrated_electronics/subtypes/reagents.dm new file mode 100644 index 0000000000..bdea98bae3 --- /dev/null +++ b/code/modules/integrated_electronics/subtypes/reagents.dm @@ -0,0 +1,373 @@ +/obj/item/integrated_circuit/reagent + category_text = "Reagent" + var/volume = 0 + resistance_flags = UNACIDABLE | FIRE_PROOF + origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 2) + +/obj/item/integrated_circuit/reagent/New() + ..() + if(volume) + create_reagents(volume) + +/obj/item/integrated_circuit/reagent/smoke + name = "smoke generator" + desc = "Unlike most electronics, creating smoke is completely intentional." + icon_state = "smoke" + extended_desc = "This smoke generator creates clouds of smoke on command. It can also hold liquids inside, which will go \ + into the smoke clouds when activated. The reagents are consumed when smoke is made." + container_type = OPENCONTAINER_1 + complexity = 20 + cooldown_per_use = 1 SECONDS + inputs = list() + outputs = list("volume used" = IC_PINTYPE_NUMBER,"self reference" = IC_PINTYPE_REF) + activators = list("create smoke" = IC_PINTYPE_PULSE_IN,"on smoked" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 3, TECH_BIO = 3) + volume = 100 + power_draw_per_use = 20 + var/smoke_radius = 5 + var/notified = FALSE + +/obj/item/integrated_circuit/reagent/smoke/on_reagent_change() + //reset warning + notified = FALSE + set_pin_data(IC_OUTPUT, 1, reagents.total_volume) + push_data() + + +/obj/item/integrated_circuit/reagent/smoke/interact(mob/user) + set_pin_data(IC_OUTPUT, 2, WEAKREF(src)) + push_data() + ..() + +/obj/item/integrated_circuit/reagent/smoke/do_work() + var/location = get_turf(src) + var/datum/effect_system/smoke_spread/chem/S = new + S.attach(location) + playsound(location, 'sound/effects/smoke.ogg', 50, 1, -3) + if(S) + S.set_up(reagents, smoke_radius, location, notified) + if(!notified) + //we have now notified + notified = TRUE + S.start() + + if(reagents) + reagents.clear_reagents() + activate_pin(2) + + +/obj/item/integrated_circuit/reagent/injector + name = "integrated hypo-injector" + desc = "This scary looking thing is able to pump liquids into whatever it's pointed at." + icon_state = "injector" + extended_desc = "This autoinjector can push reagents into another container or someone else outside of the machine. The target \ + must be adjacent to the machine, and if it is a person, they cannot be wearing thick clothing. Negative given amount makes injector suck out reagents." + container_type = OPENCONTAINER_1 + complexity = 20 + cooldown_per_use = 6 SECONDS + inputs = list("target" = IC_PINTYPE_REF, "injection amount" = IC_PINTYPE_NUMBER) + inputs_default = list("2" = 5) + outputs = list("volume used" = IC_PINTYPE_NUMBER,"self reference" = IC_PINTYPE_REF) + activators = list("inject" = IC_PINTYPE_PULSE_IN, "on injected" = IC_PINTYPE_PULSE_OUT, "on fail" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + volume = 30 + power_draw_per_use = 15 + var/direction_mode = SYRINGE_INJECT + var/transfer_amount = 10 + var/busy = FALSE + +/obj/item/integrated_circuit/reagent/injector/interact(mob/user) + set_pin_data(IC_OUTPUT, 2, WEAKREF(src)) + push_data() + ..() + + +/obj/item/integrated_circuit/reagent/injector/on_reagent_change() + set_pin_data(IC_OUTPUT, 1, reagents.total_volume) + push_data() + +/obj/item/integrated_circuit/reagent/injector/on_data_written() + var/new_amount = get_pin_data(IC_INPUT, 2) + if(new_amount < 0) + new_amount = -new_amount + direction_mode = SYRINGE_DRAW + else + direction_mode = SYRINGE_INJECT + if(isnum(new_amount)) + new_amount = Clamp(new_amount, 0, volume) + transfer_amount = new_amount + +/obj/item/integrated_circuit/reagent/proc/inject_tray(var/obj/machinery/hydroponics/H,var/atom/movable/SO,var/A) + var/datum/reagents/S = new /datum/reagents() //This is a strange way, but I don't know of a better one so I can't fix it at the moment... + S.my_atom = H + SO.reagents.trans_to(S,A) + H.applyChemicals(S) + S.clear_reagents() + qdel(S) + +/obj/item/integrated_circuit/reagent/injector/do_work() + set waitfor = FALSE // Don't sleep in a proc that is called by a processor without this set, otherwise it'll delay the entire thing + var/atom/movable/AM = get_pin_data_as_type(IC_INPUT, 1, /atom/movable) + if(!istype(AM)||!Adjacent(AM)||busy) + activate_pin(3) + return + if(istype(AM,/obj/machinery/hydroponics)&&(direction_mode==SYRINGE_INJECT)&&(reagents.total_volume))//injection into tray. + inject_tray(AM,src,transfer_amount) + activate_pin(2) + return + if(!AM.reagents) + activate_pin(3) + return + if(direction_mode == SYRINGE_INJECT) + if(!reagents.total_volume) // Empty + activate_pin(3) + return + if(AM.is_injectable()) + if(AM.reagents.total_volume>=AM.reagents.maximum_volume) + activate_pin(3) + return + if(isliving(AM)) + var/mob/living/L = AM + if(!L.can_inject(null, 0)) + activate_pin(3) + return + //Always log attemped injections for admins + var/list/rinject = list() + for(var/datum/reagent/R in reagents.reagent_list) + rinject += R.name + var/contained = english_list(rinject) + add_logs(src, L, "attemped to inject", addition="which had [contained]") //TODO: proper logging (maybe last touched and assembled) + L.visible_message("[src] is trying to inject [L]!", \ + "[src] is trying to inject you!") + busy = TRUE + if(do_atom(src, L, extra_checks=CALLBACK(L, /mob/living/proc/can_inject,null,0))) + var/fraction = min(transfer_amount/reagents.total_volume, 1) + reagents.reaction(L, INJECT, fraction) + reagents.trans_to(L, transfer_amount) + L.visible_message("[src] injects [L] with its needle!", \ + "[src] injects you with its needle!") + else + busy = FALSE + activate_pin(3) + return + busy = FALSE + else + reagents.trans_to(AM, transfer_amount) + else + activate_pin(3) + return + else + if(reagents.total_volume >= reagents.maximum_volume) // Full + activate_pin(3) + return + var/tramount = Clamp(min(transfer_amount, reagents.maximum_volume - reagents.total_volume), 0, reagents.maximum_volume) + if(isliving(AM)) + var/mob/living/L = AM + L.visible_message("[src] is trying to take a blood sample from [L]!", \ + "[src] is trying to take a blood sample from you!") + busy = TRUE + if(do_atom(src, L, extra_checks=CALLBACK(L, /mob/living/proc/can_inject,null,0))) + if(L.transfer_blood_to(src, tramount)) + L.visible_message("[src] takes a blood sample from [L].") + else + busy = FALSE + activate_pin(3) + return + busy = FALSE + else + if(!AM.reagents.total_volume || !AM.is_drawable()) + activate_pin(3) + return + AM.reagents.trans_to(src, tramount) + activate_pin(2) + + + + +/obj/item/integrated_circuit/reagent/pump + name = "reagent pump" + desc = "Moves liquids safely inside a machine, or even nearby it." + icon_state = "reagent_pump" + extended_desc = "This is a pump, which will move liquids from the source ref to the target ref. The third pin determines \ + how much liquid is moved per pulse, between 0 and 50. The pump can move reagents to any open container inside the machine, or \ + outside the machine if it is next to the machine. Note that this cannot be used on entities." + container_type = OPENCONTAINER_1 + complexity = 8 + inputs = list("source" = IC_PINTYPE_REF, "target" = IC_PINTYPE_REF, "injection amount" = IC_PINTYPE_NUMBER) + inputs_default = list("3" = 5) + outputs = list() + activators = list("transfer reagents" = IC_PINTYPE_PULSE_IN, "on transfer" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 2) + var/transfer_amount = 10 + var/direction_mode = SYRINGE_INJECT + power_draw_per_use = 10 + +/obj/item/integrated_circuit/reagent/pump/on_data_written() + var/new_amount = get_pin_data(IC_INPUT, 3) + if(new_amount < 0) + new_amount = -new_amount + direction_mode = SYRINGE_DRAW + else + direction_mode = SYRINGE_INJECT + if(isnum(new_amount)) + new_amount = Clamp(new_amount, 0, 50) + transfer_amount = new_amount + +/obj/item/integrated_circuit/reagent/pump/do_work() + var/atom/movable/source = get_pin_data_as_type(IC_INPUT, 1, /atom/movable) + var/atom/movable/target = get_pin_data_as_type(IC_INPUT, 2, /atom/movable) + + if(!istype(source) || !istype(target) || !source.reagents) //Invalid input + return + if(Adjacent(source) && Adjacent(target)) + if(istype(target,/obj/machinery/hydroponics)&&(source.reagents.total_volume))//injection into tray. + inject_tray(target,source,transfer_amount) + activate_pin(2) + return + + if(!target.reagents) + return + if(ismob(source) || ismob(target)) + return + if(!source.is_open_container() || !target.is_open_container()) + return + if(direction_mode) + if(target.reagents.maximum_volume - target.reagents.total_volume <= 0) //full + return + source.reagents.trans_to(target, transfer_amount) + else + if(source.reagents.maximum_volume - source.reagents.total_volume <= 0) + return + target.reagents.trans_to(source, transfer_amount) + activate_pin(2) + +/obj/item/integrated_circuit/reagent/storage + name = "reagent storage" + desc = "Stores liquid inside, and away from electrical components. Can store up to 60u." + icon_state = "reagent_storage" + extended_desc = "This is effectively an internal beaker." + container_type = OPENCONTAINER_1 + complexity = 4 + inputs = list() + outputs = list("volume used" = IC_PINTYPE_NUMBER,"self reference" = IC_PINTYPE_REF) + activators = list() + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 2) + volume = 60 + + +/obj/item/integrated_circuit/reagent/storage/interact(mob/user) + set_pin_data(IC_OUTPUT, 2, WEAKREF(src)) + push_data() + ..() + +/obj/item/integrated_circuit/reagent/storage/on_reagent_change() + set_pin_data(IC_OUTPUT, 1, reagents.total_volume) + push_data() + +/obj/item/integrated_circuit/reagent/storage/cryo + name = "cryo reagent storage" + desc = "Stores liquid inside, and away from electrical components. Can store up to 60u. This will also suppress reactions." + icon_state = "reagent_storage_cryo" + extended_desc = "This is effectively an internal cryo beaker." + container_type = OPENCONTAINER_1 + complexity = 8 + spawn_flags = IC_SPAWN_RESEARCH + origin_tech = list(TECH_MATERIALS = 4, TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 2) + +/obj/item/integrated_circuit/reagent/storage/cryo/New() + . = ..() + reagents.set_reacting(FALSE) + +/obj/item/integrated_circuit/reagent/storage/big + name = "big reagent storage" + desc = "Stores liquid inside, and away from electrical components. Can store up to 180u." + icon_state = "reagent_storage_big" + extended_desc = "This is effectively an internal beaker." + container_type = OPENCONTAINER_1 + complexity = 16 + volume = 180 + spawn_flags = IC_SPAWN_RESEARCH + origin_tech = list(TECH_MATERIALS = 3, TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 2) + +/obj/item/integrated_circuit/reagent/storage/scan + name = "reagent scanner" + desc = "Stores liquid inside, and away from electrical components. Can store up to 60u. On pulse this beaker will send list of contained reagents." + icon_state = "reagent_scan" + extended_desc = "Mostly useful for reagent filter." + container_type = OPENCONTAINER_1 + complexity = 8 + outputs = list("volume used" = IC_PINTYPE_NUMBER,"self reference" = IC_PINTYPE_REF,"list of reagents" = IC_PINTYPE_LIST) + activators = list("scan" = IC_PINTYPE_PULSE_IN) + spawn_flags = IC_SPAWN_RESEARCH + origin_tech = list(TECH_MATERIALS = 3, TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 2) + +/obj/item/integrated_circuit/reagent/storage/scan/do_work() + var/cont[0] + for(var/datum/reagent/RE in reagents.reagent_list) + cont += RE.id + set_pin_data(IC_OUTPUT, 3, cont) + push_data() + + +/obj/item/integrated_circuit/reagent/filter + name = "reagent filter" + desc = "Filtering liquids by list of desired or unwanted reagents." + icon_state = "reagent_filter" + extended_desc = "This is a filter, which will move liquids from the source ref to the target ref. \ + It will move all reagents, except list, given in fourth pin if amount value is positive.\ + Or it will move only desired reagents if amount is negative, The third pin determines \ + how much reagent is moved per pulse, between 0 and 50. Amount is given for each separate reagent." + container_type = OPENCONTAINER_1 + complexity = 8 + inputs = list("source" = IC_PINTYPE_REF, "target" = IC_PINTYPE_REF, "injection amount" = IC_PINTYPE_NUMBER, "list of reagents" = IC_PINTYPE_LIST) + inputs_default = list("3" = 5) + outputs = list() + activators = list("transfer reagents" = IC_PINTYPE_PULSE_IN, "on transfer" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 2) + var/transfer_amount = 10 + var/direction_mode = SYRINGE_INJECT + power_draw_per_use = 10 + +/obj/item/integrated_circuit/reagent/filter/on_data_written() + var/new_amount = get_pin_data(IC_INPUT, 3) + if(new_amount < 0) + new_amount = -new_amount + direction_mode = SYRINGE_DRAW + else + direction_mode = SYRINGE_INJECT + if(isnum(new_amount)) + new_amount = Clamp(new_amount, 0, 50) + transfer_amount = new_amount + +/obj/item/integrated_circuit/reagent/filter/do_work() + var/atom/movable/source = get_pin_data_as_type(IC_INPUT, 1, /atom/movable) + var/atom/movable/target = get_pin_data_as_type(IC_INPUT, 2, /atom/movable) + var/list/demand = get_pin_data(IC_INPUT, 4) + if(!istype(source) || !istype(target)) //Invalid input + return + var/turf/T = get_turf(src) + if(source.Adjacent(T) && target.Adjacent(T)) + if(!source.reagents || !target.reagents) + return + if(ismob(source) || ismob(target)) + return + if(!source.is_open_container() || !target.is_open_container()) + return + if(target.reagents.maximum_volume - target.reagents.total_volume <= 0) + return + for(var/datum/reagent/G in source.reagents.reagent_list) + if (!direction_mode) + if(G.id in demand) + source.reagents.trans_id_to(target, G.id, transfer_amount) + else + if(!(G.id in demand)) + source.reagents.trans_id_to(target, G.id, transfer_amount) + activate_pin(2) + push_data() + + + diff --git a/code/modules/integrated_electronics/subtypes/smart.dm b/code/modules/integrated_electronics/subtypes/smart.dm new file mode 100644 index 0000000000..1c0dc470b4 --- /dev/null +++ b/code/modules/integrated_electronics/subtypes/smart.dm @@ -0,0 +1,33 @@ +/obj/item/integrated_circuit/smart + category_text = "Smart" + +/obj/item/integrated_circuit/smart/basic_pathfinder + name = "basic pathfinder" + desc = "This complex circuit is able to determine what direction a given target is." + extended_desc = "This circuit uses a miniturized, integrated camera to determine where the target is. If the machine \ + cannot see the target, it will not be able to calculate the correct direction." + icon_state = "numberpad" + complexity = 25 + inputs = list("target" = IC_PINTYPE_REF) + outputs = list("dir" = IC_PINTYPE_DIR) + activators = list("calculate dir" = IC_PINTYPE_PULSE_IN, "on calculated" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 4, TECH_DATA = 5) + power_draw_per_use = 40 + +/obj/item/integrated_circuit/smart/basic_pathfinder/do_work() + var/datum/integrated_io/I = inputs[1] + set_pin_data(IC_OUTPUT, 1, null) + + if(!isweakref(I.data)) + return + var/atom/A = I.data.resolve() + if(!A) + return + if(!(A in view(get_turf(src)))) + push_data() + return // Can't see the target. + + set_pin_data(IC_OUTPUT, 1, get_dir(get_turf(src), get_turf(A))) + push_data() + activate_pin(2) diff --git a/code/modules/integrated_electronics/subtypes/time.dm b/code/modules/integrated_electronics/subtypes/time.dm new file mode 100644 index 0000000000..57fc16ccf9 --- /dev/null +++ b/code/modules/integrated_electronics/subtypes/time.dm @@ -0,0 +1,145 @@ +/obj/item/integrated_circuit/time + name = "time circuit" + desc = "Now you can build your own clock!" + complexity = 2 + inputs = list() + outputs = list() + category_text = "Time" + +/obj/item/integrated_circuit/time/delay + name = "two-sec delay circuit" + desc = "This sends a pulse signal out after a delay, critical for ensuring proper control flow in a complex machine. \ + This circuit is set to send a pulse after a delay of two seconds." + icon_state = "delay-20" + var/delay = 20 + activators = list("incoming"= IC_PINTYPE_PULSE_IN,"outgoing" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 2 + +/obj/item/integrated_circuit/time/delay/do_work() + addtimer(CALLBACK(src, .proc/activate_pin, 2), delay) + +/obj/item/integrated_circuit/time/delay/five_sec + name = "five-sec delay circuit" + desc = "This sends a pulse signal out after a delay, critical for ensuring proper control flow in a complex machine. \ + This circuit is set to send a pulse after a delay of five seconds." + icon_state = "delay-50" + delay = 50 + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/time/delay/one_sec + name = "one-sec delay circuit" + desc = "This sends a pulse signal out after a delay, critical for ensuring proper control flow in a complex machine. \ + This circuit is set to send a pulse after a delay of one second." + icon_state = "delay-10" + delay = 10 + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/time/delay/half_sec + name = "half-sec delay circuit" + desc = "This sends a pulse signal out after a delay, critical for ensuring proper control flow in a complex machine. \ + This circuit is set to send a pulse after a delay of half a second." + icon_state = "delay-5" + delay = 5 + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/time/delay/tenth_sec + name = "tenth-sec delay circuit" + desc = "This sends a pulse signal out after a delay, critical for ensuring proper control flow in a complex machine. \ + This circuit is set to send a pulse after a delay of 1/10th of a second." + icon_state = "delay-1" + delay = 1 + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/time/delay/custom + name = "custom delay circuit" + desc = "This sends a pulse signal out after a delay, critical for ensuring proper control flow in a complex machine. \ + This circuit's delay can be customized, between 1/10th of a second to one hour. The delay is updated upon receiving a pulse." + icon_state = "delay" + inputs = list("delay time" = IC_PINTYPE_NUMBER) + spawn_flags = IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/time/delay/custom/do_work() + var/delay_input = get_pin_data(IC_INPUT, 1) + if(delay_input && isnum(delay_input) ) + var/new_delay = Clamp(delay_input ,1 ,36000) //An hour. + delay = new_delay + + ..() + +/obj/item/integrated_circuit/time/ticker + name = "ticker circuit" + desc = "This circuit sends an automatic pulse every four seconds." + icon_state = "tick-m" + complexity = 8 + var/delay = 4 SECONDS + var/next_fire = 0 + var/is_running = FALSE + inputs = list("enable ticking" = IC_PINTYPE_BOOLEAN) + activators = list("outgoing pulse" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_RESEARCH + power_draw_per_use = 4 + +/obj/item/integrated_circuit/time/ticker/Destroy() + if(is_running) + STOP_PROCESSING(SSfastprocess, src) + return ..() + +/obj/item/integrated_circuit/time/ticker/on_data_written() + var/do_tick = get_pin_data(IC_INPUT, 1) + if(do_tick && !is_running) + is_running = TRUE + tick() + else if(is_running) + is_running = FALSE + + +/obj/item/integrated_circuit/time/ticker/proc/tick() + if(is_running) + addtimer(CALLBACK(src, .proc/tick), delay) + if(world.time > next_fire) + next_fire = world.time + delay + activate_pin(1) + + +/obj/item/integrated_circuit/time/ticker/fast + name = "fast ticker" + desc = "This advanced circuit sends an automatic pulse every two seconds." + icon_state = "tick-f" + complexity = 12 + delay = 2 SECONDS + spawn_flags = IC_SPAWN_RESEARCH + power_draw_per_use = 8 + +/obj/item/integrated_circuit/time/ticker/slow + name = "slow ticker" + desc = "This simple circuit sends an automatic pulse every six seconds." + icon_state = "tick-s" + complexity = 4 + delay = 6 SECONDS + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 2 + +/obj/item/integrated_circuit/time/clock + name = "integrated clock" + desc = "Tells you what the local time is, specific to your station or planet." + icon_state = "clock" + inputs = list() + outputs = list( + "time" = IC_PINTYPE_STRING, + "hours" = IC_PINTYPE_NUMBER, + "minutes" = IC_PINTYPE_NUMBER, + "seconds" = IC_PINTYPE_NUMBER + ) + activators = list("get time" = IC_PINTYPE_PULSE_IN, "on time got" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + power_draw_per_use = 4 + +/obj/item/integrated_circuit/time/clock/do_work() + var/wtime = world.time + set_pin_data(IC_OUTPUT, 1, time2text(wtime, "hh:mm:ss") ) + set_pin_data(IC_OUTPUT, 2, text2num(time2text(wtime, "hh") ) ) + set_pin_data(IC_OUTPUT, 3, text2num(time2text(wtime, "mm") ) ) + set_pin_data(IC_OUTPUT, 4, text2num(time2text(wtime, "ss") ) ) + push_data() + activate_pin(2) \ No newline at end of file diff --git a/code/modules/integrated_electronics/subtypes/trig.dm b/code/modules/integrated_electronics/subtypes/trig.dm new file mode 100644 index 0000000000..1d7f660bd4 --- /dev/null +++ b/code/modules/integrated_electronics/subtypes/trig.dm @@ -0,0 +1,138 @@ +//These circuits do not-so-simple math. +/obj/item/integrated_circuit/trig + complexity = 1 + inputs = list( + "A" = IC_PINTYPE_NUMBER, + "B" = IC_PINTYPE_NUMBER, + "C" = IC_PINTYPE_NUMBER, + "D" = IC_PINTYPE_NUMBER, + "E" = IC_PINTYPE_NUMBER, + "F" = IC_PINTYPE_NUMBER, + "G" = IC_PINTYPE_NUMBER, + "H" = IC_PINTYPE_NUMBER + ) + outputs = list("result" = IC_PINTYPE_NUMBER) + activators = list("compute" = IC_PINTYPE_PULSE_IN, "on computed" = IC_PINTYPE_PULSE_OUT) + category_text = "Trig" + extended_desc = "Input and output are in degrees." + power_draw_per_use = 1 // Still cheap math. + +// Sine // + +/obj/item/integrated_circuit/trig/sine + name = "sin circuit" + desc = "Only evil if you're allergic to math. Takes a degree and outputs the sine of said degree." + icon_state = "sine" + inputs = list("A" = IC_PINTYPE_NUMBER) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/trig/sine/do_work() + pull_data() + var/result = null + var/A = get_pin_data(IC_INPUT, 1) + if(!isnull(A)) + result = sin(A) + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +// Cosine // + +/obj/item/integrated_circuit/trig/cosine + name = "cos circuit" + desc = "Takes a degree and outputs the cosine of said degree." + icon_state = "cosine" + inputs = list("A" = IC_PINTYPE_NUMBER) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/trig/cosine/do_work() + pull_data() + var/result = null + var/A = get_pin_data(IC_INPUT, 1) + if(!isnull(A)) + result = cos(A) + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +// Tangent // + +/obj/item/integrated_circuit/trig/tangent + name = "tan circuit" + desc = "Takes a degree and outputs the tangent of said degree." + icon_state = "tangent" + inputs = list("A" = IC_PINTYPE_NUMBER) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/trig/tangent/do_work() + pull_data() + var/result = null + var/A = get_pin_data(IC_INPUT, 1) + if(!isnull(A)) + result = Tan(A) + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +// Cosecant // + +/obj/item/integrated_circuit/trig/cosecant + name = "cosecant (CSC) circuit" + desc = "Takes a degree and outputs the cosecant of said degree." + icon_state = "cosecant" + inputs = list("A" = IC_PINTYPE_NUMBER) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/trig/cosecant/do_work() + pull_data() + var/result = null + var/A = get_pin_data(IC_INPUT, 1) + if(!isnull(A)) + result = Csc(A) + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +// Secant // + +/obj/item/integrated_circuit/trig/secant + name = "secant (SEC) circuit" + desc = "Takes a degree and outputs the secant of said degree." + icon_state = "secant" + inputs = list("A" = IC_PINTYPE_NUMBER) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/trig/secant/do_work() + pull_data() + var/result = null + var/A = get_pin_data(IC_INPUT, 1) + if(!isnull(A)) + result = Sec(A) + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) + +// Cotangent // + +/obj/item/integrated_circuit/trig/cotangent + name = "cotangent (COT) circuit" + desc = "Takes a degree and outputs the cotangent of said degree." + icon_state = "cotangent" + inputs = list("A" = IC_PINTYPE_NUMBER) + spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + +/obj/item/integrated_circuit/trig/cotangent/do_work() + pull_data() + var/result = null + var/A = get_pin_data(IC_INPUT, 1) + if(!isnull(A)) + result = Cot(A) + + set_pin_data(IC_OUTPUT, 1, result) + push_data() + activate_pin(2) diff --git a/code/modules/jobs/job_types/civilian_chaplain.dm b/code/modules/jobs/job_types/civilian_chaplain.dm index 61b095ef47..a1a2193026 100644 --- a/code/modules/jobs/job_types/civilian_chaplain.dm +++ b/code/modules/jobs/job_types/civilian_chaplain.dm @@ -33,7 +33,7 @@ Chaplain H.equip_to_slot_or_del(B, slot_in_backpack) var/nrt = SSreligion.holy_weapon_type || /obj/item/nullrod var/obj/item/nullrod/N = new nrt(H) - H.equip_to_slot_or_del(N, slot_in_backpack) + H.put_in_hands(N) return var/new_religion = "Christianity" diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index 081ecdcdaa..fb55a0565b 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -39,10 +39,10 @@ switch(screenstate) if(0) dat += "

    Search Settings


    " - dat += "Filter by Title: [title]
    " - dat += "Filter by Category: [category]
    " - dat += "Filter by Author: [author]
    " - dat += "\[Start Search\]
    " + dat += "Filter by Title: [title]
    " + dat += "Filter by Category: [category]
    " + dat += "Filter by Author: [author]
    " + dat += "\[Start Search\]
    " if(1) if (!SSdbcore.Connect()) dat += "ERROR: Unable to contact External Archive. Please contact your system administrator for assistance.
    " @@ -62,7 +62,7 @@ var/id = query_library_list_books.item[4] dat += "[author][title][category][id]" dat += "
    " - dat += "\[Go Back\]
    " + dat += "\[Go Back\]
    " var/datum/browser/popup = new(user, "publiclibrary", name, 600, 400) popup.set_content(dat) popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) @@ -193,7 +193,7 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums if (libcomp_menu.len < page) libcomp_menu.len = page libcomp_menu[page] = "" - libcomp_menu[page] += "[C.author][C.title][C.category]\[Order\]\n" + libcomp_menu[page] += "[C.author][C.title][C.category]\[Order\]\n" /obj/machinery/computer/libraryconsole/bookmanagement/Initialize() . = ..() @@ -207,15 +207,15 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums switch(screenstate) if(0) // Main Menu - dat += "1. View General Inventory
    " - dat += "2. View Checked Out Inventory
    " - dat += "3. Check out a Book
    " - dat += "4. Connect to External Archive
    " - dat += "5. Upload New Title to Archive
    " - dat += "6. Upload Scanned Title to Newscaster
    " - dat += "7. Print Corporate Materials
    " + dat += "1. View General Inventory
    " + dat += "2. View Checked Out Inventory
    " + dat += "3. Check out a Book
    " + dat += "4. Connect to External Archive
    " + dat += "5. Upload New Title to Archive
    " + dat += "6. Upload Scanned Title to Newscaster
    " + dat += "7. Print Corporate Materials
    " if(src.emagged) - dat += "8. Access the Forbidden Lore Vault
    " + dat += "8. Access the Forbidden Lore Vault
    " if(src.arcanecheckout) print_forbidden_lore(user) src.arcanecheckout = 0 @@ -223,8 +223,8 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums // Inventory dat += "

    Inventory


    " for(var/obj/item/book/b in inventory) - dat += "[b.name] (Delete)
    " - dat += "(Return to main menu)
    " + dat += "[b.name] (Delete)
    " + dat += "(Return to main menu)
    " if(2) // Checked Out dat += "

    Checked Out Books


    " @@ -241,20 +241,20 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums else timedue = round(timedue) dat += "\"[b.bookname]\", Checked out to: [b.mobname]
    --- Taken: [timetaken] minutes ago, Due: in [timedue] minutes
    " - dat += "(Check In)

    " - dat += "(Return to main menu)
    " + dat += "(Check In)

    " + dat += "(Return to main menu)
    " if(3) // Check Out a Book dat += "

    Check Out a Book


    " dat += "Book: [src.buffer_book] " - dat += "\[Edit\]
    " + dat += "\[Edit\]
    " dat += "Recipient: [src.buffer_mob] " - dat += "\[Edit\]
    " + dat += "\[Edit\]
    " dat += "Checkout Date : [world.time/600]
    " dat += "Due Date: [(world.time + checkoutperiod)/600]
    " - dat += "(Checkout Period: [checkoutperiod] minutes) (+/-)" - dat += "(Commit Entry)
    " - dat += "(Return to main menu)
    " + dat += "(Checkout Period: [checkoutperiod] minutes) (+/-)" + dat += "(Commit Entry)
    " + dat += "(Return to main menu)
    " if(4) dat += "

    External Archive

    " build_library_menu() @@ -262,13 +262,13 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums if(!GLOB.cachedbooks) dat += "ERROR: Unable to contact External Archive. Please contact your system administrator for assistance." else - dat += "(Order book by SS13BN)

    " + dat += "(Order book by SS13BN)

    " dat += "" dat += "" dat += libcomp_menu[Clamp(page,1,libcomp_menu.len)] - dat += "" + dat += "" dat += "
    AUTHORTITLECATEGORY
    <<<< >>>>
    <<<< >>>>
    " - dat += "
    (Return to main menu)
    " + dat += "
    (Return to main menu)
    " if(5) dat += "

    Upload a New Title

    " if(!scanner) @@ -282,10 +282,10 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums dat += "Title: [scanner.cache.name]
    " if(!scanner.cache.author) scanner.cache.author = "Anonymous" - dat += "Author: [scanner.cache.author]
    " - dat += "Category: [upload_category]
    " - dat += "\[Upload\]
    " - dat += "(Return to main menu)
    " + dat += "Author: [scanner.cache.author]
    " + dat += "Category: [upload_category]
    " + dat += "\[Upload\]
    " + dat += "(Return to main menu)
    " if(6) dat += "

    Post Title to Newscaster

    " if(!scanner) @@ -296,19 +296,19 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums dat += "No data found in scanner memory.
    " else dat += "Post [scanner.cache.name] to station newscasters?" - dat += "\[Post\]
    " - dat += "(Return to main menu)
    " + dat += "\[Post\]
    " + dat += "(Return to main menu)
    " if(7) dat += "

    NTGanda(tm) Universal Printing Module

    " dat += "What would you like to print?
    " - dat += "\[Bible\]
    " - dat += "\[Poster\]
    " - dat += "(Return to main menu)
    " + dat += "\[Bible\]
    " + dat += "\[Poster\]
    " + dat += "(Return to main menu)
    " if(8) dat += "

    Accessing Forbidden Lore Vault v 1.3

    " dat += "Are you absolutely sure you want to proceed? EldritchTomes Inc. takes no responsibilities for loss of sanity resulting from this action.

    " - dat += "Yes.
    " - dat += "No.
    " + dat += "Yes.
    " + dat += "No.
    " var/datum/browser/popup = new(user, "library", name, 600, 400) popup.set_content(dat) @@ -519,9 +519,9 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums dat += "Data stored in memory.
    " else dat += "No data stored in memory.
    " - dat += "\[Scan\]" + dat += "\[Scan\]" if(cache) - dat += " \[Clear Memory\]

    \[Remove Book\]" + dat += " \[Clear Memory\]

    \[Remove Book\]" else dat += "
    " var/datum/browser/popup = new(user, "scanner", name, 600, 400) diff --git a/code/modules/mapping/map_template.dm b/code/modules/mapping/map_template.dm index 382237e5c3..910cc6fe60 100644 --- a/code/modules/mapping/map_template.dm +++ b/code/modules/mapping/map_template.dm @@ -74,7 +74,7 @@ if(T.y+height > world.maxy) return - var/list/bounds = maploader.load_map(file(mappath), T.x, T.y, T.z, cropMap=TRUE) + var/list/bounds = maploader.load_map(file(mappath), T.x, T.y, T.z, cropMap=TRUE, no_changeturf=(SSatoms.initialized == INITIALIZATION_INSSATOMS)) if(!bounds) return diff --git a/code/modules/mining/aux_base.dm b/code/modules/mining/aux_base.dm index cd6104607f..8cf6c56037 100644 --- a/code/modules/mining/aux_base.dm +++ b/code/modules/mining/aux_base.dm @@ -46,11 +46,11 @@ interface with the mining shuttle at the landing site if a mobile beacon is also if(!M.check_dock(S)) continue destination_found = 1 - dat += "Send to [S.name]
    " + dat += "Send to [S.name]
    " if(!destination_found && (z in GLOB.station_z_levels)) //Only available if miners are lazy and did not set an LZ using the remote. - dat += "Prepare for blind drop? (Dangerous)
    " + dat += "Prepare for blind drop? (Dangerous)
    " if(LAZYLEN(turrets)) - dat += "
    Perimeter Defense System: Enable All / Disable All
    \ + dat += "
    Perimeter Defense System: Enable All / Disable All
    \ Units connected: [LAZYLEN(turrets)]
    \ Unit | Condition | Status | Direction | Distance
    " for(var/PDT in turrets) @@ -65,10 +65,10 @@ interface with the mining shuttle at the landing site if a mobile beacon is also status = "Firing" else status = "All Clear" - dat += "[T.name] | [integrity]% | [status] | [dir2text(get_dir(src, T))] | [get_dist(src, T)]m Toggle Power
    " + dat += "[T.name] | [integrity]% | [status] | [dir2text(get_dir(src, T))] | [get_dist(src, T)]m Toggle Power
    " - dat += "Close" + dat += "Close" var/datum/browser/popup = new(user, "computer", "base management", 550, 300) //width, height popup.set_content("

    [dat]
    ") @@ -154,7 +154,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also var/area/A = get_area(T) var/obj/docking_port/stationary/landing_zone = new /obj/docking_port/stationary(T) - landing_zone.id = "colony_drop(\ref[src])" + landing_zone.id = "colony_drop([REF(src)])" landing_zone.name = "Landing Zone ([T.x], [T.y])" landing_zone.dwidth = base_dock.dwidth landing_zone.dheight = base_dock.dheight @@ -319,6 +319,11 @@ obj/docking_port/stationary/public_mining_dock return for(var/L in landing_turfs) //You land NEAR the base, not IN it. + if(!L) //This happens at map edges + to_chat(user, "Unable to secure a valid docking zone. Please try again in an open area near, but not within the aux. mining base.") + SSshuttle.stationary.Remove(Mport) + qdel(Mport) + return if(istype(get_area(L), /area/shuttle/auxillary_base)) to_chat(user, "The mining shuttle must not land within the mining base itself.") SSshuttle.stationary.Remove(Mport) diff --git a/code/modules/mining/equipment/lazarus_injector.dm b/code/modules/mining/equipment/lazarus_injector.dm index 59b0a02788..e56e8060bf 100644 --- a/code/modules/mining/equipment/lazarus_injector.dm +++ b/code/modules/mining/equipment/lazarus_injector.dm @@ -31,7 +31,7 @@ if(ishostile(target)) var/mob/living/simple_animal/hostile/H = M if(malfunctioning) - H.faction |= list("lazarus", "\ref[user]") + H.faction |= list("lazarus", "[REF(user)]") H.robust_searching = 1 H.friends += user H.attack_same = 1 diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 4d3dc5db37..afdcc1339c 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -749,7 +749,7 @@ to_chat(user, "You call out for aid, attempting to summon spirits to your side.") notify_ghosts("[user] is raising [user.p_their()] [src], calling for your help!", - enter_link="(Click to help)", + enter_link="(Click to help)", source = user, action=NOTIFY_ORBIT) summon_cooldown = world.time + 600 diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm index 75c0f94ac4..276c030175 100644 --- a/code/modules/mining/machine_processing.dm +++ b/code/modules/mining/machine_processing.dm @@ -10,7 +10,7 @@ anchored = TRUE var/obj/machinery/mineral/processing_unit/machine = null var/machinedir = EAST - speed_process = 1 + speed_process = TRUE /obj/machinery/mineral/processing_unit_console/Initialize() . = ..() @@ -106,7 +106,7 @@ if (selected_material == mat_id) dat += " Smelting" else - dat += " Not Smelting " + dat += " Not Smelting " dat += "
    " dat += "

    " @@ -118,16 +118,16 @@ if (selected_alloy == D.id) dat += " Smelting" else - dat += " Not Smelting " + dat += " Not Smelting " dat += "
    " dat += "

    " //On or off dat += "Machine is currently " if (on) - dat += "On " + dat += "On " else - dat += "Off " + dat += "Off " return dat diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm index 437073a1fc..0b1a988fc2 100644 --- a/code/modules/mining/machine_redemption.dm +++ b/code/modules/mining/machine_redemption.dm @@ -11,7 +11,7 @@ input_dir = NORTH output_dir = SOUTH req_access = list(ACCESS_MINERAL_STOREROOM) - speed_process = 1 + speed_process = TRUE circuit = /obj/item/circuitboard/machine/ore_redemption var/req_access_reclaim = ACCESS_MINING_STATION var/obj/item/card/id/inserted_id diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm index c2bf0849bb..3c7e736105 100644 --- a/code/modules/mining/machine_stacking.dm +++ b/code/modules/mining/machine_stacking.dm @@ -9,7 +9,7 @@ anchored = TRUE var/obj/machinery/mineral/stacking_machine/machine = null var/machinedir = SOUTHEAST - speed_process = 1 + speed_process = TRUE /obj/machinery/mineral/stacking_unit_console/Initialize() . = ..() @@ -29,7 +29,7 @@ for(var/O in machine.stack_list) s = machine.stack_list[O] if(s.amount > 0) - dat += text("[capitalize(s.name)]: [s.amount] Release
    ") + dat += text("[capitalize(s.name)]: [s.amount] Release
    ") dat += text("
    Stacking: [machine.stack_amt]

    ") diff --git a/code/modules/mining/machine_unloading.dm b/code/modules/mining/machine_unloading.dm index 8192b0fc6a..6896a1a805 100644 --- a/code/modules/mining/machine_unloading.dm +++ b/code/modules/mining/machine_unloading.dm @@ -1,32 +1,32 @@ -/**********************Unloading unit**************************/ - - -/obj/machinery/mineral/unloading_machine - name = "unloading machine" - icon = 'icons/obj/machines/mining_machines.dmi' - icon_state = "unloader" +/**********************Unloading unit**************************/ + + +/obj/machinery/mineral/unloading_machine + name = "unloading machine" + icon = 'icons/obj/machines/mining_machines.dmi' + icon_state = "unloader" density = TRUE anchored = TRUE - input_dir = WEST - output_dir = EAST - speed_process = 1 - -/obj/machinery/mineral/unloading_machine/process() - var/turf/T = get_step(src,input_dir) - if(T) - var/limit - for(var/obj/structure/ore_box/B in T) - for (var/obj/item/ore/O in B) - B.contents -= O - unload_mineral(O) - limit++ - if (limit>=10) - return - CHECK_TICK - CHECK_TICK - for(var/obj/item/I in T) - unload_mineral(I) - limit++ - if (limit>=10) - return - CHECK_TICK \ No newline at end of file + input_dir = WEST + output_dir = EAST + speed_process = TRUE + +/obj/machinery/mineral/unloading_machine/process() + var/turf/T = get_step(src,input_dir) + if(T) + var/limit + for(var/obj/structure/ore_box/B in T) + for (var/obj/item/ore/O in B) + B.contents -= O + unload_mineral(O) + limit++ + if (limit>=10) + return + CHECK_TICK + CHECK_TICK + for(var/obj/item/I in T) + unload_mineral(I) + limit++ + if (limit>=10) + return + CHECK_TICK diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index 5a228973ce..cbf7dfd826 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -89,13 +89,13 @@ var/dat dat +="
    " if(istype(inserted_id)) - dat += "You have [inserted_id.mining_points] mining points collected. Eject ID.
    " + dat += "You have [inserted_id.mining_points] mining points collected. Eject ID.
    " else - dat += "No ID inserted. Insert ID.
    " + dat += "No ID inserted. Insert ID.
    " dat += "
    " dat += "
    Equipment point cost list:
    " for(var/datum/data/mining_equipment/prize in prize_list) - dat += "" + dat += "" dat += "
    [prize.equipment_name][prize.cost]Purchase
    [prize.equipment_name][prize.cost]Purchase
    " var/datum/browser/popup = new(user, "miningvendor", "Mining Equipment Vendor", 400, 350) diff --git a/code/modules/mining/mint.dm b/code/modules/mining/mint.dm index 1a4e4c5ed1..fef21757d1 100644 --- a/code/modules/mining/mint.dm +++ b/code/modules/mining/mint.dm @@ -11,7 +11,7 @@ var/processing = FALSE var/chosen = MAT_METAL //which material will be used to make coins var/coinsToProduce = 10 - speed_process = 1 + speed_process = TRUE /obj/machinery/mineral/mint/Initialize() @@ -22,7 +22,7 @@ var/turf/T = get_step(src, input_dir) if(!T) return - + GET_COMPONENT(materials, /datum/component/material_container) for(var/obj/item/stack/sheet/O in T) materials.insert_stack(O, O.amount) @@ -39,20 +39,20 @@ if (chosen == mat_id) dat += "Chosen" else - dat += "Choose" + dat += "Choose" var/datum/material/M = materials.materials[chosen] dat += "

    Will produce [coinsToProduce] [lowertext(M.name)] coins if enough materials are available.
    " - dat += "-10 " - dat += "-5 " - dat += "-1 " - dat += "+1 " - dat += "+5 " - dat += "+10 " + dat += "-10 " + dat += "-5 " + dat += "-1 " + dat += "+1 " + dat += "+5 " + dat += "+10 " dat += "

    In total this machine produced [newCoins] coins." - dat += "
    Make coins" + dat += "
    Make coins" user << browse(dat, "window=mint") /obj/machinery/mineral/mint/Topic(href, href_list) diff --git a/code/modules/mining/satchel_ore_boxdm.dm b/code/modules/mining/satchel_ore_boxdm.dm index 832d55a6a0..4c772a7019 100644 --- a/code/modules/mining/satchel_ore_boxdm.dm +++ b/code/modules/mining/satchel_ore_boxdm.dm @@ -47,7 +47,7 @@ for(var/i in oretypes) var/obj/item/ore/T = locate(i) in contents dat += "[capitalize(T.name)]: [count_by_type(contents, T.type)]
    " - dat += text("

    Empty box") + dat += text("

    Empty box") user << browse(dat, "window=orebox") /obj/structure/ore_box/proc/dump_box_contents() diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 2b2c50ed17..458a54aa48 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -1,4 +1,4 @@ -#define LINKIFY_READY(string, value) "[string]" +#define LINKIFY_READY(string, value) "[string]" /mob/dead/new_player var/ready = 0 @@ -33,7 +33,7 @@ return /mob/dead/new_player/proc/new_player_panel() - var/output = "

    Setup Character

    " + var/output = "

    Setup Character

    " if(SSticker.current_state <= GAME_STATE_PREGAME) switch(ready) @@ -44,8 +44,8 @@ if(PLAYER_READY_TO_OBSERVE) output += "

    \[ [LINKIFY_READY("Ready", PLAYER_READY_TO_PLAY)] | [LINKIFY_READY("Not Ready", PLAYER_NOT_READY)] | Observe \]

    " else - output += "

    View the Crew Manifest

    " - output += "

    Join Game!

    " + output += "

    View the Crew Manifest

    " + output += "

    Join Game!

    " output += "

    [LINKIFY_READY("Observe", PLAYER_READY_TO_OBSERVE)]

    " if(!IsGuestKey(src.key)) @@ -60,9 +60,9 @@ newpoll = 1 if(newpoll) - output += "

    Show Player Polls (NEW!)

    " + output += "

    Show Player Polls (NEW!)

    " else - output += "

    Show Player Polls

    " + output += "

    Show Player Polls

    " output += "
    " @@ -449,12 +449,12 @@ var/position_class = "otherPosition" if (job.title in GLOB.command_positions) position_class = "commandPosition" - dat += "[job.title] ([job.current_positions])
    " + dat += "[job.title] ([job.current_positions])
    " if(!job_count) //if there's nowhere to go, assistant opens up. for(var/datum/job/job in SSjob.occupations) if(job.title != "Assistant") continue - dat += "[job.title] ([job.current_positions])
    " + dat += "[job.title] ([job.current_positions])
    " break dat += "
    " diff --git a/code/modules/mob/dead/new_player/poll.dm b/code/modules/mob/dead/new_player/poll.dm index 2e2f3189fe..d10e32a887 100644 --- a/code/modules/mob/dead/new_player/poll.dm +++ b/code/modules/mob/dead/new_player/poll.dm @@ -14,7 +14,7 @@ while(query_poll_get.NextRow()) var/pollid = query_poll_get.item[1] var/pollquestion = query_poll_get.item[2] - output += "[pollquestion]" + output += "[pollquestion]" i++ output += "" src << browse(output,"window=playerpolllist;size=500x300") @@ -60,8 +60,8 @@ output += "Question: [pollquestion]
    " output += "Poll runs from [pollstarttime] until [pollendtime]

    " if(!votedoptionid) - output += "" - output += "" + output += "" + output += "" output += "" output += "" output += "
    " @@ -92,15 +92,15 @@ output += "Question: [pollquestion]
    " output += "Feedback gathering runs from [pollstarttime] until [pollendtime]

    " if(!vote_text) - output += "" - output += "" + output += "" + output += "" output += "" output += "" output += "Please provide feedback below. You can use any letters of the English alphabet, numbers and the symbols: . , ! ? : ; -
    " output += "" output += "

    " - output += "

    " - output += "" + output += "" + output += "" output += "" output += "" output += "" @@ -123,8 +123,8 @@ rating = query_rating_get_votes.item[2] output += "
    [optiontext] - [rating]" if(!rating) - output += "" - output += "" + output += "" + output += "" output += "" output += "" var/minid = 999999 @@ -188,8 +188,8 @@ output += "Question: [pollquestion]
    You can select up to [multiplechoiceoptions] options. If you select more, the first [multiplechoiceoptions] will be saved.
    " output += "Poll runs from [pollstarttime] until [pollendtime]

    " if(!votedfor.len) - output += "" - output += "" + output += "" + output += "" output += "" output += "" output += "" @@ -300,8 +300,8 @@ Revoting has been enabled on this poll, if you think you made a mistake, simply revote
    Poll runs from [pollstarttime] until [pollendtime]

    - - + + diff --git a/code/modules/mob/dead/new_player/sprite_accessories.dm b/code/modules/mob/dead/new_player/sprite_accessories.dm index bda35bd033..674f44bcd2 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories.dm @@ -240,6 +240,10 @@ name = "Devil Lock" icon_state = "hair_devilock" +/datum/sprite_accessory/hair/drillhairextended + name = "Extended Drill Hair" + icon_state = "hair_drillhairextended" + /datum/sprite_accessory/hair/dreadlocks name = "Dreadlocks" icon_state = "hair_dreads" @@ -476,6 +480,10 @@ name = "Long Hair 2" icon_state = "hair_long2" +/datum/sprite_accessory/hair/long3 + name = "Long Hair 3" + icon_state = "hair_long3" + /datum/sprite_accessory/hair/pixie name = "Pixie Cut" icon_state = "hair_pixie" diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index f6b362e959..ca6b504294 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -31,6 +31,7 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) var/mob/observetarget = null //The target mob that the ghost is observing. Used as a reference in logout() var/ghost_hud_enabled = 1 //did this ghost disable the on-screen HUD? var/data_huds_on = 0 //Are data HUDs currently enabled? + var/health_scan = FALSE //Are health scans currently enabled? var/list/datahuds = list(DATA_HUD_SECURITY_ADVANCED, DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_DIAGNOSTIC) //list of data HUDs shown to ghosts. var/ghost_orbit = GHOST_ORBIT_CIRCLE @@ -330,7 +331,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(message) to_chat(src, "[message]") if(source) - var/obj/screen/alert/A = throw_alert("\ref[source]_notify_cloning", /obj/screen/alert/notify_cloning) + var/obj/screen/alert/A = throw_alert("[REF(source)]_notify_cloning", /obj/screen/alert/notify_cloning) if(A) if(client && client.prefs && client.prefs.UI_style) A.icon = ui_style2icon(client.prefs.UI_style) @@ -342,7 +343,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp A.add_overlay(source) source.layer = old_layer source.plane = old_plane - to_chat(src, "(Click to re-enter)") + to_chat(src, "(Click to re-enter)") if(sound) SEND_SOUND(src, sound(sound)) @@ -457,11 +458,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/max_view = client.prefs.unlock_content ? GHOST_MAX_VIEW_RANGE_MEMBER : GHOST_MAX_VIEW_RANGE_DEFAULT if(client.view == world.view) var/list/views = list() - for(var/i in 1 to max_view) + for(var/i in 7 to max_view) views |= i var/new_view = input("Choose your new view", "Modify view range", 7) as null|anything in views if(new_view) - client.change_view(Clamp(new_view, 1, max_view)) + client.change_view(Clamp(new_view, 7, max_view)) else client.change_view(world.view) @@ -470,7 +471,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set hidden = TRUE var/max_view = client.prefs.unlock_content ? GHOST_MAX_VIEW_RANGE_MEMBER : GHOST_MAX_VIEW_RANGE_DEFAULT if(input) - client.change_view(Clamp(client.view + input, 1, max_view)) + client.change_view(Clamp(client.view + input, 7, max_view)) /mob/dead/observer/verb/boo() set category = "Ghost" @@ -565,7 +566,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set desc= "Take over the body of a mindless creature!" var/list/possessible = list() - for(var/mob/living/L in GLOB.living_mob_list) + for(var/mob/living/L in GLOB.alive_mob_list) if(!(L in GLOB.player_list) && !L.mind) possessible += L @@ -671,6 +672,18 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp to_chat(src, "Data HUDs enabled.") data_huds_on = 1 +/mob/dead/observer/verb/toggle_health_scan() + set name = "Toggle Health Scan" + set desc = "Toggles whether you health-scan living beings on click" + set category = "Ghost" + + if(health_scan) //remove old huds + to_chat(src, "Health scan disabled.") + health_scan = FALSE + else + to_chat(src, "Health scan enabled.") + health_scan = TRUE + /mob/dead/observer/verb/restore_ghost_appearance() set name = "Restore Ghost Character" set desc = "Sets your deadchat name and ghost appearance to your \ diff --git a/code/modules/mob/living/brain/MMI.dm b/code/modules/mob/living/brain/MMI.dm index 83dd63cc74..4cd04a7617 100644 --- a/code/modules/mob/living/brain/MMI.dm +++ b/code/modules/mob/living/brain/MMI.dm @@ -63,7 +63,7 @@ if(!newbrain.damaged_brain) // the brain organ hasn't been beaten to death. brainmob.stat = CONSCIOUS //we manually revive the brain mob GLOB.dead_mob_list -= brainmob - GLOB.living_mob_list += brainmob + GLOB.alive_mob_list += brainmob brainmob.reset_perspective() brain = newbrain @@ -95,7 +95,7 @@ brainmob.stat = DEAD brainmob.emp_damage = 0 brainmob.reset_perspective() //so the brainmob follows the brain organ instead of the mmi. And to update our vision - GLOB.living_mob_list -= brainmob //Get outta here + GLOB.alive_mob_list -= brainmob //Get outta here GLOB.dead_mob_list += brainmob brain.brainmob = brainmob //Set the brain to use the brainmob brainmob = null //Set mmi brainmob var to null diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm index a3642684db..55f0c0b681 100644 --- a/code/modules/mob/living/brain/brain_item.dm +++ b/code/modules/mob/living/brain/brain_item.dm @@ -23,7 +23,7 @@ name = "brain" - if(C.mind && C.mind.changeling && !no_id_transfer) //congrats, you're trapped in a body you don't control + if(C.mind && C.mind.has_antag_datum(/datum/antagonist/changeling) && !no_id_transfer) //congrats, you're trapped in a body you don't control if(brainmob && !(C.stat == DEAD || (C.status_flags & FAKEDEATH))) to_chat(brainmob, "You can't feel your body! You're still just a brain!") loc = C diff --git a/code/modules/mob/living/brain/posibrain.dm b/code/modules/mob/living/brain/posibrain.dm index d158eb9576..3bf0525996 100644 --- a/code/modules/mob/living/brain/posibrain.dm +++ b/code/modules/mob/living/brain/posibrain.dm @@ -37,7 +37,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) /obj/item/device/mmi/posibrain/proc/ping_ghosts(msg, newlymade) if(newlymade || GLOB.posibrain_notify_cooldown <= world.time) - notify_ghosts("[name] [msg] in [get_area(src)]!", ghost_sound = !newlymade ? 'sound/misc/server-ready.ogg':null, enter_link = "(Click to enter)", source = src, action = NOTIFY_ATTACK, flashwindow = FALSE) + notify_ghosts("[name] [msg] in [get_area(src)]!", ghost_sound = !newlymade ? 'sound/effects/ghost2.ogg':null, enter_link = "(Click to enter)", source = src, action = NOTIFY_ATTACK, flashwindow = FALSE) if(!newlymade) GLOB.posibrain_notify_cooldown = world.time + askDelay @@ -126,7 +126,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) brainmob.mind.assigned_role = new_role brainmob.stat = CONSCIOUS GLOB.dead_mob_list -= brainmob - GLOB.living_mob_list += brainmob + GLOB.alive_mob_list += brainmob visible_message(new_mob_message) check_success() diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index 170cf57d95..557137b24d 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -110,11 +110,12 @@ Des: Gives the client of the alien an image on each infected mob. ----------------------------------------*/ /mob/living/carbon/alien/proc/AddInfectionImages() if (client) - for (var/mob/living/C in GLOB.mob_list) - if(C.status_flags & XENO_HOST) - var/obj/item/organ/body_egg/alien_embryo/A = C.getorgan(/obj/item/organ/body_egg/alien_embryo) + for (var/i in GLOB.mob_living_list) + var/mob/living/L = i + if(L.status_flags & XENO_HOST) + var/obj/item/organ/body_egg/alien_embryo/A = L.getorgan(/obj/item/organ/body_egg/alien_embryo) if(A) - var/I = image('icons/mob/alien.dmi', loc = C, icon_state = "infected[A.stage]") + var/I = image('icons/mob/alien.dmi', loc = L, icon_state = "infected[A.stage]") client.images += I return diff --git a/code/modules/mob/living/carbon/alien/humanoid/death.dm b/code/modules/mob/living/carbon/alien/humanoid/death.dm index 0587433b80..5d85ace4a6 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/death.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/death.dm @@ -1,23 +1,23 @@ -/mob/living/carbon/alien/humanoid/death(gibbed) - if(stat == DEAD) - return - - . = ..() - - update_canmove() - update_icons() - status_flags |= CANPUSH - -//When the alien queen dies, all others must pay the price for letting her die. -/mob/living/carbon/alien/humanoid/royal/queen/death(gibbed) - if(stat == DEAD) - return - - for(var/mob/living/carbon/C in GLOB.living_mob_list) - if(C == src) //Make sure not to proc it on ourselves. - continue - var/obj/item/organ/alien/hivenode/node = C.getorgan(/obj/item/organ/alien/hivenode) - if(istype(node)) // just in case someone would ever add a diffirent node to hivenode slot - node.queen_death() - - return ..() \ No newline at end of file +/mob/living/carbon/alien/humanoid/death(gibbed) + if(stat == DEAD) + return + + . = ..() + + update_canmove() + update_icons() + status_flags |= CANPUSH + +//When the alien queen dies, all others must pay the price for letting her die. +/mob/living/carbon/alien/humanoid/royal/queen/death(gibbed) + if(stat == DEAD) + return + + for(var/mob/living/carbon/C in GLOB.alive_mob_list) + if(C == src) //Make sure not to proc it on ourselves. + continue + var/obj/item/organ/alien/hivenode/node = C.getorgan(/obj/item/organ/alien/hivenode) + if(istype(node)) // just in case someone would ever add a diffirent node to hivenode slot + node.queen_death() + + return ..() diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 9d9e327fec..fdca497bc3 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -45,20 +45,20 @@


    "} for(var/i in 1 to held_items.len) var/obj/item/I = get_item_for_held_index(i) - dat += "
    [get_held_index_name(i)]:[(I && !(I.flags_1 & ABSTRACT_1)) ? I : "Empty"]" - dat += "
    Empty Pouches" + dat += "
    [get_held_index_name(i)]:[(I && !(I.flags_1 & ABSTRACT_1)) ? I : "Empty"]" + dat += "
    Empty Pouches" if(handcuffed) - dat += "
    Handcuffed" + dat += "
    Handcuffed" if(legcuffed) - dat += "
    Legcuffed" + dat += "
    Legcuffed" dat += {"
    -
    Close +
    Close "} - user << browse(dat.Join(), "window=mob\ref[src];size=325x500") - onclose(user, "mob\ref[src]") + user << browse(dat.Join(), "window=mob[REF(src)];size=325x500") + onclose(user, "mob[REF(src)]") /mob/living/carbon/alien/humanoid/Topic(href, href_list) @@ -111,7 +111,7 @@ //For alien evolution/promotion/queen finder procs. Checks for an active alien of that type /proc/get_alien_type(var/alienpath) - for(var/mob/living/carbon/alien/humanoid/A in GLOB.living_mob_list) + for(var/mob/living/carbon/alien/humanoid/A in GLOB.alive_mob_list) if(!istype(A, alienpath)) continue if(!A.key || A.stat == DEAD) //Only living aliens with a ckey are valid. diff --git a/code/modules/mob/living/carbon/alien/humanoid/queen.dm b/code/modules/mob/living/carbon/alien/humanoid/queen.dm index 51ab4bdde8..4f79ed7d25 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/queen.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/queen.dm @@ -46,7 +46,7 @@ /mob/living/carbon/alien/humanoid/royal/queen/Initialize() //there should only be one queen - for(var/mob/living/carbon/alien/humanoid/royal/queen/Q in GLOB.living_mob_list) + for(var/mob/living/carbon/alien/humanoid/royal/queen/Q in GLOB.carbon_list) if(Q == src) continue if(Q.stat == DEAD) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 4174b08642..ff815776f5 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -2,9 +2,10 @@ blood_volume = BLOOD_VOLUME_NORMAL /mob/living/carbon/Initialize() + . = ..() create_reagents(1000) update_body_parts() //to update the carbon's new bodyparts appearance - ..() + GLOB.carbon_list += src /mob/living/carbon/Destroy() //This must be done first, so the mob ghosts correctly before DNA etc is nulled @@ -16,6 +17,7 @@ QDEL_LIST(implants) remove_from_all_data_huds() QDEL_NULL(dna) + GLOB.carbon_list -= src /mob/living/carbon/relaymove(mob/user, direction) if(user in src.stomach_contents) @@ -184,30 +186,30 @@
    [name]
    -
    Head: [(head && !(head.flags_1&ABSTRACT_1)) ? head : "Nothing"] -
    Mask: [(wear_mask && !(wear_mask.flags_1&ABSTRACT_1)) ? wear_mask : "Nothing"] -
    Neck: [(wear_neck && !(wear_neck.flags_1&ABSTRACT_1)) ? wear_neck : "Nothing"]"} +
    Head: [(head && !(head.flags_1&ABSTRACT_1)) ? head : "Nothing"] +
    Mask: [(wear_mask && !(wear_mask.flags_1&ABSTRACT_1)) ? wear_mask : "Nothing"] +
    Neck: [(wear_neck && !(wear_neck.flags_1&ABSTRACT_1)) ? wear_neck : "Nothing"]"} for(var/i in 1 to held_items.len) var/obj/item/I = get_item_for_held_index(i) - dat += "
    [get_held_index_name(i)]:
    [(I && !(I.flags_1 & ABSTRACT_1)) ? I : "Nothing"]" + dat += "
    [get_held_index_name(i)]:
    [(I && !(I.flags_1 & ABSTRACT_1)) ? I : "Nothing"]" - dat += "
    Back: [back ? back : "Nothing"]" + dat += "
    Back: [back ? back : "Nothing"]" if(istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/tank)) - dat += "
    [internal ? "Disable Internals" : "Set Internals"]" + dat += "
    [internal ? "Disable Internals" : "Set Internals"]" if(handcuffed) - dat += "
    Handcuffed" + dat += "
    Handcuffed" if(legcuffed) - dat += "
    Legcuffed" + dat += "
    Legcuffed" dat += {"
    -
    Close +
    Close "} - user << browse(dat, "window=mob\ref[src];size=325x500") - onclose(user, "mob\ref[src]") + user << browse(dat, "window=mob[REF(src)];size=325x500") + onclose(user, "mob[REF(src)]") /mob/living/carbon/Topic(href, href_list) ..() @@ -770,7 +772,7 @@ /mob/living/carbon/can_be_revived() . = ..() - if(!getorgan(/obj/item/organ/brain) && (!mind || !mind.changeling)) + if(!getorgan(/obj/item/organ/brain) && (!mind || !mind.has_antag_datum(/datum/antagonist/changeling))) return 0 /mob/living/carbon/harvest(mob/living/user) @@ -843,7 +845,7 @@ /mob/living/carbon/vv_get_dropdown() . = ..() . += "---" - .["Make AI"] = "?_src_=vars;[HrefToken()];makeai=\ref[src]" - .["Modify bodypart"] = "?_src_=vars;[HrefToken()];editbodypart=\ref[src]" - .["Modify organs"] = "?_src_=vars;[HrefToken()];editorgans=\ref[src]" - .["Hallucinate"] = "?_src_=vars;[HrefToken()];hallucinate=\ref[src]" + .["Make AI"] = "?_src_=vars;[HrefToken()];makeai=[REF(src)]" + .["Modify bodypart"] = "?_src_=vars;[HrefToken()];editbodypart=[REF(src)]" + .["Modify organs"] = "?_src_=vars;[HrefToken()];editorgans=[REF(src)]" + .["Hallucinate"] = "?_src_=vars;[HrefToken()];hallucinate=[REF(src)]" diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 1d6f7f6484..9cccd4418d 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -130,10 +130,12 @@ /mob/living/carbon/attack_paw(mob/living/carbon/monkey/M) - for(var/thing in viruses) - var/datum/disease/D = thing - if(D.spread_flags & VIRUS_SPREAD_CONTACT_SKIN) - M.ContactContractDisease(D) + + if(can_inject(M, TRUE)) + for(var/thing in viruses) + var/datum/disease/D = thing + if((D.spread_flags & VIRUS_SPREAD_CONTACT_SKIN) && prob(85)) + M.ContactContractDisease(D) for(var/thing in M.viruses) var/datum/disease/D = thing diff --git a/code/modules/mob/living/carbon/carbon_movement.dm b/code/modules/mob/living/carbon/carbon_movement.dm index ed731408d8..e2555d4a8b 100644 --- a/code/modules/mob/living/carbon/carbon_movement.dm +++ b/code/modules/mob/living/carbon/carbon_movement.dm @@ -56,8 +56,6 @@ nutrition -= HUNGER_FACTOR/10 if(m_intent == MOVE_INTENT_RUN) nutrition -= HUNGER_FACTOR/10 - if((disabilities & FAT) && m_intent == MOVE_INTENT_RUN && bodytemperature <= 360) - bodytemperature += 2 /mob/living/carbon/Moved(oldLoc, Dir) . = ..() diff --git a/code/modules/mob/living/carbon/examine.dm b/code/modules/mob/living/carbon/examine.dm index 37a2ee13ae..53b087d768 100644 --- a/code/modules/mob/living/carbon/examine.dm +++ b/code/modules/mob/living/carbon/examine.dm @@ -44,24 +44,30 @@ msg += "" var/temp = getBruteLoss() if(temp) - if (temp < 30) + if (temp < 25) msg += "[t_He] [t_has] minor bruising.\n" + else if (temp < 50) + msg += "[t_He] [t_has] moderate bruising!\n" else msg += "[t_He] [t_has] severe bruising!\n" temp = getFireLoss() if(temp) - if (temp < 30) + if (temp < 25) msg += "[t_He] [t_has] minor burns.\n" + else if (temp < 50) + msg += "[t_He] [t_has] moderate burns!\n" else msg += "[t_He] [t_has] severe burns!\n" temp = getCloneLoss() if(temp) - if(getCloneLoss() < 30) + if(temp < 25) msg += "[t_He] [t_is] slightly deformed.\n" + else if (temp < 50) + msg += "[t_He] [t_is] moderately deformed!\n" else - msg += "[t_He] [t_is] severely deformed.\n" + msg += "[t_He] [t_is] severely deformed!\n" if(getBrainLoss() > 60) msg += "[t_He] seem[p_s()] to be clumsy and unable to think.\n" diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 89a30f0733..991fd7a94d 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -75,24 +75,54 @@ /datum/emote/living/carbon/human/wag/run_emote(mob/user, params) . = ..() var/mob/living/carbon/human/H = user - if(.) + if(!H.is_wagging_tail()) H.startTailWag() else H.endTailWag() +/mob/living/carbon/human/proc/is_wagging_tail() + return (dna && dna.species && ("waggingtail_lizard" in dna.species.mutant_bodyparts || "waggingtail_human" in dna.species.mutant_bodyparts)) + /datum/emote/living/carbon/human/wag/can_run_emote(mob/user, status_check = TRUE) if(!..()) return FALSE var/mob/living/carbon/human/H = user - if(H.dna && H.dna.species && ((H.dna.features["tail_lizard"] != "None") || (H.dna.features["tail_human"] != "None") || ("mam_tail" in H.dna.species.mutant_bodyparts))) + if(H.dna && H.dna.species && (("tail_lizard" in H.dna.species.mutant_bodyparts) || ("waggingtail_lizard" in H.dna.species.mutant_bodyparts) || (H.dna.features["tail_human"] != "None"))) return TRUE /datum/emote/living/carbon/human/wag/select_message_type(mob/user) . = ..() var/mob/living/carbon/human/H = user - if(("waggingtail_lizard" in H.dna.species.mutant_bodyparts) || ("waggingtail_human" in H.dna.species.mutant_bodyparts) || ("mam_waggingtail" in H.dna.species.mutant_bodyparts)) + if(("waggingtail_lizard" in H.dna.species.mutant_bodyparts) || ("waggingtail_human" in H.dna.species.mutant_bodyparts)) . = null +//Don't know where else to put this, it's basically an emote +/mob/living/carbon/human/proc/startTailWag() + if(!dna || !dna.species) + return + if("tail_lizard" in dna.species.mutant_bodyparts) + dna.species.mutant_bodyparts -= "tail_lizard" + dna.species.mutant_bodyparts -= "spines" + dna.species.mutant_bodyparts |= "waggingtail_lizard" + dna.species.mutant_bodyparts |= "waggingspines" + if("tail_human" in dna.species.mutant_bodyparts) + dna.species.mutant_bodyparts -= "tail_human" + dna.species.mutant_bodyparts |= "waggingtail_human" + update_body() + +/mob/living/carbon/human/proc/endTailWag() + if(!dna || !dna.species) + return + if("waggingtail_lizard" in dna.species.mutant_bodyparts) + dna.species.mutant_bodyparts -= "waggingtail_lizard" + dna.species.mutant_bodyparts -= "waggingspines" + dna.species.mutant_bodyparts |= "tail_lizard" + dna.species.mutant_bodyparts |= "spines" + if("waggingtail_human" in dna.species.mutant_bodyparts) + dna.species.mutant_bodyparts -= "waggingtail_human" + dna.species.mutant_bodyparts |= "tail_human" + update_body() + /datum/emote/living/carbon/human/wing key = "wing" key_third_person = "wings" @@ -121,41 +151,7 @@ var/mob/living/carbon/human/H = user if(H.dna && H.dna.species && (H.dna.features["wings"] != "None")) return TRUE - -//Don't know where else to put this, it's basically an emote -/mob/living/carbon/human/proc/startTailWag() - if(!dna || !dna.species) - return - if("tail_lizard" in dna.species.mutant_bodyparts) - dna.species.mutant_bodyparts -= "tail_lizard" - dna.species.mutant_bodyparts -= "spines" - dna.species.mutant_bodyparts |= "waggingtail_lizard" - dna.species.mutant_bodyparts |= "waggingspines" - if("tail_human" in dna.species.mutant_bodyparts) - dna.species.mutant_bodyparts -= "tail_human" - dna.species.mutant_bodyparts |= "waggingtail_human" - if("mam_tail" in dna.species.mutant_bodyparts) - dna.species.mutant_bodyparts -= "mam_tail" - dna.species.mutant_bodyparts |= "mam_waggingtail" - update_body() - - -/mob/living/carbon/human/proc/endTailWag() - if(!dna || !dna.species) - return - if("waggingtail_lizard" in dna.species.mutant_bodyparts) - dna.species.mutant_bodyparts -= "waggingtail_lizard" - dna.species.mutant_bodyparts -= "waggingspines" - dna.species.mutant_bodyparts |= "tail_lizard" - dna.species.mutant_bodyparts |= "spines" - if("waggingtail_human" in dna.species.mutant_bodyparts) - dna.species.mutant_bodyparts -= "waggingtail_human" - dna.species.mutant_bodyparts |= "tail_human" - if("mam_waggingtail" in dna.species.mutant_bodyparts) - dna.species.mutant_bodyparts -= "mam_waggingtail" - dna.species.mutant_bodyparts |= "mam_tail" - update_body() - + /mob/living/carbon/human/proc/OpenWings() if(!dna || !dna.species) return diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 917b590247..6f3dca3ed7 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -308,8 +308,8 @@ var/datum/data/record/R = find_record("name", perpname, GLOB.data_core.general) if(R) msg += "Rank: [R.fields["rank"]]
    " - msg += "\[Front photo\] " - msg += "\[Side photo\]
    " + msg += "\[Front photo\] " + msg += "\[Side photo\]
    " if(istype(H.glasses, /obj/item/clothing/glasses/hud/health) || istype(CIH, /obj/item/organ/cyberimp/eyes/hud/medical)) var/cyberimp_detect for(var/obj/item/organ/cyberimp/CI in internal_organs) @@ -320,12 +320,12 @@ msg += cyberimp_detect if(R) var/health_r = R.fields["p_stat"] - msg += "\[[health_r]\]" + msg += "\[[health_r]\]" health_r = R.fields["m_stat"] - msg += "\[[health_r]\]
    " + msg += "\[[health_r]\]
    " R = find_record("name", perpname, GLOB.data_core.medical) if(R) - msg += "\[Medical evaluation\]
    " + msg += "\[Medical evaluation\]
    " if(istype(H.glasses, /obj/item/clothing/glasses/hud/security) || istype(CIH, /obj/item/organ/cyberimp/eyes/hud/security)) @@ -336,12 +336,11 @@ R = find_record("name", perpname, GLOB.data_core.security) if(R) criminal = R.fields["criminal"] - - msg += "Criminal status: \[[criminal]\]\n" - msg += "Security record: \[View\] " - msg += "\[Add crime\] " - msg += "\[View comment log\] " - msg += "\[Add comment\]\n" + msg += "Criminal status: \[[criminal]\]\n" + msg += "Security record: \[View\] " + msg += "\[Add crime\] " + msg += "\[View comment log\] " + msg += "\[Add comment\]\n" if(print_flavor_text() && get_visible_name() != "Unknown")//Are we sure we know who this is? Don't show flavor text unless we can recognize them. Prevents certain metagaming with impersonation. msg += "[print_flavor_text()]\n" diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index a39b84e47c..7d4c62d9e1 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -60,9 +60,10 @@ stat("Chemicals", B.chemicals) if(mind) - if(mind.changeling) - stat("Chemical Storage", "[mind.changeling.chem_charges]/[mind.changeling.chem_storage]") - stat("Absorbed DNA", mind.changeling.absorbedcount) + var/datum/antagonist/changeling/changeling = mind.has_antag_datum(/datum/antagonist/changeling) + if(changeling) + stat("Chemical Storage", "[changeling.chem_charges]/[changeling.chem_storage]") + stat("Absorbed DNA", changeling.absorbedcount) //NINJACODE @@ -104,44 +105,44 @@ dat += "" for(var/i in 1 to held_items.len) var/obj/item/I = get_item_for_held_index(i) - dat += "" + dat += "" dat += "" - dat += "" - dat += "" + dat += "" if(slot_wear_mask in obscured) dat += "" else - dat += "" + dat += "" if(slot_neck in obscured) dat += "" else - dat += "" + dat += "" if(slot_glasses in obscured) dat += "" else - dat += "" + dat += "" if(slot_ears in obscured) dat += "" else - dat += "" + dat += "" dat += "" - dat += "" + dat += "" if(wear_suit) - dat += "" else dat += "" @@ -149,41 +150,41 @@ if(slot_shoes in obscured) dat += "" else - dat += "" + dat += "" if(slot_gloves in obscured) dat += "" else - dat += "" + dat += "" if(slot_w_uniform in obscured) dat += "" else - dat += "" + dat += "" if((w_uniform == null && !(dna && dna.species.nojumpsuit)) || (slot_w_uniform in obscured)) dat += "" dat += "" dat += "" else - dat += "" - dat += "" - dat += "" + dat += "" + dat += "" if(handcuffed) - dat += "" + dat += "" if(legcuffed) - dat += "" + dat += "" dat += {"
    [get_held_index_name(i)]:[(I && !(I.flags_1 & ABSTRACT_1)) ? I : "Empty"]
    [get_held_index_name(i)]:[(I && !(I.flags_1 & ABSTRACT_1)) ? I : "Empty"]
     
    Back:[(back && !(back.flags_1&ABSTRACT_1)) ? back : "Empty"]" + dat += "
    Back:[(back && !(back.flags_1&ABSTRACT_1)) ? back : "Empty"]" if(has_breathable_mask && istype(back, /obj/item/tank)) - dat += " [internal ? "Disable Internals" : "Set Internals"]" + dat += " [internal ? "Disable Internals" : "Set Internals"]" dat += "
     
    Head:[(head && !(head.flags_1&ABSTRACT_1)) ? head : "Empty"]
    Head:[(head && !(head.flags_1&ABSTRACT_1)) ? head : "Empty"]
    Mask:Obscured
    Mask:[(wear_mask && !(wear_mask.flags_1&ABSTRACT_1)) ? wear_mask : "Empty"]
    Mask:[(wear_mask && !(wear_mask.flags_1&ABSTRACT_1)) ? wear_mask : "Empty"]
    Neck:Obscured
    Neck:[(wear_neck && !(wear_neck.flags_1&ABSTRACT_1)) ? wear_neck : "Empty"]
    Neck:[(wear_neck && !(wear_neck.flags_1&ABSTRACT_1)) ? wear_neck : "Empty"]
    Eyes:Obscured
    Eyes:[(glasses && !(glasses.flags_1&ABSTRACT_1)) ? glasses : "Empty"]
    Eyes:[(glasses && !(glasses.flags_1&ABSTRACT_1)) ? glasses : "Empty"]
    Ears:Obscured
    Ears:[(ears && !(ears.flags_1&ABSTRACT_1)) ? ears : "Empty"]
    Ears:[(ears && !(ears.flags_1&ABSTRACT_1)) ? ears : "Empty"]
     
    Exosuit:[(wear_suit && !(wear_suit.flags_1&ABSTRACT_1)) ? wear_suit : "Empty"]
    Exosuit:[(wear_suit && !(wear_suit.flags_1&ABSTRACT_1)) ? wear_suit : "Empty"]
     ↳Suit Storage:[(s_store && !(s_store.flags_1&ABSTRACT_1)) ? s_store : "Empty"]" + dat += "
     ↳Suit Storage:[(s_store && !(s_store.flags_1&ABSTRACT_1)) ? s_store : "Empty"]" if(has_breathable_mask && istype(s_store, /obj/item/tank)) - dat += " [internal ? "Disable Internals" : "Set Internals"]" + dat += " [internal ? "Disable Internals" : "Set Internals"]" dat += "
     ↳Suit Storage:
    Shoes:Obscured
    Shoes:[(shoes && !(shoes.flags_1&ABSTRACT_1)) ? shoes : "Empty"]
    Shoes:[(shoes && !(shoes.flags_1&ABSTRACT_1)) ? shoes : "Empty"]
    Gloves:Obscured
    Gloves:[(gloves && !(gloves.flags_1&ABSTRACT_1)) ? gloves : "Empty"]
    Gloves:[(gloves && !(gloves.flags_1&ABSTRACT_1)) ? gloves : "Empty"]
    Uniform:Obscured
    Uniform:[(w_uniform && !(w_uniform.flags_1&ABSTRACT_1)) ? w_uniform : "Empty"]
    Uniform:[(w_uniform && !(w_uniform.flags_1&ABSTRACT_1)) ? w_uniform : "Empty"]
     ↳Pockets:
     ↳ID:
     ↳Belt:
     ↳Belt:[(belt && !(belt.flags_1&ABSTRACT_1)) ? belt : "Empty"]" + dat += "
     ↳Belt:[(belt && !(belt.flags_1&ABSTRACT_1)) ? belt : "Empty"]" if(has_breathable_mask && istype(belt, /obj/item/tank)) - dat += " [internal ? "Disable Internals" : "Set Internals"]" + dat += " [internal ? "Disable Internals" : "Set Internals"]" dat += "
     ↳Pockets:[(l_store && !(l_store.flags_1&ABSTRACT_1)) ? "Left (Full)" : "Left (Empty)"]" - dat += " [(r_store && !(r_store.flags_1&ABSTRACT_1)) ? "Right (Full)" : "Right (Empty)"]
     ↳ID:[(wear_id && !(wear_id.flags_1&ABSTRACT_1)) ? wear_id : "Empty"]
     ↳Pockets:[(l_store && !(l_store.flags_1&ABSTRACT_1)) ? "Left (Full)" : "Left (Empty)"]" + dat += " [(r_store && !(r_store.flags_1&ABSTRACT_1)) ? "Right (Full)" : "Right (Empty)"]
     ↳ID:[(wear_id && !(wear_id.flags_1&ABSTRACT_1)) ? wear_id : "Empty"]
    Handcuffed: Remove
    Handcuffed: Remove
    Legcuffed
    Legcuffed
    - Close + Close "} - var/datum/browser/popup = new(user, "mob\ref[src]", "[src]", 440, 510) + var/datum/browser/popup = new(user, "mob[REF(src)]", "[src]", 440, 510) popup.set_content(dat.Join()) popup.open() @@ -869,12 +870,12 @@ /mob/living/carbon/human/vv_get_dropdown() . = ..() . += "---" - .["Make monkey"] = "?_src_=vars;[HrefToken()];makemonkey=\ref[src]" - .["Set Species"] = "?_src_=vars;[HrefToken()];setspecies=\ref[src]" - .["Make cyborg"] = "?_src_=vars;[HrefToken()];makerobot=\ref[src]" - .["Make alien"] = "?_src_=vars;[HrefToken()];makealien=\ref[src]" - .["Make slime"] = "?_src_=vars;[HrefToken()];makeslime=\ref[src]" - .["Toggle Purrbation"] = "?_src_=vars;[HrefToken()];purrbation=\ref[src]" + .["Make monkey"] = "?_src_=vars;[HrefToken()];makemonkey=[REF(src)]" + .["Set Species"] = "?_src_=vars;[HrefToken()];setspecies=[REF(src)]" + .["Make cyborg"] = "?_src_=vars;[HrefToken()];makerobot=[REF(src)]" + .["Make alien"] = "?_src_=vars;[HrefToken()];makealien=[REF(src)]" + .["Make slime"] = "?_src_=vars;[HrefToken()];makeslime=[REF(src)]" + .["Toggle Purrbation"] = "?_src_=vars;[HrefToken()];purrbation=[REF(src)]" /mob/living/carbon/human/MouseDrop_T(mob/living/target, mob/living/user) if((target != pulling) || (grab_state < GRAB_AGGRESSIVE) || (user != target) || !isliving(user) || stat || user.stat)//Get consent first :^) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index f21f872d0a..b37ebabb45 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -670,7 +670,7 @@ to_chat(src, "\t Your [LB.name] is [status].") for(var/obj/item/I in LB.embedded_objects) - to_chat(src, "\t There is \a [I] embedded in your [LB.name]!") + to_chat(src, "\t There is \a [I] embedded in your [LB.name]!") for(var/t in missing) to_chat(src, "Your [parse_zone(t)] is missing!") diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index 51de0c2d91..fc8fdac04c 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -56,8 +56,8 @@ FP.update_icon() update_inv_shoes() //End bloody footprints - S.step_action() + /mob/living/carbon/human/Moved() . = ..() if(buckled_mobs && buckled_mobs.len && riding_datum) diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 1374b391ce..c601f1445c 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -39,8 +39,10 @@ return real_name else return real_name - if(mind && mind.changeling && mind.changeling.mimicing) - return mind.changeling.mimicing + if(mind) + var/datum/antagonist/changeling/changeling = mind.has_antag_datum(/datum/antagonist/changeling) + if(changeling && changeling.mimicing ) + return changeling.mimicing if(GetSpecialVoice()) return GetSpecialVoice() return real_name diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index f5b339405d..a48403283a 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1636,7 +1636,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) else burn_damage = HEAT_DAMAGE_LEVEL_2 burn_damage *= heatmod - if((prob(burn_damage) * 10) / 4) //40% for level 3 damage on humans + if (H.stat < UNCONSCIOUS && (prob(burn_damage) * 10) / 4) //40% for level 3 damage on humans H.emote("scream") H.apply_damage(burn_damage, BURN) else if(H.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT && !(GLOB.mutations_list[COLDRES] in H.dna.mutations)) diff --git a/code/modules/mob/living/carbon/human/species_types/dullahan.dm b/code/modules/mob/living/carbon/human/species_types/dullahan.dm index 4ce338e7bf..5effff5bd3 100644 --- a/code/modules/mob/living/carbon/human/species_types/dullahan.dm +++ b/code/modules/mob/living/carbon/human/species_types/dullahan.dm @@ -24,6 +24,7 @@ /datum/species/dullahan/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) . = ..() + H.flags_1 &= ~HEAR_1 var/obj/item/bodypart/head/head = H.get_bodypart("head") if(head) head.drop_limb() @@ -33,24 +34,18 @@ H.put_in_hands(head) /datum/species/dullahan/on_species_loss(mob/living/carbon/human/H) + H.flags_1 |= ~HEAR_1 + H.reset_perspective(H) if(myhead) var/obj/item/dullahan_relay/DR = myhead myhead = null DR.owner = null qdel(DR) + H.regenerate_limb("head",FALSE) ..() /datum/species/dullahan/spec_life(mob/living/carbon/human/H) - if(!QDELETED(myhead)) - update_vision_perspective(H) - - var/turf/Me = get_turf(H) - var/turf/Head = get_turf(myhead) - if(Me == Head || (Head in oview(7, Me))) - H.disabilities &= ~DEAF - else - H.disabilities |= DEAF - else + if(QDELETED(myhead)) myhead = null H.gib() var/obj/item/bodypart/head/head2 = H.get_bodypart("head") @@ -128,10 +123,6 @@ /obj/item/dullahan_relay/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode) if(!QDELETED(owner)) - var/turf/T = get_turf(speaker) - var/turf/owner_turf = get_turf(owner) - if(T == owner_turf || (T in oview(7, owner_turf))) //Do not relay things we can already hear - return message = compose_message(speaker, message_language, raw_message, radio_freq, spans, message_mode) to_chat(owner,message) else diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index 10e2dedfd6..e3d2d5db61 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -22,6 +22,7 @@ limbs_id = "golem" fixed_mut_color = "aaa" var/info_text = "As an Iron Golem, you don't have any special traits." + var/random_eligible = TRUE //If false, the golem subtype can't be made through golem mutation toxin var/prefix = "Iron" var/list/special_names @@ -44,11 +45,17 @@ name = "Random Golem" blacklisted = FALSE dangerous_existence = FALSE + var/static/list/random_golem_types /datum/species/golem/random/on_species_gain(mob/living/carbon/C, datum/species/old_species) ..() - var/list/golem_types = typesof(/datum/species/golem) - src.type - var/datum/species/golem/golem_type = pick(golem_types) + if(!random_golem_types) + random_golem_types = subtypesof(/datum/species/golem) - type + for(var/V in random_golem_types) + var/datum/species/golem/G = V + if(!initial(G.random_eligible)) + random_golem_types -= G + var/datum/species/golem/golem_type = pick(random_golem_types) var/mob/living/carbon/human/H = C H.set_species(golem_type) to_chat(H, "[initial(golem_type.info_text)]") @@ -241,7 +248,7 @@ heatmod = 1.5 info_text = "As a Wooden Golem, you have plant-like traits: you take damage from extreme temperatures, can be set on fire, and have lower armor than a normal golem. You regenerate when in the light and wither in the darkness." prefix = "Wooden" - special_names = list("Tomato", "Potato", "Broccoli", "Carrot", "Ambrosia", "Pumpkin", "Ivy", "Kudzu", "Banana", "Moss", "Flower", "Bloom", "Root", "Bark", "Glowshroom", "Petal", "Leaf", "Venus", "Sprout","Cocoa", "Strawberry", "Citrus", "Oak", "Cactus", "Pepper", "Juniper") + special_names = list("Bark", "Willow", "Catalpa", "Woody", "Oak", "Sap", "Twig", "Branch", "Maple", "Birch", "Elm", "Basswood", "Cottonwood", "Larch", "Aspen", "Ash", "Beech", "Buckeye", "Cedar", "Chestnut", "Cypress", "Fir", "Hawthorn", "Hazel", "Hickory", "Ironwood", "Juniper", "Leaf", "Mangrove", "Palm", "Pawpaw", "Pine", "Poplar", "Redwood", "Redbud", "Sassafras", "Spruce", "Sumac", "Trunk", "Walnut", "Yew") human_surname_chance = 0 special_name_chance = 100 @@ -596,7 +603,7 @@ info_text = "As a clockwork golem, you are faster than \ other types of golem (being a machine), and are immune to electric shocks." species_traits = list(NO_UNDERWEAR, NOTRANSSTING, NOBREATH, NOZOMBIE, VIRUSIMMUNE, RADIMMUNE, NOBLOOD, RESISTCOLD, RESISTPRESSURE, PIERCEIMMUNE) - armor = 40 //Reinforced, but also slim to allow for fast movement + armor = 20 //Reinforced, but much less so to allow for fast movement attack_verb = "smash" attack_sound = 'sound/magic/clockwork/anima_fragment_attack.ogg' sexes = FALSE @@ -638,7 +645,8 @@ has_corpse = TRUE blacklisted = TRUE dangerous_existence = TRUE - + random_eligible = FALSE + /datum/species/golem/cloth name = "Cloth Golem" id = "cloth golem" diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index 1d69e294df..b79a0e81a5 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -1,335 +1,335 @@ -/datum/species/jelly - // Entirely alien beings that seem to be made entirely out of gel. They have three eyes and a skeleton visible within them. - name = "Xenobiological Jelly Entity" - id = "jelly" - default_color = "00FF90" - say_mod = "chirps" - species_traits = list(MUTCOLORS,EYECOLOR,NOBLOOD,VIRUSIMMUNE,TOXINLOVER) - meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/slime - exotic_blood = "slimejelly" - damage_overlay_type = "" - var/datum/action/innate/regenerate_limbs/regenerate_limbs - liked_food = MEAT - -/datum/species/jelly/on_species_loss(mob/living/carbon/C) - if(regenerate_limbs) - regenerate_limbs.Remove(C) - ..() - -/datum/species/jelly/on_species_gain(mob/living/carbon/C, datum/species/old_species) - ..() - if(ishuman(C)) - regenerate_limbs = new - regenerate_limbs.Grant(C) - -/datum/species/jelly/spec_life(mob/living/carbon/human/H) - if(H.stat == DEAD) //can't farm slime jelly from a dead slime/jelly person indefinitely - return - if(!H.blood_volume) - H.blood_volume += 5 - H.adjustBruteLoss(5) - to_chat(H, "You feel empty!") - - if(H.blood_volume < BLOOD_VOLUME_NORMAL) - if(H.nutrition >= NUTRITION_LEVEL_STARVING) - H.blood_volume += 3 - H.nutrition -= 2.5 - if(H.blood_volume < BLOOD_VOLUME_OKAY) - if(prob(5)) - to_chat(H, "You feel drained!") - if(H.blood_volume < BLOOD_VOLUME_BAD) - Cannibalize_Body(H) - H.update_action_buttons_icon() - -/datum/species/jelly/proc/Cannibalize_Body(mob/living/carbon/human/H) - var/list/limbs_to_consume = list("r_arm", "l_arm", "r_leg", "l_leg") - H.get_missing_limbs() - var/obj/item/bodypart/consumed_limb - if(!limbs_to_consume.len) - H.losebreath++ - return - if(H.get_num_legs()) //Legs go before arms - limbs_to_consume -= list("r_arm", "l_arm") - consumed_limb = H.get_bodypart(pick(limbs_to_consume)) - consumed_limb.drop_limb() - to_chat(H, "Your [consumed_limb] is drawn back into your body, unable to maintain its shape!") - qdel(consumed_limb) - H.blood_volume += 20 - -/datum/action/innate/regenerate_limbs - name = "Regenerate Limbs" - check_flags = AB_CHECK_CONSCIOUS - button_icon_state = "slimeheal" - icon_icon = 'icons/mob/actions/actions_slime.dmi' - background_icon_state = "bg_alien" - -/datum/action/innate/regenerate_limbs/IsAvailable() - if(..()) - var/mob/living/carbon/human/H = owner - var/list/limbs_to_heal = H.get_missing_limbs() - if(limbs_to_heal.len < 1) - return 0 - if(H.blood_volume >= BLOOD_VOLUME_OKAY+40) - return 1 - return 0 - -/datum/action/innate/regenerate_limbs/Activate() - var/mob/living/carbon/human/H = owner - var/list/limbs_to_heal = H.get_missing_limbs() - if(limbs_to_heal.len < 1) - to_chat(H, "You feel intact enough as it is.") - return - to_chat(H, "You focus intently on your missing [limbs_to_heal.len >= 2 ? "limbs" : "limb"]...") - if(H.blood_volume >= 40*limbs_to_heal.len+BLOOD_VOLUME_OKAY) - H.regenerate_limbs() - H.blood_volume -= 40*limbs_to_heal.len - to_chat(H, "...and after a moment you finish reforming!") - return - else if(H.blood_volume >= 40)//We can partially heal some limbs - while(H.blood_volume >= BLOOD_VOLUME_OKAY+40) - var/healed_limb = pick(limbs_to_heal) - H.regenerate_limb(healed_limb) - limbs_to_heal -= healed_limb - H.blood_volume -= 40 - to_chat(H, "...but there is not enough of you to fix everything! You must attain more mass to heal completely!") - return - to_chat(H, "...but there is not enough of you to go around! You must attain more mass to heal!") - -////////////////////////////////////////////////////////SLIME PEOPLE/////////////////////////////////////////////////////////////////// - -/datum/species/jelly/slime - // Humans mutated by slime mutagen, produced from green slimes. They are not targetted by slimes. - name = "Slimeperson" - id = "slime" - default_color = "00FFFF" - species_traits = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,NOBLOOD,VIRUSIMMUNE, TOXINLOVER) - say_mod = "says" - hair_color = "mutcolor" - hair_alpha = 150 - ignored_by = list(/mob/living/simple_animal/slime) - burnmod = 0.5 - coldmod = 2 - heatmod = 0.5 - var/datum/action/innate/split_body/slime_split - var/list/mob/living/carbon/bodies - var/datum/action/innate/swap_body/swap_body - -/datum/species/jelly/slime/on_species_loss(mob/living/carbon/C) - if(slime_split) - slime_split.Remove(C) - if(swap_body) - swap_body.Remove(C) - bodies -= C // This means that the other bodies maintain a link - // so if someone mindswapped into them, they'd still be shared. - bodies = null - C.faction -= "slime" - C.blood_volume = min(C.blood_volume, BLOOD_VOLUME_NORMAL) - ..() - -/datum/species/jelly/slime/on_species_gain(mob/living/carbon/C, datum/species/old_species) - ..() - if(ishuman(C)) - /* slime_split = new - slime_split.Grant(C) - swap_body = new - swap_body.Grant(C) */ - - if(!bodies || !bodies.len) - bodies = list(C) - else - bodies |= C - - C.faction |= "slime" - -//If you're cloned you get your body pool back -/datum/species/jelly/slime/copy_properties_from(datum/species/jelly/slime/old_species) - bodies = old_species.bodies - -/datum/species/jelly/slime/spec_life(mob/living/carbon/human/H) - /*if(H.blood_volume >= BLOOD_VOLUME_SLIME_SPLIT) - if(prob(5)) - to_chat(H, "You feel very bloated!")*/ - if(H.nutrition >= NUTRITION_LEVEL_WELL_FED) - H.blood_volume += 3 - H.nutrition -= 2.5 - - ..() - -/datum/action/innate/split_body - name = "Split Body" - check_flags = AB_CHECK_CONSCIOUS - button_icon_state = "slimesplit" - icon_icon = 'icons/mob/actions/actions_slime.dmi' - background_icon_state = "bg_alien" - -/datum/action/innate/split_body/IsAvailable() - if(..()) - var/mob/living/carbon/human/H = owner - if(H.blood_volume >= BLOOD_VOLUME_SLIME_SPLIT) - return 1 - return 0 - -/datum/action/innate/split_body/Activate() - var/mob/living/carbon/human/H = owner - if(!isslimeperson(H)) - return - CHECK_DNA_AND_SPECIES(H) - H.visible_message("[owner] gains a look of \ - concentration while standing perfectly still.", - "You focus intently on moving your body while \ - standing perfectly still...") - - H.notransform = TRUE - - if(do_after(owner, delay=60, needhand=FALSE, target=owner, progress=TRUE)) - if(H.blood_volume >= BLOOD_VOLUME_SLIME_SPLIT) - make_dupe() - else - to_chat(H, "...but there is not enough of you to go around! You must attain more mass to split!") - else - to_chat(H, "...but fail to stand perfectly still!") - - H.notransform = FALSE - -/datum/action/innate/split_body/proc/make_dupe() - var/mob/living/carbon/human/H = owner - CHECK_DNA_AND_SPECIES(H) - - var/mob/living/carbon/human/spare = new /mob/living/carbon/human(H.loc) - - spare.underwear = "Nude" - H.dna.transfer_identity(spare, transfer_SE=1) - spare.dna.features["mcolor"] = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F") - spare.real_name = spare.dna.real_name - spare.name = spare.dna.real_name - spare.updateappearance(mutcolor_update=1) - spare.domutcheck() - spare.Move(get_step(H.loc, pick(NORTH,SOUTH,EAST,WEST))) - - H.blood_volume = BLOOD_VOLUME_SAFE - H.notransform = 0 - - var/datum/species/jelly/slime/origin_datum = H.dna.species - origin_datum.bodies |= spare - - var/datum/species/jelly/slime/spare_datum = spare.dna.species - spare_datum.bodies = origin_datum.bodies - - H.mind.transfer_to(spare) - spare.visible_message("[H] distorts as a new body \ - \"steps out\" of them.", - "...and after a moment of disorentation, \ - you're besides yourself!") - - -/datum/action/innate/swap_body - name = "Swap Body" - check_flags = AB_CHECK_CONSCIOUS - button_icon_state = "slimeswap" - icon_icon = 'icons/mob/actions/actions_slime.dmi' - background_icon_state = "bg_alien" - -/datum/action/innate/swap_body/Activate() - if(!isslimeperson(owner)) - to_chat(owner, "You are not a slimeperson.") - Remove(owner) - else - ui_interact(owner) - -/datum/action/innate/swap_body/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.conscious_state) - - ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) - if(!ui) - ui = new(user, src, ui_key, "slime_swap_body", name, 400, 400, master_ui, state) - ui.open() - -/datum/action/innate/swap_body/ui_data(mob/user) - var/mob/living/carbon/human/H = owner - if(!isslimeperson(H)) - return - - var/datum/species/jelly/slime/SS = H.dna.species - - var/list/data = list() - data["bodies"] = list() - for(var/b in SS.bodies) - var/mob/living/carbon/human/body = b - if(!body || QDELETED(body) || !isslimeperson(body)) - SS.bodies -= b - continue - - var/list/L = list() - // HTML colors need a # prefix - L["htmlcolor"] = "#[body.dna.features["mcolor"]]" - var/area/A = get_area(body) - L["area"] = A.name - var/stat = "error" - switch(body.stat) - if(CONSCIOUS) - stat = "Conscious" - if(UNCONSCIOUS) - stat = "Unconscious" - if(DEAD) - stat = "Dead" - var/current = body.mind - var/is_conscious = (body.stat == CONSCIOUS) - - L["status"] = stat - L["exoticblood"] = body.blood_volume - L["name"] = body.name - L["ref"] = "\ref[body]" - L["is_current"] = current - var/button - if(current) - button = "selected" - else if(is_conscious) - button = null - else - button = "disabled" - - L["swap_button_state"] = button - L["swappable"] = !current && is_conscious - - data["bodies"] += list(L) - - return data - -/datum/action/innate/swap_body/ui_act(action, params) - if(..()) - return - var/mob/living/carbon/human/H = owner - if(!isslimeperson(owner)) - return - var/datum/species/jelly/slime/SS = H.dna.species - - var/datum/mind/M - for(var/mob/living/L in SS.bodies) - if(L.mind && L.mind.active) - M = L.mind - if(!M) - return - if(!isslimeperson(M.current)) - return - - switch(action) - if("swap") - var/mob/living/carbon/human/selected = locate(params["ref"]) - if(!(selected in SS.bodies)) - return - if(!selected || QDELETED(selected) || !isslimeperson(selected)) - SS.bodies -= selected - return - if(M.current == selected) - return - if(selected.stat != CONSCIOUS) - return - - swap_to_dupe(M, selected) - -/datum/action/innate/swap_body/proc/swap_to_dupe(datum/mind/M, mob/living/carbon/human/dupe) - M.current.visible_message("[M.current] \ - stops moving and starts staring vacantly into space.", - "You stop moving this body...") - M.transfer_to(dupe) - dupe.visible_message("[dupe] blinks and looks \ - around.", - "...and move this one instead.") \ No newline at end of file +/datum/species/jelly + // Entirely alien beings that seem to be made entirely out of gel. They have three eyes and a skeleton visible within them. + name = "Xenobiological Jelly Entity" + id = "jelly" + default_color = "00FF90" + say_mod = "chirps" + species_traits = list(MUTCOLORS,EYECOLOR,NOBLOOD,VIRUSIMMUNE,TOXINLOVER) + meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/slime + exotic_blood = "slimejelly" + damage_overlay_type = "" + var/datum/action/innate/regenerate_limbs/regenerate_limbs + liked_food = MEAT + +/datum/species/jelly/on_species_loss(mob/living/carbon/C) + if(regenerate_limbs) + regenerate_limbs.Remove(C) + ..() + +/datum/species/jelly/on_species_gain(mob/living/carbon/C, datum/species/old_species) + ..() + if(ishuman(C)) + regenerate_limbs = new + regenerate_limbs.Grant(C) + +/datum/species/jelly/spec_life(mob/living/carbon/human/H) + if(H.stat == DEAD) //can't farm slime jelly from a dead slime/jelly person indefinitely + return + if(!H.blood_volume) + H.blood_volume += 5 + H.adjustBruteLoss(5) + to_chat(H, "You feel empty!") + + if(H.blood_volume < BLOOD_VOLUME_NORMAL) + if(H.nutrition >= NUTRITION_LEVEL_STARVING) + H.blood_volume += 3 + H.nutrition -= 2.5 + if(H.blood_volume < BLOOD_VOLUME_OKAY) + if(prob(5)) + to_chat(H, "You feel drained!") + if(H.blood_volume < BLOOD_VOLUME_BAD) + Cannibalize_Body(H) + H.update_action_buttons_icon() + +/datum/species/jelly/proc/Cannibalize_Body(mob/living/carbon/human/H) + var/list/limbs_to_consume = list("r_arm", "l_arm", "r_leg", "l_leg") - H.get_missing_limbs() + var/obj/item/bodypart/consumed_limb + if(!limbs_to_consume.len) + H.losebreath++ + return + if(H.get_num_legs()) //Legs go before arms + limbs_to_consume -= list("r_arm", "l_arm") + consumed_limb = H.get_bodypart(pick(limbs_to_consume)) + consumed_limb.drop_limb() + to_chat(H, "Your [consumed_limb] is drawn back into your body, unable to maintain its shape!") + qdel(consumed_limb) + H.blood_volume += 20 + +/datum/action/innate/regenerate_limbs + name = "Regenerate Limbs" + check_flags = AB_CHECK_CONSCIOUS + button_icon_state = "slimeheal" + icon_icon = 'icons/mob/actions/actions_slime.dmi' + background_icon_state = "bg_alien" + +/datum/action/innate/regenerate_limbs/IsAvailable() + if(..()) + var/mob/living/carbon/human/H = owner + var/list/limbs_to_heal = H.get_missing_limbs() + if(limbs_to_heal.len < 1) + return 0 + if(H.blood_volume >= BLOOD_VOLUME_OKAY+40) + return 1 + return 0 + +/datum/action/innate/regenerate_limbs/Activate() + var/mob/living/carbon/human/H = owner + var/list/limbs_to_heal = H.get_missing_limbs() + if(limbs_to_heal.len < 1) + to_chat(H, "You feel intact enough as it is.") + return + to_chat(H, "You focus intently on your missing [limbs_to_heal.len >= 2 ? "limbs" : "limb"]...") + if(H.blood_volume >= 40*limbs_to_heal.len+BLOOD_VOLUME_OKAY) + H.regenerate_limbs() + H.blood_volume -= 40*limbs_to_heal.len + to_chat(H, "...and after a moment you finish reforming!") + return + else if(H.blood_volume >= 40)//We can partially heal some limbs + while(H.blood_volume >= BLOOD_VOLUME_OKAY+40) + var/healed_limb = pick(limbs_to_heal) + H.regenerate_limb(healed_limb) + limbs_to_heal -= healed_limb + H.blood_volume -= 40 + to_chat(H, "...but there is not enough of you to fix everything! You must attain more mass to heal completely!") + return + to_chat(H, "...but there is not enough of you to go around! You must attain more mass to heal!") + +////////////////////////////////////////////////////////SLIME PEOPLE/////////////////////////////////////////////////////////////////// + +/datum/species/jelly/slime + // Humans mutated by slime mutagen, produced from green slimes. They are not targetted by slimes. + name = "Slimeperson" + id = "slime" + default_color = "00FFFF" + species_traits = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,NOBLOOD,VIRUSIMMUNE, TOXINLOVER) + say_mod = "says" + hair_color = "mutcolor" + hair_alpha = 150 + ignored_by = list(/mob/living/simple_animal/slime) + burnmod = 0.5 + coldmod = 2 + heatmod = 0.5 + var/datum/action/innate/split_body/slime_split + var/list/mob/living/carbon/bodies + var/datum/action/innate/swap_body/swap_body + +/datum/species/jelly/slime/on_species_loss(mob/living/carbon/C) + if(slime_split) + slime_split.Remove(C) + if(swap_body) + swap_body.Remove(C) + bodies -= C // This means that the other bodies maintain a link + // so if someone mindswapped into them, they'd still be shared. + bodies = null + C.faction -= "slime" + C.blood_volume = min(C.blood_volume, BLOOD_VOLUME_NORMAL) + ..() + +/datum/species/jelly/slime/on_species_gain(mob/living/carbon/C, datum/species/old_species) + ..() + if(ishuman(C)) + /*slime_split = new + slime_split.Grant(C) + swap_body = new + swap_body.Grant(C)*/ + + if(!bodies || !bodies.len) + bodies = list(C) + else + bodies |= C + + C.faction |= "slime" + +//If you're cloned you get your body pool back +/datum/species/jelly/slime/copy_properties_from(datum/species/jelly/slime/old_species) + bodies = old_species.bodies + +/datum/species/jelly/slime/spec_life(mob/living/carbon/human/H) + /*if(H.blood_volume >= BLOOD_VOLUME_SLIME_SPLIT) + if(prob(5)) + to_chat(H, "You feel very bloated!")*/ + if(H.nutrition >= NUTRITION_LEVEL_WELL_FED) + H.blood_volume += 3 + H.nutrition -= 2.5 + + ..() + +/datum/action/innate/split_body + name = "Split Body" + check_flags = AB_CHECK_CONSCIOUS + button_icon_state = "slimesplit" + icon_icon = 'icons/mob/actions/actions_slime.dmi' + background_icon_state = "bg_alien" + +/datum/action/innate/split_body/IsAvailable() + if(..()) + var/mob/living/carbon/human/H = owner + if(H.blood_volume >= BLOOD_VOLUME_SLIME_SPLIT) + return 1 + return 0 + +/datum/action/innate/split_body/Activate() + var/mob/living/carbon/human/H = owner + if(!isslimeperson(H)) + return + CHECK_DNA_AND_SPECIES(H) + H.visible_message("[owner] gains a look of \ + concentration while standing perfectly still.", + "You focus intently on moving your body while \ + standing perfectly still...") + + H.notransform = TRUE + + if(do_after(owner, delay=60, needhand=FALSE, target=owner, progress=TRUE)) + if(H.blood_volume >= BLOOD_VOLUME_SLIME_SPLIT) + make_dupe() + else + to_chat(H, "...but there is not enough of you to go around! You must attain more mass to split!") + else + to_chat(H, "...but fail to stand perfectly still!") + + H.notransform = FALSE + +/datum/action/innate/split_body/proc/make_dupe() + var/mob/living/carbon/human/H = owner + CHECK_DNA_AND_SPECIES(H) + + var/mob/living/carbon/human/spare = new /mob/living/carbon/human(H.loc) + + spare.underwear = "Nude" + H.dna.transfer_identity(spare, transfer_SE=1) + spare.dna.features["mcolor"] = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F") + spare.real_name = spare.dna.real_name + spare.name = spare.dna.real_name + spare.updateappearance(mutcolor_update=1) + spare.domutcheck() + spare.Move(get_step(H.loc, pick(NORTH,SOUTH,EAST,WEST))) + + H.blood_volume = BLOOD_VOLUME_SAFE + H.notransform = 0 + + var/datum/species/jelly/slime/origin_datum = H.dna.species + origin_datum.bodies |= spare + + var/datum/species/jelly/slime/spare_datum = spare.dna.species + spare_datum.bodies = origin_datum.bodies + + H.mind.transfer_to(spare) + spare.visible_message("[H] distorts as a new body \ + \"steps out\" of them.", + "...and after a moment of disorentation, \ + you're besides yourself!") + + +/datum/action/innate/swap_body + name = "Swap Body" + check_flags = AB_CHECK_CONSCIOUS + button_icon_state = "slimeswap" + icon_icon = 'icons/mob/actions/actions_slime.dmi' + background_icon_state = "bg_alien" + +/datum/action/innate/swap_body/Activate() + if(!isslimeperson(owner)) + to_chat(owner, "You are not a slimeperson.") + Remove(owner) + else + ui_interact(owner) + +/datum/action/innate/swap_body/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.conscious_state) + + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) + if(!ui) + ui = new(user, src, ui_key, "slime_swap_body", name, 400, 400, master_ui, state) + ui.open() + +/datum/action/innate/swap_body/ui_data(mob/user) + var/mob/living/carbon/human/H = owner + if(!isslimeperson(H)) + return + + var/datum/species/jelly/slime/SS = H.dna.species + + var/list/data = list() + data["bodies"] = list() + for(var/b in SS.bodies) + var/mob/living/carbon/human/body = b + if(!body || QDELETED(body) || !isslimeperson(body)) + SS.bodies -= b + continue + + var/list/L = list() + // HTML colors need a # prefix + L["htmlcolor"] = "#[body.dna.features["mcolor"]]" + var/area/A = get_area(body) + L["area"] = A.name + var/stat = "error" + switch(body.stat) + if(CONSCIOUS) + stat = "Conscious" + if(UNCONSCIOUS) + stat = "Unconscious" + if(DEAD) + stat = "Dead" + var/current = body.mind + var/is_conscious = (body.stat == CONSCIOUS) + + L["status"] = stat + L["exoticblood"] = body.blood_volume + L["name"] = body.name + L["ref"] = "[REF(body)]" + L["is_current"] = current + var/button + if(current) + button = "selected" + else if(is_conscious) + button = null + else + button = "disabled" + + L["swap_button_state"] = button + L["swappable"] = !current && is_conscious + + data["bodies"] += list(L) + + return data + +/datum/action/innate/swap_body/ui_act(action, params) + if(..()) + return + var/mob/living/carbon/human/H = owner + if(!isslimeperson(owner)) + return + var/datum/species/jelly/slime/SS = H.dna.species + + var/datum/mind/M + for(var/mob/living/L in SS.bodies) + if(L.mind && L.mind.active) + M = L.mind + if(!M) + return + if(!isslimeperson(M.current)) + return + + switch(action) + if("swap") + var/mob/living/carbon/human/selected = locate(params["ref"]) + if(!(selected in SS.bodies)) + return + if(!selected || QDELETED(selected) || !isslimeperson(selected)) + SS.bodies -= selected + return + if(M.current == selected) + return + if(selected.stat != CONSCIOUS) + return + + swap_to_dupe(M, selected) + +/datum/action/innate/swap_body/proc/swap_to_dupe(datum/mind/M, mob/living/carbon/human/dupe) + M.current.visible_message("[M.current] \ + stops moving and starts staring vacantly into space.", + "You stop moving this body...") + M.transfer_to(dupe) + dupe.visible_message("[dupe] blinks and looks \ + around.", + "...and move this one instead.") diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 0d50285859..f9b13dd24f 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -207,10 +207,10 @@ if(breath_gases[/datum/gas/tritium]) var/tritium_partialpressure = (breath_gases[/datum/gas/tritium][MOLES]/breath.total_moles())*breath_pressure radiation += tritium_partialpressure/10 - //Brown Gas - if (breath_gases[/datum/gas/brown_gas]) - var/browns_partialpressure = (breath_gases[/datum/gas/brown_gas][MOLES]/breath.total_moles())*breath_pressure - adjustFireLoss(browns_partialpressure/4) + //NITRYL + if (breath_gases[/datum/gas/nitryl]) + var/nitryl_partialpressure = (breath_gases[/datum/gas/nitryl][MOLES]/breath.total_moles())*breath_pressure + adjustFireLoss(nitryl_partialpressure/4) @@ -251,12 +251,14 @@ if(stat != DEAD) D.stage_act() +//todo generalize this and move hud out /mob/living/carbon/proc/handle_changeling() if(mind && hud_used && hud_used.lingchemdisplay) - if(mind.changeling) - mind.changeling.regenerate(src) + var/datum/antagonist/changeling/changeling = mind.has_antag_datum(/datum/antagonist/changeling) + if(changeling) + changeling.regenerate() hud_used.lingchemdisplay.invisibility = 0 - hud_used.lingchemdisplay.maptext = "
    [round(mind.changeling.chem_charges)]
    " + hud_used.lingchemdisplay.maptext = "
    [round(changeling.chem_charges)]
    " else hud_used.lingchemdisplay.invisibility = INVISIBILITY_ABSTRACT diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index 779e7f2f90..7c65e4a604 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -74,9 +74,10 @@ stat(null, "Intent: [a_intent]") stat(null, "Move Mode: [m_intent]") if(client && mind) - if(mind.changeling) - stat("Chemical Storage", "[mind.changeling.chem_charges]/[mind.changeling.chem_storage]") - stat("Absorbed DNA", mind.changeling.absorbedcount) + var/datum/antagonist/changeling/changeling = mind.has_antag_datum(/datum/antagonist/changeling) + if(changeling) + stat("Chemical Storage", "[changeling.chem_charges]/[changeling.chem_storage]") + stat("Absorbed DNA", changeling.absorbedcount) return diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index 5a3d10ac12..5f50b7adee 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -57,7 +57,7 @@ deadchat_broadcast(rendered, follow_target = src, turf_target = T, message_type=DEADCHAT_DEATHRATTLE) if(mind) mind.store_memory("Time of death: [tod]", 0) - GLOB.living_mob_list -= src + GLOB.alive_mob_list -= src if(!gibbed) GLOB.dead_mob_list += src set_drugginess(0) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 0cdcd90e61..5abe664328 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -15,7 +15,8 @@ real_name = name var/datum/atom_hud/data/human/medical/advanced/medhud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] medhud.add_to_hud(src) - faction += "\ref[src]" + faction += "[REF(src)]" + GLOB.mob_living_list += src /mob/living/prepare_huds() @@ -47,6 +48,7 @@ qdel(I) staticOverlays.len = 0 remove_from_all_data_huds() + GLOB.mob_living_list -= src return ..() @@ -105,7 +107,8 @@ //Called when we bump onto a mob /mob/living/proc/MobCollide(mob/M) - + //Even if we don't push/swap places, we "touched" them, so spread fire + spreadFire(M) //Also diseases for(var/thing in viruses) var/datum/disease/D = thing @@ -120,29 +123,6 @@ if(now_pushing) return TRUE - //TODO FOR LATER PRS: Make passing tables an automatic thing for flying and passable objects be determined better to prevent huge amounts of flags being set when mobs fly. - if((movement_type) ^ (M.movement_type)) //Fly past each other. - now_pushing = TRUE - var/old = pass_flags & PASSMOB - var/old_p = pulling? (pulling.pass_flags & PASSMOB) : NONE - var/atom/movable/cached = pulling - pass_flags |= PASSMOB - var/obj/item/I = cached - if(cached && (isliving(cached) || (istype(I) && (I.w_class < WEIGHT_CLASS_BULKY)))) - var/mob/living/l = cached - if(l.mob_size <= mob_size) - cached.pass_flags |= PASSMOB - Move(get_turf(M)) - if(!old) - pass_flags &= ~PASSMOB - if(cached && !old_p) - cached.pass_flags &= ~PASSMOB - cached = null - now_pushing = FALSE - return TRUE - - //Even if we don't push/swap places, we "touched" them, so spread fire - spreadFire(M) //Should stop you pushing a restrained person out of the way if(isliving(M)) @@ -390,7 +370,7 @@ fully_heal(admin_revive) if(stat == DEAD && can_be_revived()) //in some cases you can't revive (e.g. no brain) GLOB.dead_mob_list -= src - GLOB.living_mob_list += src + GLOB.alive_mob_list += src suiciding = 0 stat = UNCONSCIOUS //the mob starts unconscious, blind_eyes(1) @@ -493,7 +473,6 @@ s_active.close(src) if(lying && !buckled && prob(getBruteLoss()*200/maxHealth)) - makeTrail(newloc, T, old_direction) /mob/living/movement_delay(ignorewalk = 0) @@ -501,21 +480,21 @@ if(isopenturf(loc) && !is_flying()) var/turf/open/T = loc . += T.slowdown - var/static/config_run_delay - var/static/config_walk_delay + var/static/datum/config_entry/number/run_delay/config_run_delay + var/static/datum/config_entry/number/walk_delay/config_walk_delay if(isnull(config_run_delay)) config_run_delay = CONFIG_GET(number/run_delay) config_walk_delay = CONFIG_GET(number/walk_delay) if(ignorewalk) - . += config_run_delay + . += config_run_delay.value_cache else switch(m_intent) if(MOVE_INTENT_RUN) if(drowsyness > 0) . += 6 - . += config_run_delay + . += config_run_delay.value_cache if(MOVE_INTENT_WALK) - . += config_walk_delay + . += config_walk_delay.value_cache /mob/living/proc/makeTrail(turf/target_turf, turf/start, direction) if(!has_gravity()) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 7e3d1cd320..a2fdb9d2b0 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -69,7 +69,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( "÷" = "cords" )) -/mob/living/say(message, bubble_type,var/list/spans = list(), sanitize = TRUE, datum/language/language = null) +/mob/living/say(message, bubble_type,var/list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE) var/static/list/crit_allowed_modes = list(MODE_WHISPER = TRUE, MODE_CHANGELING = TRUE, MODE_ALIEN = TRUE) var/static/list/unconscious_allowed_modes = list(MODE_CHANGELING = TRUE, MODE_ALIEN = TRUE) @@ -105,7 +105,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( say_dead(original_message) return - if(check_emote(original_message) || !can_speak_basic(original_message)) + if(check_emote(original_message) || !can_speak_basic(original_message, ignore_spam)) return if(in_critical) @@ -270,12 +270,12 @@ GLOBAL_LIST_INIT(department_radio_keys, list( if(can_speak_basic(message) && can_speak_vocal(message)) return 1 -/mob/living/proc/can_speak_basic(message) //Check BEFORE handling of xeno and ling channels +/mob/living/proc/can_speak_basic(message, ignore_spam = FALSE) //Check BEFORE handling of xeno and ling channels if(client) if(client.prefs.muted & MUTE_IC) to_chat(src, "You cannot speak in IC (muted).") return 0 - if(client.handle_spam_prevention(message,MUTE_IC)) + if(!ignore_spam && client.handle_spam_prevention(message,MUTE_IC)) return 0 return 1 @@ -336,8 +336,9 @@ GLOBAL_LIST_INIT(department_radio_keys, list( if(prob(40)) to_chat(M, "We can faintly sense an outsider trying to communicate through the hivemind...") if(2) - var/msg = "[mind.changeling.changelingID]: [message]" - log_talk(src,"[mind.changeling.changelingID]/[key] : [message]",LOGSAY) + var/datum/antagonist/changeling/changeling = mind.has_antag_datum(/datum/antagonist/changeling) + var/msg = "[changeling.changelingID]: [message]" + log_talk(src,"[changeling.changelingID]/[key] : [message]",LOGSAY) for(var/_M in GLOB.mob_list) var/mob/M = _M if(M in GLOB.dead_mob_list) @@ -413,10 +414,12 @@ GLOBAL_LIST_INIT(department_radio_keys, list( return 0 /mob/living/lingcheck() //1 is ling w/ no hivemind. 2 is ling w/hivemind. 3 is ling victim being linked into hivemind. - if(mind && mind.changeling) - if(mind.changeling.changeling_speak) - return 2 - return 1 + if(mind) + var/datum/antagonist/changeling/changeling = mind.has_antag_datum(/datum/antagonist/changeling) + if(changeling) + if(changeling.changeling_speak) + return 2 + return 1 if(mind && mind.linglink) return 3 return 0 diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index b176649a37..36bd1893e2 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -267,7 +267,7 @@ /mob/living/silicon/ai/proc/ai_alerts() var/dat = "Current Station Alerts\n" - dat += "Close

    " + dat += "Close

    " for (var/cat in alarms) dat += text("[]
    \n", cat) var/list/L = alarms[cat] @@ -281,11 +281,11 @@ if (C && istype(C, /list)) var/dat2 = "" for (var/obj/machinery/camera/I in C) - dat2 += text("[][]", (dat2=="") ? "" : " | ", src, I, I.c_tag) + dat2 += text("[][]", (dat2=="") ? "" : " | ", I.c_tag) dat += text("-- [] ([])", A.name, (dat2!="") ? dat2 : "No Camera") else if (C && istype(C, /obj/machinery/camera)) var/obj/machinery/camera/Ctmp = C - dat += text("-- [] ([])", A.name, src, C, Ctmp.c_tag) + dat += text("-- [] ([])", A.name, Ctmp.c_tag) else dat += text("-- [] (No Camera)", A.name) if (sources.len > 1) @@ -404,14 +404,14 @@ if(call_bot_cooldown > world.time) to_chat(src, "Error: Your last call bot command is still processing, please wait for the bot to finish calculating a route.") return - Bot = locate(href_list["callbot"]) in GLOB.living_mob_list + Bot = locate(href_list["callbot"]) in GLOB.alive_mob_list if(!Bot || Bot.remote_disabled || src.control_disabled) return //True if there is no bot found, the bot is manually emagged, or the AI is carded with wireless off. waypoint_mode = 1 to_chat(src, "Set your waypoint by clicking on a valid location free of obstructions.") return if(href_list["interface"]) //Remotely connect to a bot! - Bot = locate(href_list["interface"]) in GLOB.living_mob_list + Bot = locate(href_list["interface"]) in GLOB.alive_mob_list if(!Bot || Bot.remote_disabled || src.control_disabled) return Bot.attack_ai(src) @@ -465,10 +465,10 @@ var/ai_Zlevel = ai_current_turf.z var/d var/area/bot_area - d += "Query network status
    " + d += "Query network status
    " d += "" - for (Bot in GLOB.living_mob_list) + for (Bot in GLOB.alive_mob_list) if(Bot.z == ai_Zlevel && !Bot.remote_disabled) //Only non-emagged bots on the same Z-level are detected! bot_area = get_area(Bot) var/bot_mode = Bot.get_mode() @@ -476,8 +476,8 @@ //If the bot is on, it will display the bot's current mode status. If the bot is not mode, it will just report "Idle". "Inactive if it is not on at all. d += "" d += "" - d += "" - d += "" + d += "" + d += "" d += "" d = format_text(d) @@ -531,12 +531,12 @@ L[A.name] = list(A, (C) ? C : O, list(alarmsource)) if (O) if (C && C.can_use()) - queueAlarm("--- [class] alarm detected in [A.name]! ([C.c_tag])", class) + queueAlarm("--- [class] alarm detected in [A.name]! ([C.c_tag])", class) else if (CL && CL.len) var/foo = 0 var/dat2 = "" for (var/obj/machinery/camera/I in CL) - dat2 += text("[][]", (!foo) ? "" : " | ", src, I, I.c_tag) //I'm not fixing this shit... + dat2 += text("[][]", (!foo) ? "" : " | ", I.c_tag) //I'm not fixing this shit... foo = 1 queueAlarm(text ("--- [] alarm detected in []! ([])", class, A.name, dat2), class) else @@ -828,7 +828,7 @@ raw_message = lang_treat(speaker, message_language, raw_message, spans, message_mode) var/start = "Relayed Speech: " var/namepart = "[speaker.GetVoice()][speaker.get_alt_name()]" - var/hrefpart = "" + var/hrefpart = "" var/jobpart if (iscarbon(speaker)) diff --git a/code/modules/mob/living/silicon/ai/say.dm b/code/modules/mob/living/silicon/ai/say.dm index 8429889ebd..8593eafc37 100644 --- a/code/modules/mob/living/silicon/ai/say.dm +++ b/code/modules/mob/living/silicon/ai/say.dm @@ -7,7 +7,7 @@ /mob/living/silicon/ai/compose_track_href(atom/movable/speaker, namepart) var/mob/M = speaker.GetSource() if(M) - return "" + return "" return "" /mob/living/silicon/ai/compose_job(atom/movable/speaker, message_langs, raw_message, radio_freq) @@ -85,7 +85,7 @@ var/index = 0 for(var/word in GLOB.vox_sounds) index++ - dat += "[capitalize(word)]" + dat += "[capitalize(word)]" if(index != GLOB.vox_sounds.len) dat += " / " diff --git a/code/modules/mob/living/silicon/pai/death.dm b/code/modules/mob/living/silicon/pai/death.dm index 0526db2a78..a75089ed68 100644 --- a/code/modules/mob/living/silicon/pai/death.dm +++ b/code/modules/mob/living/silicon/pai/death.dm @@ -9,6 +9,6 @@ clear_fullscreens() //New pAI's get a brand new mind to prevent meta stuff from their previous life. This new mind causes problems down the line if it's not deleted here. - GLOB.living_mob_list -= src + GLOB.alive_mob_list -= src ghostize() qdel(src) diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm index d70a12eb38..e21abfc6b2 100644 --- a/code/modules/mob/living/silicon/pai/software.dm +++ b/code/modules/mob/living/silicon/pai/software.dm @@ -278,11 +278,11 @@ /mob/living/silicon/pai/proc/softwareMenu() // Populate the right menu var/dat = "" - dat += "Refresh
    " + dat += "Refresh
    " // Built-in - dat += "Directives
    " - dat += "Radio Configuration
    " - dat += "Screen Display
    " + dat += "Directives
    " + dat += "Radio Configuration
    " + dat += "Screen Display
    " //dat += "Text Messaging
    " dat += "
    " @@ -290,42 +290,42 @@ dat += "Basic
    " for(var/s in software) if(s == "digital messenger") - dat += "Digital Messenger
    " + dat += "Digital Messenger
    " if(s == "crew manifest") - dat += "Crew Manifest
    " + dat += "Crew Manifest
    " if(s == "medical records") - dat += "Medical Records
    " + dat += "Medical Records
    " if(s == "security records") - dat += "Security Records
    " + dat += "Security Records
    " if(s == "camera") - dat += "Camera Jack
    " + dat += "Camera Jack
    " if(s == "remote signaller") - dat += "Remote Signaller
    " + dat += "Remote Signaller
    " dat += "
    " // Advanced dat += "Advanced
    " for(var/s in software) if(s == "atmosphere sensor") - dat += "Atmospheric Sensor
    " + dat += "Atmospheric Sensor
    " if(s == "heartbeat sensor") - dat += "Heartbeat Sensor
    " + dat += "Heartbeat Sensor
    " if(s == "security HUD") - dat += "Facial Recognition Suite[(secHUD) ? " On" : " Off"]
    " + dat += "Facial Recognition Suite[(secHUD) ? " On" : " Off"]
    " if(s == "medical HUD") - dat += "Medical Analysis Suite[(medHUD) ? " On" : " Off"]
    " + dat += "Medical Analysis Suite[(medHUD) ? " On" : " Off"]
    " if(s == "universal translator") var/translator_on = (flags_2 & OMNITONGUE_2) - dat += "Universal Translator[translator_on ? " On" : " Off"]
    " + dat += "Universal Translator[translator_on ? " On" : " Off"]
    " if(s == "projection array") - dat += "Projection Array
    " + dat += "Projection Array
    " if(s == "camera jack") - dat += "Camera Jack
    " + dat += "Camera Jack
    " if(s == "door jack") - dat += "Door Jack
    " + dat += "Door Jack
    " dat += "
    " dat += "
    " - dat += "Download additional software" + dat += "Download additional software" return dat @@ -341,7 +341,7 @@ if(!software.Find(s)) var/cost = available_software[s] var/displayName = uppertext(s) - dat += "[displayName] ([cost])
    " + dat += "[displayName] ([cost])
    " else var/displayName = lowertext(s) dat += "[displayName] (Download Complete)
    " @@ -354,7 +354,7 @@ dat += "[(master) ? "Your master: [master] ([master_dna])" : "You are bound to no one."]" dat += "

    " - dat += "Request carrier DNA sample
    " + dat += "Request carrier DNA sample
    " dat += "

    Directives


    " dat += "Prime Directive
    " dat += "     [laws.zeroth]
    " @@ -397,20 +397,20 @@ dat += "

    Remote Signaller



    " dat += {"Frequency/Code for signaler:
    Frequency: - - - - + - + - [format_frequency(sradio.frequency)] - + - +
    + + + +
    Code: - - - - + - + - [sradio.code] - + - +
    + + + +
    - Send Signal
    "} + Send Signal
    "} return dat // Crew Manifest @@ -429,7 +429,7 @@ . += "

    Medical Records


    " if(GLOB.data_core.general) for(var/datum/data/record/R in sortRecord(GLOB.data_core.general)) - . += "[R.fields["id"]]: [R.fields["name"]]
    " + . += "
    [R.fields["id"]]: [R.fields["name"]]
    " if(1) . += "
    Medical Record

    " if(medicalActive1 in GLOB.data_core.general) @@ -437,10 +437,10 @@ else . += "
    Requested medical record not found.

    " if(medicalActive2 in GLOB.data_core.medical) - . += "
    \n
    Medical Data

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

    " + . += "
    \n
    Medical Data

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

    " else . += "
    Requested medical record not found.

    " - . += "
    \nBack
    " + . += "
    \nBack
    " return . // Security Records @@ -451,18 +451,18 @@ . += "

    Security Records


    " if(GLOB.data_core.general) for(var/datum/data/record/R in sortRecord(GLOB.data_core.general)) - . += "[R.fields["id"]]: [R.fields["name"]]
    " + . += "
    [R.fields["id"]]: [R.fields["name"]]
    " if(1) . += "

    Security Record

    " if(securityActive1 in GLOB.data_core.general) - . += "Name:
    [securityActive1.fields["name"]] ID: [securityActive1.fields["id"]]
    \nSex: [securityActive1.fields["sex"]]
    \nAge: [securityActive1.fields["age"]]
    \nRank: [securityActive1.fields["rank"]]
    \nFingerprint: [securityActive1.fields["fingerprint"]]
    \nPhysical Status: [securityActive1.fields["p_stat"]]
    \nMental Status: [securityActive1.fields["m_stat"]]
    " + . += "Name: [securityActive1.fields["name"]] ID: [securityActive1.fields["id"]]
    \nSex: [securityActive1.fields["sex"]]
    \nAge: [securityActive1.fields["age"]]
    \nRank: [securityActive1.fields["rank"]]
    \nFingerprint: [securityActive1.fields["fingerprint"]]
    \nPhysical Status: [securityActive1.fields["p_stat"]]
    \nMental Status: [securityActive1.fields["m_stat"]]
    " else . += "
    Requested security record not found,

    " if(securityActive2 in GLOB.data_core.security) - . += "
    \nSecurity Data
    \nCriminal Status: [securityActive2.fields["criminal"]]
    \n
    \nMinor Crimes: [securityActive2.fields["mi_crim"]]
    \nDetails: [securityActive2.fields["mi_crim_d"]]
    \n
    \nMajor Crimes: [securityActive2.fields["ma_crim"]]
    \nDetails: [securityActive2.fields["ma_crim_d"]]
    \n
    \nImportant Notes:
    \n\t[securityActive2.fields["notes"]]
    \n
    \n
    Comments/Log

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

    " else . += "
    Requested security record not found,

    " - . += text("
    \nBack
    ", src) + . += "
    \nBack
    " return . // Universal Translator @@ -470,7 +470,7 @@ var/translator_on = (flags_2 & OMNITONGUE_2) . = {"

    Universal Translator


    When enabled, this device will permamently be able to speak and understand all known forms of communication.

    - The device is currently [translator_on ? "en" : "dis" ]abled.
    [translator_on ? "" : "Activate Translation Module
    "]"} + The device is currently [translator_on ? "en" : "dis" ]abled.
    [translator_on ? "" : "Activate Translation Module
    "]"} return . // Security HUD @@ -478,7 +478,7 @@ var/dat = {"

    Facial Recognition Suite


    When enabled, this package will scan all viewable faces and compare them against the known criminal database, providing real-time graphical data about any detected persons of interest.

    The package is currently [ (secHUD) ? "en" : "dis" ]abled.
    - Toggle Package
    + Toggle Package
    "} return dat @@ -490,9 +490,9 @@

    Visual Status Overlay


    When enabled, this package will scan all nearby crewmembers' vitals and provide real-time graphical data about their state of health.

    The suite is currently [ (medHUD) ? "en" : "dis" ]abled.
    - Toggle Suite
    + Toggle Suite

    - Host Bioscan
    + Host Bioscan
    "} if(subscreen == 1) dat += {"

    Medical Analysis Suite


    @@ -523,7 +523,7 @@ Stage: [D.stage]/[D.max_stages]
    Possible Cure: [D.cure_text]
    "} - dat += "Visual Status Overlay
    " + dat += "Visual Status Overlay
    " return dat // Atmospheric Scanner @@ -548,7 +548,7 @@ if(gas_level > 0.01) dat += "[env_gases[id][GAS_META][META_GAS_NAME]]: [round(gas_level*100)]%
    " dat += "Temperature: [round(environment.temperature-T0C)]°C
    " - dat += "Refresh Reading
    " + dat += "Refresh Reading
    " dat += "
    " return dat @@ -577,7 +577,7 @@ dat += "Cable status : " if(!cable) dat += "Retracted
    " - dat += "Extend Cable
    " + dat += "Extend Cable
    " return dat if(!cable.machine) dat += "Extended
    " @@ -591,10 +591,10 @@ // var/obj/machinery/airlock/door = machine if(!hackdoor) - dat += "Begin Airlock Jacking
    " + dat += "Begin Airlock Jacking
    " else dat += "Jack in progress... [hackprogress]% complete.
    " - dat += "Cancel Airlock Jack
    " + dat += "Cancel Airlock Jack
    " return dat // Door Jack - supporting proc @@ -611,16 +611,16 @@ /mob/living/silicon/pai/proc/pdamessage() var/dat = "

    Digital Messenger

    " - dat += {"Signal/Receiver Status: + dat += {"Signal/Receiver Status: [(pda.toff) ? "\[Off\]" : "\[On\]"]
    - Ringer Status: + Ringer Status: [(pda.silent) ? "\[Off\]" : "\[On\]"]

    "} dat += "
      " if(!pda.toff) for (var/obj/item/device/pda/P in sortNames(get_viewable_pdas())) if (P == pda) continue - dat += "
    • [P]" + dat += "
    • [P]" dat += "
    • " dat += "
    " dat += "

    " diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 96467be074..72dc341276 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -167,12 +167,12 @@ if(mmi && mind)//Safety for when a cyborg gets dust()ed. Or there is no MMI inside. var/turf/T = get_turf(loc)//To hopefully prevent run time errors. if(T) - mmi.loc = T + mmi.forceMove(T) if(mmi.brainmob) if(mmi.brainmob.stat == DEAD) mmi.brainmob.stat = CONSCIOUS GLOB.dead_mob_list -= mmi.brainmob - GLOB.living_mob_list += mmi.brainmob + GLOB.alive_mob_list += mmi.brainmob mind.transfer_to(mmi.brainmob) mmi.update_icon() else @@ -770,24 +770,24 @@ /mob/living/silicon/robot/proc/deconstruct() var/turf/T = get_turf(src) if (robot_suit) - robot_suit.loc = T - robot_suit.l_leg.loc = T + robot_suit.forceMove(T) + robot_suit.l_leg.forceMove(T) robot_suit.l_leg = null - robot_suit.r_leg.loc = T + robot_suit.r_leg.forceMove(T) robot_suit.r_leg = null new /obj/item/stack/cable_coil(T, robot_suit.chest.wired) - robot_suit.chest.loc = T + robot_suit.chest.forceMove(T) robot_suit.chest.wired = 0 robot_suit.chest = null - robot_suit.l_arm.loc = T + robot_suit.l_arm.forceMove(T) robot_suit.l_arm = null - robot_suit.r_arm.loc = T + robot_suit.r_arm.forceMove(T) robot_suit.r_arm = null - robot_suit.head.loc = T - robot_suit.head.flash1.loc = T + robot_suit.head.forceMove(T) + robot_suit.head.flash1.forceMove(T) robot_suit.head.flash1.burn_out() robot_suit.head.flash1 = null - robot_suit.head.flash2.loc = T + robot_suit.head.flash2.forceMove(T) robot_suit.head.flash2.burn_out() robot_suit.head.flash2 = null robot_suit.head = null @@ -806,7 +806,7 @@ var/obj/item/device/assembly/flash/handheld/F = new /obj/item/device/assembly/flash/handheld(T) F.burn_out() if (cell) //Sanity check. - cell.loc = T + cell.forceMove(T) cell = null qdel(src) @@ -882,13 +882,13 @@ return switch(notifytype) if(NEW_BORG) //New Cyborg - to_chat(connected_ai, "

    NOTICE - New cyborg connection detected: [name]
    ") + to_chat(connected_ai, "

    NOTICE - New cyborg connection detected: [name]
    ") if(NEW_MODULE) //New Module to_chat(connected_ai, "

    NOTICE - Cyborg module change detected: [name] has loaded the [designation] module.
    ") if(RENAME) //New Name to_chat(connected_ai, "

    NOTICE - Cyborg reclassification detected: [oldname] is now designated as [newname].
    ") if(AI_SHELL) //New Shell - to_chat(connected_ai, "

    NOTICE - New cyborg shell detected: [name]
    ") + to_chat(connected_ai, "

    NOTICE - New cyborg shell detected: [name]
    ") if(DISCONNECT) //Tampering with the wires to_chat(connected_ai, "

    NOTICE - Remote telemetry lost with [name].
    ") diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 3758e73688..293f4892e4 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -634,14 +634,17 @@ /obj/item/retractor, /obj/item/hemostat, /obj/item/cautery, + /obj/item/surgicaldrill, /obj/item/scalpel, /obj/item/melee/transforming/energy/sword/cyborg/saw, /obj/item/roller/robo, /obj/item/card/emag, /obj/item/crowbar/cyborg, + /obj/item/extinguisher/mini, /obj/item/pinpointer/syndicate_cyborg, /obj/item/stack/medical/gauze/cyborg, - /obj/item/gun/medbeam) + /obj/item/gun/medbeam, + /obj/item/organ_storage) ratvar_modules = list( /obj/item/clockwork/slab/cyborg/medical, /obj/item/clockwork/weapon/ratvarian_spear) diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm index 4178438571..f3e7baa0d9 100644 --- a/code/modules/mob/living/silicon/say.dm +++ b/code/modules/mob/living/silicon/say.dm @@ -14,7 +14,7 @@ for(var/mob/M in GLOB.player_list) if(M.binarycheck()) if(isAI(M)) - var/renderedAI = "Robotic Talk, [name] ([desig]) [message_a]" + var/renderedAI = "Robotic Talk, [name] ([desig]) [message_a]" to_chat(M, renderedAI) else to_chat(M, rendered) diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 527474a0f3..fa8447885d 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -110,7 +110,7 @@ if(alarm_types_show["Camera"]) msg += "CAMERA: [alarm_types_show["Camera"]] alarms detected. - " - msg += "\[Show Alerts\]" + msg += "\[Show Alerts\]" to_chat(src, msg) if(alarms_to_clear.len < 3) @@ -135,7 +135,7 @@ if(alarm_types_show["Camera"]) msg += "CAMERA: [alarm_types_clear["Camera"]] alarms cleared. - " - msg += "\[Show Alerts\]" + msg += "\[Show Alerts\]" to_chat(src, msg) @@ -253,12 +253,12 @@ for(var/index = 1, index <= src.laws.devillaws.len, index++) if (!src.devillawcheck[index]) src.devillawcheck[index] = "No" - list += {"[src.devillawcheck[index]] 666: [src.laws.devillaws[index]]
    "} + list += {"[src.devillawcheck[index]] 666: [src.laws.devillaws[index]]
    "} if (src.laws.zeroth) if (!src.lawcheck[1]) src.lawcheck[1] = "No" //Given Law 0's usual nature, it defaults to NOT getting reported. --NeoFite - list += {"[src.lawcheck[1]] 0: [src.laws.zeroth]
    "} + list += {"[src.lawcheck[1]] 0: [src.laws.zeroth]
    "} for (var/index = 1, index <= src.laws.ion.len, index++) var/law = src.laws.ion[index] @@ -266,7 +266,7 @@ if (length(law) > 0) if (!src.ioncheck[index]) src.ioncheck[index] = "Yes" - list += {"[src.ioncheck[index]] [ionnum()]: [law]
    "} + list += {"[src.ioncheck[index]] [ionnum()]: [law]
    "} src.ioncheck.len += 1 var/number = 1 @@ -278,7 +278,7 @@ if (!src.lawcheck[number+1]) src.lawcheck[number+1] = "Yes" - list += {"[src.lawcheck[number+1]] [number]: [law]
    "} + list += {"[src.lawcheck[number+1]] [number]: [law]
    "} number++ for (var/index = 1, index <= src.laws.supplied.len, index++) @@ -287,9 +287,9 @@ src.lawcheck.len += 1 if (!src.lawcheck[number+1]) src.lawcheck[number+1] = "Yes" - list += {"[src.lawcheck[number+1]] [number]: [law]
    "} + list += {"[src.lawcheck[number+1]] [number]: [law]
    "} number++ - list += {"

    State Laws"} + list += {"

    State Laws"} usr << browse(list, "window=laws") diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 299fa25226..5d943bc1e5 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -817,9 +817,9 @@ Pass a positive integer as an argument to override a bot's default speed. var/hack if(issilicon(user) || IsAdminGhost(user)) //Allows silicons or admins to toggle the emag status of a bot. hack += "[emagged == 2 ? "Software compromised! Unit may exhibit dangerous or erratic behavior." : "Unit operating normally. Release safety lock?"]
    " - hack += "Harm Prevention Safety System: [emagged ? "DANGER" : "Engaged"]
    " + hack += "Harm Prevention Safety System: [emagged ? "DANGER" : "Engaged"]
    " else if(!locked) //Humans with access can use this option to hide a bot from the AI's remote control panel and PDA control. - hack += "Remote network control radio: [remote_disabled ? "Disconnected" : "Connected"]
    " + hack += "Remote network control radio: [remote_disabled ? "Disconnected" : "Connected"]
    " return hack /mob/living/simple_animal/bot/proc/showpai(mob/user) @@ -829,9 +829,9 @@ Pass a positive integer as an argument to override a bot's default speed. eject += "Personality card status: " if(paicard) if(client) - eject += "Active" + eject += "Active" else - eject += "Inactive" + eject += "Inactive" else if(!allow_pai || key) eject += "Unavailable" else diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index 18c4dcd40c..61c34b0466 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -278,14 +278,14 @@ dat += hack(user) dat += showpai(user) dat += text({" -Status: [on ? "On" : "Off"]
    +Status: [on ? "On" : "Off"]
    Behaviour controls are [locked ? "locked" : "unlocked"]
    Maintenance panel panel is [open ? "opened" : "closed"]"}) if(!locked || issilicon(user)|| IsAdminGhost(user)) - dat += "
    Clean Blood: [blood ? "Yes" : "No"]" - dat += "
    Clean Trash: [trash ? "Yes" : "No"]" - dat += "
    Exterminate Pests: [pests ? "Yes" : "No"]" - dat += "

    Patrol Station: [auto_patrol ? "Yes" : "No"]" + dat += "
    Clean Blood: [blood ? "Yes" : "No"]" + dat += "
    Clean Trash: [trash ? "Yes" : "No"]" + dat += "
    Exterminate Pests: [pests ? "Yes" : "No"]" + dat += "

    Patrol Station: [auto_patrol ? "Yes" : "No"]" return dat /mob/living/simple_animal/bot/cleanbot/Topic(href, href_list) diff --git a/code/modules/mob/living/simple_animal/bot/construction.dm b/code/modules/mob/living/simple_animal/bot/construction.dm index 6c23fed112..0ef926f942 100644 --- a/code/modules/mob/living/simple_animal/bot/construction.dm +++ b/code/modules/mob/living/simple_animal/bot/construction.dm @@ -282,11 +282,11 @@ var/skin = null //Same as medbot, set to tox or ointment for the respective kits. w_class = WEIGHT_CLASS_NORMAL - /obj/item/firstaid_arm_assembly/New() - ..() - spawn(5) - if(skin) - add_overlay("kit_skin_[skin]") +/obj/item/firstaid_arm_assembly/New() + ..() + spawn(5) + if(skin) + add_overlay("kit_skin_[skin]") /obj/item/storage/firstaid/attackby(obj/item/bodypart/S, mob/user, params) diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm index ddf4c93559..f2b30a0a3c 100644 --- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm +++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm @@ -103,7 +103,7 @@ Status: []
    Behaviour controls are [locked ? "locked" : "unlocked"]
    Maintenance panel panel is [open ? "opened" : "closed"]
    "}, -"[on ? "On" : "Off"]" ) +"[on ? "On" : "Off"]" ) if(!locked || issilicon(user)|| IsAdminGhost(user)) if(!lasercolor) @@ -116,12 +116,12 @@ Operating Mode: []
    Report Arrests[]
    Auto Patrol[]"}, -"[idcheck ? "Yes" : "No"]", -"[weaponscheck ? "Yes" : "No"]", -"[check_records ? "Yes" : "No"]", -"[arrest_type ? "Detain" : "Arrest"]", -"[declare_arrests ? "Yes" : "No"]", -"[auto_patrol ? "On" : "Off"]" ) +"[idcheck ? "Yes" : "No"]", +"[weaponscheck ? "Yes" : "No"]", +"[check_records ? "Yes" : "No"]", +"[arrest_type ? "Detain" : "Arrest"]", +"[declare_arrests ? "Yes" : "No"]", +"[auto_patrol ? "On" : "Off"]" ) return dat diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index 1c3adb1dfe..1ae1c7d3a6 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -8,6 +8,7 @@ anchored = FALSE health = 25 maxHealth = 25 + spacewalk = TRUE radio_key = /obj/item/device/encryptionkey/headset_eng radio_channel = "Engineering" @@ -45,9 +46,6 @@ access_card.access += J.get_access() prev_access = access_card.access -/mob/living/simple_animal/bot/floorbot/Process_Spacemove(movement_dir = 0) - return 1 - /mob/living/simple_animal/bot/floorbot/turn_on() . = ..() update_icon() @@ -74,28 +72,28 @@ dat += hack(user) dat += showpai(user) dat += "Floor Repairer Controls v1.1

    " - dat += "Status: [on ? "On" : "Off"]
    " + dat += "Status: [on ? "On" : "Off"]
    " dat += "Maintenance panel panel is [open ? "opened" : "closed"]
    " dat += "Special tiles: " if(specialtiles) - dat += "Loaded \[[specialtiles]/[maxtiles]\]
    " + dat += "Loaded \[[specialtiles]/[maxtiles]\]
    " else dat += "None Loaded
    " dat += "Behaviour controls are [locked ? "locked" : "unlocked"]
    " if(!locked || issilicon(user) || IsAdminGhost(user)) - dat += "Add tiles to new hull plating: [autotile ? "Yes" : "No"]
    " - dat += "Place floor tiles: [placetiles ? "Yes" : "No"]
    " - dat += "Replace existing floor tiles with custom tiles: [replacetiles ? "Yes" : "No"]
    " - dat += "Repair damaged tiles and platings: [fixfloors ? "Yes" : "No"]
    " - dat += "Traction Magnets: [anchored ? "Engaged" : "Disengaged"]
    " - dat += "Patrol Station: [auto_patrol ? "Yes" : "No"]
    " + dat += "Add tiles to new hull plating: [autotile ? "Yes" : "No"]
    " + dat += "Place floor tiles: [placetiles ? "Yes" : "No"]
    " + dat += "Replace existing floor tiles with custom tiles: [replacetiles ? "Yes" : "No"]
    " + dat += "Repair damaged tiles and platings: [fixfloors ? "Yes" : "No"]
    " + dat += "Traction Magnets: [anchored ? "Engaged" : "Disengaged"]
    " + dat += "Patrol Station: [auto_patrol ? "Yes" : "No"]
    " var/bmode if(targetdirection) bmode = dir2text(targetdirection) else bmode = "disabled" - dat += "Line Mode : [bmode]
    " + dat += "Line Mode : [bmode]
    " return dat diff --git a/code/modules/mob/living/simple_animal/bot/honkbot.dm b/code/modules/mob/living/simple_animal/bot/honkbot.dm index 04a83647ed..f41a6138cb 100644 --- a/code/modules/mob/living/simple_animal/bot/honkbot.dm +++ b/code/modules/mob/living/simple_animal/bot/honkbot.dm @@ -89,12 +89,12 @@ Status: []
    Behaviour controls are [locked ? "locked" : "unlocked"]
    Maintenance panel panel is [open ? "opened" : "closed"]"}, -"[on ? "On" : "Off"]" ) +"[on ? "On" : "Off"]" ) if(!locked || issilicon(user) || IsAdminGhost(user)) dat += text({"
    Auto Patrol: []"}, -"[auto_patrol ? "On" : "Off"]" ) +"[auto_patrol ? "On" : "Off"]" ) return dat /mob/living/simple_animal/bot/honkbot/proc/judgement_criteria() diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index 7e9ef07a94..06c953a2da 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -136,37 +136,37 @@ dat += hack(user) dat += showpai(user) dat += "Medical Unit Controls v1.1

    " - dat += "Status: [on ? "On" : "Off"]
    " + dat += "Status: [on ? "On" : "Off"]
    " dat += "Maintenance panel panel is [open ? "opened" : "closed"]
    " dat += "Beaker: " if(reagent_glass) - dat += "Loaded \[[reagent_glass.reagents.total_volume]/[reagent_glass.reagents.maximum_volume]\]" + dat += "Loaded \[[reagent_glass.reagents.total_volume]/[reagent_glass.reagents.maximum_volume]\]" else dat += "None Loaded" dat += "
    Behaviour controls are [locked ? "locked" : "unlocked"]
    " if(!locked || issilicon(user) || IsAdminGhost(user)) dat += "Healing Threshold: " - dat += "-- " - dat += "- " + dat += "-- " + dat += "- " dat += "[heal_threshold] " - dat += "+ " - dat += "++" + dat += "+ " + dat += "++" dat += "
    " dat += "Injection Level: " - dat += "- " + dat += "- " dat += "[injection_amount] " - dat += "+ " + dat += "+ " dat += "
    " dat += "Reagent Source: " - dat += "[use_beaker ? "Loaded Beaker (When available)" : "Internal Synthesizer"]
    " + dat += "[use_beaker ? "Loaded Beaker (When available)" : "Internal Synthesizer"]
    " - dat += "Treat Viral Infections: [treat_virus ? "Yes" : "No"]
    " - dat += "The speaker switch is [shut_up ? "off" : "on"]. Toggle
    " - dat += "Critical Patient Alerts: [declare_crit ? "Yes" : "No"]
    " - dat += "Patrol Station: [auto_patrol ? "Yes" : "No"]
    " - dat += "Stationary Mode: [stationary_mode ? "Yes" : "No"]
    " + dat += "Treat Viral Infections: [treat_virus ? "Yes" : "No"]
    " + dat += "The speaker switch is [shut_up ? "off" : "on"]. Toggle
    " + dat += "Critical Patient Alerts: [declare_crit ? "Yes" : "No"]
    " + dat += "Patrol Station: [auto_patrol ? "Yes" : "No"]
    " + dat += "Stationary Mode: [stationary_mode ? "Yes" : "No"]
    " return dat @@ -343,7 +343,7 @@ if(C.stat == DEAD || (C.status_flags & FAKEDEATH)) return FALSE //welp too late for them! - if(!(loc == C.loc) || !(isturf(C.loc) && isturf(loc))) + if(!(loc == C.loc) && !(isturf(C.loc) && isturf(loc))) return FALSE if(C.suiciding) diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index d8fcfd9344..b602e19125 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -282,22 +282,22 @@ dat += "Power level: [cell ? cell.percent() : 0]%" if(locked && !ai && !IsAdminGhost(user)) - dat += " 
    Controls are locked
    Unlock Controls" + dat += " 
    Controls are locked
    Unlock Controls" else - dat += " 
    Controls are unlocked
    Lock Controls

    " + dat += " 
    Controls are unlocked
    Lock Controls

    " - dat += "Toggle Power
    " - dat += "Stop
    " - dat += "Proceed
    " - dat += "Return to Home
    " - dat += "Set Destination
    " - dat += "Set Bot ID
    " - dat += "Set Home
    " - dat += "Toggle Auto Return Home ([auto_return ? "On":"Off"])
    " - dat += "Toggle Auto Pickup Crate ([auto_pickup ? "On":"Off"])
    " - dat += "Toggle Delivery Reporting ([report_delivery ? "On" : "Off"])
    " + dat += "Toggle Power
    " + dat += "Stop
    " + dat += "Proceed
    " + dat += "Return to Home
    " + dat += "Set Destination
    " + dat += "Set Bot ID
    " + dat += "Set Home
    " + dat += "Toggle Auto Return Home ([auto_return ? "On":"Off"])
    " + dat += "Toggle Auto Pickup Crate ([auto_pickup ? "On":"Off"])
    " + dat += "Toggle Delivery Reporting ([report_delivery ? "On" : "Off"])
    " if(load) - dat += "Unload Now
    " + dat += "Unload Now
    " dat += "
    The maintenance hatch is closed.
    " return dat diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index 772604a527..4300746901 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -105,7 +105,7 @@ Status: []
    Behaviour controls are [locked ? "locked" : "unlocked"]
    Maintenance panel panel is [open ? "opened" : "closed"]"}, -"[on ? "On" : "Off"]" ) +"[on ? "On" : "Off"]" ) if(!locked || issilicon(user) || IsAdminGhost(user)) dat += text({"
    @@ -116,12 +116,12 @@ Operating Mode: []
    Report Arrests[]
    Auto Patrol: []"}, -"[idcheck ? "Yes" : "No"]", -"[weaponscheck ? "Yes" : "No"]", -"[check_records ? "Yes" : "No"]", -"[arrest_type ? "Detain" : "Arrest"]", -"[declare_arrests ? "Yes" : "No"]", -"[auto_patrol ? "On" : "Off"]" ) +"[idcheck ? "Yes" : "No"]", +"[weaponscheck ? "Yes" : "No"]", +"[check_records ? "Yes" : "No"]", +"[arrest_type ? "Detain" : "Arrest"]", +"[declare_arrests ? "Yes" : "No"]", +"[auto_patrol ? "On" : "Off"]" ) return dat diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 5f216b7903..0e6ecf1672 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -10,6 +10,7 @@ speak_chance = 1 icon = 'icons/mob/mob.dmi' speed = 0 + spacewalk = TRUE a_intent = INTENT_HARM stop_automated_movement = 1 status_flags = CANPUSH @@ -85,9 +86,6 @@ else if(src != M) return ..() -/mob/living/simple_animal/hostile/construct/Process_Spacemove(movement_dir = 0) - return 1 - /mob/living/simple_animal/hostile/construct/narsie_act() return diff --git a/code/modules/mob/living/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm index cf1b9b08cc..73cdd6f866 100644 --- a/code/modules/mob/living/simple_animal/corpse.dm +++ b/code/modules/mob/living/simple_animal/corpse.dm @@ -12,6 +12,8 @@ name = "Syndicate Operative" id_job = "Operative" id_access_list = list(ACCESS_SYNDICATE) + hair_style = "Bald" + facial_hair_style = "Shaved" outfit = /datum/outfit/syndicatesoldiercorpse /datum/outfit/syndicatesoldiercorpse @@ -31,6 +33,8 @@ name = "Syndicate Commando" id_job = "Operative" id_access_list = list(ACCESS_SYNDICATE) + hair_style = "Bald" + facial_hair_style = "Shaved" outfit = /datum/outfit/syndicatecommandocorpse /datum/outfit/syndicatecommandocorpse @@ -50,6 +54,8 @@ name = "Syndicate Stormtrooper" id_job = "Operative" id_access_list = list(ACCESS_SYNDICATE) + hair_style = "Bald" + facial_hair_style = "Shaved" outfit = /datum/outfit/syndicatestormtroopercorpse /datum/outfit/syndicatestormtroopercorpse @@ -67,11 +73,16 @@ /obj/effect/mob_spawn/human/clown/corpse roundstart = FALSE instant = TRUE - + skin_tone = "caucasian1" + hair_style = "Bald" + facial_hair_style = "Shaved" /obj/effect/mob_spawn/human/corpse/pirate name = "Pirate" + skin_tone = "Caucasian1" //all pirates are white because it's easier that way outfit = /datum/outfit/piratecorpse + hair_style = "Bald" + facial_hair_style = "Shaved" /datum/outfit/piratecorpse name = "Pirate Corpse" @@ -94,12 +105,17 @@ /obj/effect/mob_spawn/human/corpse/russian name = "Russian" outfit = /datum/outfit/russiancorpse + hair_style = "Bald" + facial_hair_style = "Shaved" /datum/outfit/russiancorpse name = "Russian Corpse" uniform = /obj/item/clothing/under/soviet shoes = /obj/item/clothing/shoes/jackboots head = /obj/item/clothing/head/bearpelt + gloves = /obj/item/clothing/gloves/color/black + mask = /obj/item/clothing/mask/gas + /obj/effect/mob_spawn/human/corpse/russian/ranged @@ -109,6 +125,7 @@ name = "Ranged Russian Corpse" head = /obj/item/clothing/head/ushanka + /obj/effect/mob_spawn/human/corpse/russian/ranged/trooper outfit = /datum/outfit/russiancorpse/ranged/trooper @@ -119,8 +136,8 @@ shoes = /obj/item/clothing/shoes/combat gloves = /obj/item/clothing/gloves/combat ears = /obj/item/device/radio/headset - mask = /obj/item/clothing/mask/balaclava head = /obj/item/clothing/head/helmet/alt + mask = /obj/item/clothing/mask/balaclava /obj/effect/mob_spawn/human/corpse/russian/ranged/officer @@ -131,7 +148,7 @@ name = "Russian Officer Corpse" uniform = /obj/item/clothing/under/rank/security/navyblue/russian suit = /obj/item/clothing/suit/security/officer/russian - shoes = /obj/item/clothing/shoes/laceup + shoes = /obj/item/clothing/shoes/combat ears = /obj/item/device/radio/headset head = /obj/item/clothing/head/ushanka @@ -139,6 +156,9 @@ /obj/effect/mob_spawn/human/corpse/wizard name = "Space Wizard Corpse" outfit = /datum/outfit/wizardcorpse + hair_style = "Bald" + facial_hair_style = "Long Beard" + skin_tone = "Caucasian1" /datum/outfit/wizardcorpse name = "Space Wizard Corpse" @@ -153,6 +173,8 @@ id_job = "Private Security Force" id_access = "Security Officer" outfit = /datum/outfit/nanotrasensoldiercorpse2 + hair_style = "Bald" + facial_hair_style = "Shaved" /datum/outfit/nanotrasensoldiercorpse2 name = "NT Private Security Officer Corpse" diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index 5e8a875dce..2a94052274 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -68,13 +68,13 @@ var/dat = "
    Inventory of [name]

    " if(inventory_head) - dat += "
    Head: [inventory_head] (Remove)" + dat += "
    Head: [inventory_head] (Remove)" else - dat += "
    Head: Nothing" + dat += "
    Head: Nothing" if(inventory_back) - dat += "
    Back: [inventory_back] (Remove)" + dat += "
    Back: [inventory_back] (Remove)" else - dat += "
    Back: Nothing" + dat += "
    Back: Nothing" user << browse(dat, text("window=mob[];size=325x500", real_name)) onclose(user, "mob[real_name]") diff --git a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm index a8eb8ad12b..f7ee4ac29a 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm @@ -80,7 +80,7 @@ /mob/living/simple_animal/drone/Initialize() . = ..() - + GLOB.drones_list += src access_card = new /obj/item/card/id(src) var/datum/job/captain/C = new /datum/job/captain access_card.access = C.get_access() @@ -124,6 +124,7 @@ holder.icon_state = "hudstat" /mob/living/simple_animal/drone/Destroy() + GLOB.drones_list -= src qdel(access_card) //Otherwise it ends up on the floor! return ..() diff --git a/code/modules/mob/living/simple_animal/friendly/drone/say.dm b/code/modules/mob/living/simple_animal/friendly/drone/say.dm index bbf3fdc63f..fb0c0c0614 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/say.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/say.dm @@ -18,17 +18,19 @@ //Base proc for anything to call /proc/_alert_drones(msg, dead_can_hear = 0, atom/source, mob/living/faction_checked_mob, exact_faction_match) - for(var/W in GLOB.mob_list) - var/mob/living/simple_animal/drone/M = W - if(istype(M) && M.stat != DEAD) - if(faction_checked_mob) - if(M.faction_check_mob(faction_checked_mob, exact_faction_match)) - to_chat(M, msg) - else - to_chat(M, msg) - if(dead_can_hear && source && (M in GLOB.dead_mob_list)) + if (dead_can_hear && source) + for (var/mob/M in GLOB.dead_mob_list) var/link = FOLLOW_LINK(M, source) to_chat(M, "[link] [msg]") + for(var/i in GLOB.drones_list) + var/mob/living/simple_animal/drone/D = i + if(istype(D) && D.stat != DEAD) + if(faction_checked_mob) + if(D.faction_check_mob(faction_checked_mob, exact_faction_match)) + to_chat(D, msg) + else + to_chat(D, msg) + //Wrapper for drones to handle factions diff --git a/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm b/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm index 325b971171..8a7953a140 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm @@ -150,7 +150,8 @@ staticOverlays.len = 0 if(seeStatic) - for(var/mob/living/L in GLOB.mob_list) + for(var/i in GLOB.mob_living_list) + var/mob/living/L = i if(isdrone(L)) continue var/image/chosen diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 865ae48b4c..222369dd55 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -320,6 +320,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians forceMove(summoner.loc) new /obj/effect/temp_visual/guardian/phase(loc) cooldown = world.time + 10 + reset_perspective() return TRUE return FALSE @@ -485,7 +486,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians if(guardians.len && !allowmultiple) to_chat(user, "You already have a [mob_name]!") return - if(user.mind && user.mind.changeling && !allowling) + if(user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling) && !allowling) to_chat(user, "[ling_failure]") return if(used == TRUE) diff --git a/code/modules/mob/living/simple_animal/guardian/types/standard.dm b/code/modules/mob/living/simple_animal/guardian/types/standard.dm index 72bb57513e..4edd9d9e41 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/standard.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/standard.dm @@ -24,7 +24,7 @@ /mob/living/simple_animal/hostile/guardian/punch/AttackingTarget() . = ..() if(isliving(target)) - src.say("[src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry]!!") + say("[battlecry][battlecry][battlecry][battlecry][battlecry][battlecry][battlecry][battlecry][battlecry][battlecry]!!", ignore_spam = TRUE) playsound(loc, src.attack_sound, 50, 1, 1) playsound(loc, src.attack_sound, 50, 1, 1) playsound(loc, src.attack_sound, 50, 1, 1) diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm index 6b08d041c0..ef662c8f5a 100644 --- a/code/modules/mob/living/simple_animal/hostile/bear.dm +++ b/code/modules/mob/living/simple_animal/hostile/bear.dm @@ -20,6 +20,7 @@ response_harm = "hits" maxHealth = 60 health = 60 + spacewalk = TRUE var/armored = FALSE obj_damage = 60 @@ -67,9 +68,6 @@ maxHealth = 120 armored = TRUE -/mob/living/simple_animal/hostile/bear/Process_Spacemove(movement_dir = 0) - return 1 //No drifting in space for space bears! - /mob/living/simple_animal/hostile/bear/update_icons() ..() if(armored) diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index 0213a79e4a..02252254c9 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -28,6 +28,7 @@ response_harm = "squashes" maxHealth = 10 health = 10 + spacewalk = TRUE faction = list("hostile") move_to_delay = 0 obj_damage = 0 @@ -52,11 +53,6 @@ var/static/beehometypecache = typecacheof(/obj/structure/beebox) var/static/hydroponicstypecache = typecacheof(/obj/machinery/hydroponics) - -/mob/living/simple_animal/hostile/poison/bees/Process_Spacemove(movement_dir = 0) - return 1 - - /mob/living/simple_animal/hostile/poison/bees/Initialize() . = ..() generate_bee_visuals() diff --git a/code/modules/mob/living/simple_animal/hostile/carp.dm b/code/modules/mob/living/simple_animal/hostile/carp.dm index 806a916421..4be394e2b5 100644 --- a/code/modules/mob/living/simple_animal/hostile/carp.dm +++ b/code/modules/mob/living/simple_animal/hostile/carp.dm @@ -18,6 +18,7 @@ speed = 0 maxHealth = 25 health = 25 + spacewalk = TRUE harm_intent_damage = 8 obj_damage = 50 @@ -36,9 +37,6 @@ pressure_resistance = 200 gold_core_spawnable = 1 -/mob/living/simple_animal/hostile/carp/Process_Spacemove(movement_dir = 0) - return 1 //No drifting in space for space carp! //original comments do not steal - /mob/living/simple_animal/hostile/carp/AttackingTarget() . = ..() if(. && ishuman(target)) diff --git a/code/modules/mob/living/simple_animal/hostile/faithless.dm b/code/modules/mob/living/simple_animal/hostile/faithless.dm index 1807e39a71..173c8a6b8d 100644 --- a/code/modules/mob/living/simple_animal/hostile/faithless.dm +++ b/code/modules/mob/living/simple_animal/hostile/faithless.dm @@ -1,44 +1,42 @@ -/mob/living/simple_animal/hostile/faithless - name = "The Faithless" - desc = "The Wish Granter's faith in humanity, incarnate." - icon_state = "faithless" - icon_living = "faithless" - icon_dead = "faithless_dead" - gender = MALE - speak_chance = 0 - turns_per_move = 5 - response_help = "passes through" - response_disarm = "shoves" - response_harm = "hits" - emote_taunt = list("wails") - taunt_chance = 25 - speed = 0 - maxHealth = 80 - health = 80 - stat_attack = UNCONSCIOUS - robust_searching = 1 - - harm_intent_damage = 10 - obj_damage = 50 - melee_damage_lower = 15 - melee_damage_upper = 15 - attacktext = "grips" - attack_sound = 'sound/hallucinations/growl1.ogg' - speak_emote = list("growls") - - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 0 - - faction = list("faithless") - gold_core_spawnable = 1 - -/mob/living/simple_animal/hostile/faithless/Process_Spacemove(movement_dir = 0) - return 1 - -/mob/living/simple_animal/hostile/faithless/AttackingTarget() - . = ..() - if(. && prob(12) && iscarbon(target)) - var/mob/living/carbon/C = target - C.Knockdown(60) - C.visible_message("\The [src] knocks down \the [C]!", \ - "\The [src] knocks you down!") +/mob/living/simple_animal/hostile/faithless + name = "The Faithless" + desc = "The Wish Granter's faith in humanity, incarnate." + icon_state = "faithless" + icon_living = "faithless" + icon_dead = "faithless_dead" + gender = MALE + speak_chance = 0 + turns_per_move = 5 + response_help = "passes through" + response_disarm = "shoves" + response_harm = "hits" + emote_taunt = list("wails") + taunt_chance = 25 + speed = 0 + maxHealth = 80 + health = 80 + spacewalk = TRUE + stat_attack = UNCONSCIOUS + robust_searching = 1 + + harm_intent_damage = 10 + obj_damage = 50 + melee_damage_lower = 15 + melee_damage_upper = 15 + attacktext = "grips" + attack_sound = 'sound/hallucinations/growl1.ogg' + speak_emote = list("growls") + + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 + + faction = list("faithless") + gold_core_spawnable = 1 + +/mob/living/simple_animal/hostile/faithless/AttackingTarget() + . = ..() + if(. && prob(12) && iscarbon(target)) + var/mob/living/carbon/C = target + C.Knockdown(60) + C.visible_message("\The [src] knocks down \the [C]!", \ + "\The [src] knocks you down!") diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index 2839ac5ea0..f59cf79f22 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -72,14 +72,15 @@ for(var/obj/item/organ/I in src) I.Insert(M, 1) - if(origin && origin.current && (origin.current.stat == DEAD)) + if(origin && (origin.current ? (origin.current.stat == DEAD) : origin.get_ghost())) origin.transfer_to(M) - if(!origin.changeling) - M.make_changeling() - if(origin.changeling.can_absorb_dna(M, owner)) - origin.changeling.add_new_profile(owner, M) + var/datum/antagonist/changeling/C = origin.has_antag_datum(/datum/antagonist/changeling) + if(!C) + C = origin.add_antag_datum(/datum/antagonist/changeling/xenobio) + if(C.can_absorb_dna(owner)) + C.add_new_profile(owner) - origin.changeling.purchasedpowers += new /obj/effect/proc_holder/changeling/humanform(null) + C.purchasedpowers += new /obj/effect/proc_holder/changeling/humanform(null) M.key = origin.key owner.gib() diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index 6e6237aab5..a977338008 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -106,7 +106,7 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/bubblegum/Initialize() . = ..() - for(var/mob/living/simple_animal/hostile/megafauna/bubblegum/B in GLOB.mob_list) + for(var/mob/living/simple_animal/hostile/megafauna/bubblegum/B in GLOB.mob_living_list) if(B != src) return INITIALIZE_HINT_QDEL //There can be only one var/obj/effect/proc_holder/spell/bloodcrawl/bloodspell = new diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index a214895b83..587afef82f 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -164,12 +164,8 @@ Difficulty: Very Hard return var/turf/startloc = get_turf(src) var/obj/item/projectile/P = new /obj/item/projectile/colossus(startloc) - P.starting = startloc + P.preparePixelProjectile(marker, startloc) P.firer = src - if(marker) - P.yo = marker.y - startloc.y - P.xo = marker.x - startloc.x - P.original = marker if(target) P.original = target P.fire(set_angle) @@ -579,7 +575,7 @@ Difficulty: Very Hard if(..() && !ready_to_deploy) GLOB.poi_list |= src ready_to_deploy = TRUE - notify_ghosts("An anomalous crystal has been activated in [get_area(src)]! This crystal can always be used by ghosts hereafter.", enter_link = "(Click to enter)", ghost_sound = 'sound/effects/ghost2.ogg', source = src, action = NOTIFY_ATTACK) + notify_ghosts("An anomalous crystal has been activated in [get_area(src)]! This crystal can always be used by ghosts hereafter.", enter_link = "(Click to enter)", ghost_sound = 'sound/effects/ghost2.ogg', source = src, action = NOTIFY_ATTACK) /obj/machinery/anomalous_crystal/helpers/attack_ghost(mob/dead/observer/user) ..() diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm index b81d58b329..7f12e684e8 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm @@ -36,6 +36,7 @@ Difficulty: Medium desc = "Guardians of the necropolis." health = 2500 maxHealth = 2500 + spacewalk = TRUE attacktext = "chomps" attack_sound = 'sound/magic/demon_attack1.ogg' icon_state = "dragon" @@ -97,9 +98,6 @@ Difficulty: Medium if(!swooping) ..() -/mob/living/simple_animal/hostile/megafauna/dragon/Process_Spacemove(movement_dir = 0) - return 1 - /mob/living/simple_animal/hostile/megafauna/dragon/OpenFire() if(swooping) return @@ -385,6 +383,7 @@ Difficulty: Medium melee_damage_lower = 30 damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) loot = list() + crusher_loot = list() butcher_results = list(/obj/item/ore/diamond = 5, /obj/item/stack/sheet/sinew = 5, /obj/item/stack/sheet/bone = 30) /mob/living/simple_animal/hostile/megafauna/dragon/lesser/grant_achievement(medaltype,scoretype) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm index 5b987edc0e..0380234396 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm @@ -21,6 +21,7 @@ Difficulty: Medium name = "Legion" health = 800 maxHealth = 800 + spacewalk = TRUE icon_state = "legion" icon_living = "legion" desc = "One of many." @@ -128,7 +129,7 @@ Difficulty: Medium visible_message("[src] splits in twain!") else var/last_legion = TRUE - for(var/mob/living/simple_animal/hostile/megafauna/legion/other in GLOB.mob_list) + for(var/mob/living/simple_animal/hostile/megafauna/legion/other in GLOB.mob_living_list) if(other != src) last_legion = FALSE break @@ -139,9 +140,6 @@ Difficulty: Medium loot = list(/obj/structure/closet/crate/necropolis/tendril) ..() -/mob/living/simple_animal/hostile/megafauna/legion/Process_Spacemove(movement_dir = 0) - return 1 - /obj/item/device/gps/internal/legion icon_state = null gpstag = "Echoing Signal" diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index edcf1a0f73..83291d7822 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -127,7 +127,7 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca if(owner != creator) LoseTarget() creator = owner - faction |= "\ref[owner]" + faction |= "[REF(owner)]" /mob/living/simple_animal/hostile/mimic/copy/proc/CheckObject(obj/O) if((isitem(O) || isstructure(O)) && !is_type_in_list(O, GLOB.protected_objects)) @@ -160,7 +160,7 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca maxHealth = health if(user) creator = user - faction += "\ref[creator]" // very unique + faction += "[REF(creator)]" // very unique if(destroy_original) qdel(O) return 1 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/necropolis_tendril.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/necropolis_tendril.dm index d5d116d678..b579437796 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/necropolis_tendril.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/necropolis_tendril.dm @@ -50,7 +50,7 @@ #define MEDAL_PREFIX "Tendril" /mob/living/simple_animal/hostile/spawner/lavaland/death() var/last_tendril = TRUE - for(var/mob/living/simple_animal/hostile/spawner/lavaland/other in GLOB.mob_list) + for(var/mob/living/simple_animal/hostile/spawner/lavaland/other in GLOB.mob_living_list) if(other != src) last_tendril = FALSE break diff --git a/code/modules/mob/living/simple_animal/hostile/pirate.dm b/code/modules/mob/living/simple_animal/hostile/pirate.dm index f058464981..8ad8babb36 100644 --- a/code/modules/mob/living/simple_animal/hostile/pirate.dm +++ b/code/modules/mob/living/simple_animal/hostile/pirate.dm @@ -1,68 +1,66 @@ -/mob/living/simple_animal/hostile/pirate - name = "Pirate" - desc = "Does what he wants cause a pirate is free." - icon = 'icons/mob/simple_human.dmi' - icon_state = "piratemelee" - icon_living = "piratemelee" - icon_dead = "piratemelee_dead" - speak_chance = 0 - turns_per_move = 5 - response_help = "pushes" - response_disarm = "shoves" - response_harm = "hits" - speed = 0 - maxHealth = 100 - health = 100 - - harm_intent_damage = 5 - obj_damage = 60 - melee_damage_lower = 30 - melee_damage_upper = 30 - attacktext = "slashes" - attack_sound = 'sound/weapons/bladeslice.ogg' - - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) - unsuitable_atmos_damage = 15 - speak_emote = list("yarrs") - loot = list(/obj/effect/mob_spawn/human/corpse/pirate, +/mob/living/simple_animal/hostile/pirate + name = "Pirate" + desc = "Does what he wants cause a pirate is free." + icon = 'icons/mob/simple_human.dmi' + icon_state = "piratemelee" + icon_living = "piratemelee" + icon_dead = "piratemelee_dead" + speak_chance = 0 + turns_per_move = 5 + response_help = "pushes" + response_disarm = "shoves" + response_harm = "hits" + speed = 0 + maxHealth = 100 + health = 100 + spacewalk = TRUE + + harm_intent_damage = 5 + obj_damage = 60 + melee_damage_lower = 30 + melee_damage_upper = 30 + attacktext = "slashes" + attack_sound = 'sound/weapons/bladeslice.ogg' + + atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) + unsuitable_atmos_damage = 15 + speak_emote = list("yarrs") + loot = list(/obj/effect/mob_spawn/human/corpse/pirate, /obj/item/melee/transforming/energy/sword/pirate) - del_on_death = 1 - faction = list("pirate") - -/mob/living/simple_animal/hostile/pirate/ranged - name = "Pirate Gunner" - icon_state = "pirateranged" - icon_living = "pirateranged" - icon_dead = "piratemelee_dead" - projectilesound = 'sound/weapons/laser.ogg' - ranged = 1 - rapid = 1 - retreat_distance = 5 - minimum_distance = 5 - projectiletype = /obj/item/projectile/beam/laser - loot = list(/obj/effect/mob_spawn/human/corpse/pirate/ranged, - /obj/item/gun/energy/laser) - -/mob/living/simple_animal/hostile/pirate/space - name = "Space Pirate" - icon_state = "piratespace" - icon_living = "piratespace" - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 0 - speed = 1 - -/mob/living/simple_animal/hostile/pirate/space/ranged - name = "Space Pirate Gunner" - icon_state = "piratespaceranged" - icon_living = "piratespaceranged" - projectilesound = 'sound/weapons/laser.ogg' - ranged = 1 - rapid = 1 - retreat_distance = 5 - minimum_distance = 5 - projectiletype = /obj/item/projectile/beam/laser - loot = list(/obj/effect/mob_spawn/human/corpse/pirate/ranged, - /obj/item/gun/energy/laser) - -/mob/living/simple_animal/hostile/pirate/space/Process_Spacemove(movement_dir = 0) - return 1 + del_on_death = 1 + faction = list("pirate") + +/mob/living/simple_animal/hostile/pirate/ranged + name = "Pirate Gunner" + icon_state = "pirateranged" + icon_living = "pirateranged" + icon_dead = "piratemelee_dead" + projectilesound = 'sound/weapons/laser.ogg' + ranged = 1 + rapid = 1 + retreat_distance = 5 + minimum_distance = 5 + projectiletype = /obj/item/projectile/beam/laser + loot = list(/obj/effect/mob_spawn/human/corpse/pirate/ranged, + /obj/item/gun/energy/laser) + +/mob/living/simple_animal/hostile/pirate/space + name = "Space Pirate" + icon_state = "piratespace" + icon_living = "piratespace" + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 + speed = 1 + +/mob/living/simple_animal/hostile/pirate/space/ranged + name = "Space Pirate Gunner" + icon_state = "piratespaceranged" + icon_living = "piratespaceranged" + projectilesound = 'sound/weapons/laser.ogg' + ranged = 1 + rapid = 1 + retreat_distance = 5 + minimum_distance = 5 + projectiletype = /obj/item/projectile/beam/laser + loot = list(/obj/effect/mob_spawn/human/corpse/pirate/ranged, + /obj/item/gun/energy/laser) diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm index d75e4acbc5..2fb4eb61bd 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm @@ -12,6 +12,7 @@ speak_chance = 0 maxHealth = 15 health = 15 + spacewalk = TRUE see_in_dark = 10 harm_intent_damage = 6 melee_damage_lower = 6 @@ -36,5 +37,3 @@ atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 -/mob/living/simple_animal/hostile/retaliate/bat/Process_Spacemove(movement_dir = 0) - return 1 \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm index d6d46b1a46..d050b4143d 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm @@ -23,7 +23,7 @@ environment_smash = ENVIRONMENT_SMASH_NONE del_on_death = 0 -/mob/living/simple_animal/hostile/retaliate/nanotrasenpeace +/mob/living/simple_animal/hostile/retaliate/nanotrasenpeace //this should be in a different file name = "Nanotrasen Private Security Officer" desc = "An officer part of Nanotrasen's private security force." icon = 'icons/mob/simple_human.dmi' diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index b207b82e26..e5aa946b00 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -45,8 +45,6 @@ sight = SEE_SELF|SEE_MOBS|SEE_OBJS|SEE_TURFS anchored = TRUE - gold_core_spawnable = 1 - var/cannot_be_seen = 1 var/mob/living/creator = null @@ -187,7 +185,7 @@ range = 10 /obj/effect/proc_holder/spell/aoe_turf/blindness/cast(list/targets,mob/user = usr) - for(var/mob/living/L in GLOB.living_mob_list) + for(var/mob/living/L in GLOB.alive_mob_list) var/turf/T = get_turf(L.loc) if(T && T in targets) L.blind_eyes(4) diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm index 11331e7ab7..a17ec0ff66 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm @@ -55,6 +55,7 @@ status_flags = 0 maxHealth = 170 health = 170 + spacewalk = TRUE /mob/living/simple_animal/hostile/syndicate/melee/bullet_act(obj/item/projectile/Proj) if(!Proj) @@ -75,9 +76,6 @@ loot = list(/obj/effect/gibspawner/human) speed = 1 -/mob/living/simple_animal/hostile/syndicate/melee/space/Process_Spacemove(movement_dir = 0) - return 1 - /mob/living/simple_animal/hostile/syndicate/melee/space/stormtrooper icon_state = "syndicatemeleestormtrooper" icon_living = "syndicatemeleestormtrooper" @@ -106,11 +104,9 @@ atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 speed = 1 + spacewalk = TRUE loot = list(/obj/effect/gibspawner/human) -/mob/living/simple_animal/hostile/syndicate/ranged/space/Process_Spacemove(movement_dir = 0) - return 1 - /mob/living/simple_animal/hostile/syndicate/ranged/space/stormtrooper icon_state = "syndicaterangedstormtrooper" icon_living = "syndicaterangedstormtrooper" diff --git a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm index c3eff66d18..881215e97b 100644 --- a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm +++ b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm @@ -109,7 +109,7 @@ w_class = WEIGHT_CLASS_NORMAL layer = MOB_LAYER origin_tech = "biotech=6" - var/list/banned_mobs() + var/list/banned_mobs /obj/item/asteroid/fugu_gland/afterattack(atom/target, mob/user, proximity_flag) if(proximity_flag && isanimal(target)) diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 085a95540f..6ff04231af 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -187,9 +187,9 @@ user.set_machine(src) var/dat = "

    Inventory of [name]

    " if(ears) - dat += "
    Headset: [ears] (Remove)" + dat += "
    Headset: [ears] (Remove)" else - dat += "
    Headset: Nothing" + dat += "
    Headset: Nothing" user << browse(dat, "window=mob[real_name];size=325x500") onclose(user, "mob[real_name]") diff --git a/code/modules/mob/living/simple_animal/shade.dm b/code/modules/mob/living/simple_animal/shade.dm index d7c4f0cb03..ab2126e7b9 100644 --- a/code/modules/mob/living/simple_animal/shade.dm +++ b/code/modules/mob/living/simple_animal/shade.dm @@ -8,6 +8,7 @@ icon_living = "shade" maxHealth = 50 health = 50 + spacewalk = TRUE healable = 0 speak_emote = list("hisses") emote_hear = list("wails.","screeches.") @@ -40,9 +41,6 @@ return 0 return ..() -/mob/living/simple_animal/shade/Process_Spacemove(movement_dir = 0) - return TRUE //this doesn't make much sense; you'd thing TRUE would mean it'd process spacemove but it means it doesn't - /mob/living/simple_animal/shade/attack_animal(mob/living/simple_animal/M) if(isconstruct(M)) var/mob/living/simple_animal/hostile/construct/C = M diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 43f7724af5..df80302743 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1,7 +1,10 @@ +/mob + use_tag = TRUE + /mob/Destroy()//This makes sure that mobs with clients/keys are not just deleted from the game. GLOB.mob_list -= src GLOB.dead_mob_list -= src - GLOB.living_mob_list -= src + GLOB.alive_mob_list -= src GLOB.all_clockwork_mobs -= src GLOB.mob_directory -= tag for (var/alert in alerts) @@ -26,7 +29,7 @@ if(stat == DEAD) GLOB.dead_mob_list += src else - GLOB.living_mob_list += src + GLOB.alive_mob_list += src prepare_huds() for(var/v in GLOB.active_alternate_appearances) if(!v) @@ -392,7 +395,6 @@ pulling = null grab_state = 0 update_pull_hud_icon() - if(isliving(ex_pulled)) var/mob/living/L = ex_pulled L.update_canmove()// mob gets up if it was lyng down in a chokehold @@ -542,7 +544,7 @@ if(Adjacent(usr)) show_inv(usr) else - usr << browse(null,"window=mob\ref[src]") + usr << browse(null,"window=mob[REF(src)]") // The src mob is trying to strip an item from someone // Defined in living.dm @@ -649,8 +651,9 @@ if(mind) add_spells_to_statpanel(mind.spell_list) - if(mind.changeling) - add_stings_to_statpanel(mind.changeling.purchasedpowers) + var/datum/antagonist/changeling/changeling = mind.has_antag_datum(/datum/antagonist/changeling) + if(changeling) + add_stings_to_statpanel(changeling.purchasedpowers) add_spells_to_statpanel(mob_spell_list) /mob/proc/add_spells_to_statpanel(list/spells) @@ -673,8 +676,6 @@ /mob/proc/canface() if(!canmove) return 0 - if(client.moving) - return 0 if(world.time < client.move_delay) return 0 if(stat==2) @@ -833,10 +834,10 @@ if(exact_match) //if we need an exact match, we need to do some bullfuckery. var/list/faction_src = faction.Copy() var/list/faction_target = target.faction.Copy() - if(!("\ref[src]" in faction_target)) //if they don't have our ref faction, remove it from our factions list. - faction_src -= "\ref[src]" //if we don't do this, we'll never have an exact match. - if(!("\ref[target]" in faction_src)) - faction_target -= "\ref[target]" //same thing here. + if(!("[REF(src)]" in faction_target)) //if they don't have our ref faction, remove it from our factions list. + faction_src -= "[REF(src)]" //if we don't do this, we'll never have an exact match. + if(!("[REF(target)]" in faction_src)) + faction_target -= "[REF(target)]" //same thing here. return faction_check(faction_src, faction_target, TRUE) return faction_check(faction, target.faction, FALSE) @@ -925,9 +926,9 @@ if("stat") if((stat == DEAD) && (var_value < DEAD))//Bringing the dead back to life GLOB.dead_mob_list -= src - GLOB.living_mob_list += src + GLOB.alive_mob_list += src if((stat < DEAD) && (var_value == DEAD))//Kill he - GLOB.living_mob_list -= src + GLOB.alive_mob_list -= src GLOB.dead_mob_list += src . = ..() switch(var_name) @@ -975,18 +976,18 @@ /mob/vv_get_dropdown() . = ..() . += "---" - .["Gib"] = "?_src_=vars;[HrefToken()];gib=\ref[src]" - .["Give Spell"] = "?_src_=vars;[HrefToken()];give_spell=\ref[src]" - .["Remove Spell"] = "?_src_=vars;[HrefToken()];remove_spell=\ref[src]" - .["Give Disease"] = "?_src_=vars;[HrefToken()];give_disease=\ref[src]" - .["Toggle Godmode"] = "?_src_=vars;[HrefToken()];godmode=\ref[src]" - .["Drop Everything"] = "?_src_=vars;[HrefToken()];drop_everything=\ref[src]" - .["Regenerate Icons"] = "?_src_=vars;[HrefToken()];regenerateicons=\ref[src]" - .["Make Space Ninja"] = "?_src_=vars;[HrefToken()];ninja=\ref[src]" - .["Show player panel"] = "?_src_=vars;[HrefToken()];mob_player_panel=\ref[src]" - .["Toggle Build Mode"] = "?_src_=vars;[HrefToken()];build_mode=\ref[src]" - .["Assume Direct Control"] = "?_src_=vars;[HrefToken()];direct_control=\ref[src]" - .["Offer Control to Ghosts"] = "?_src_=vars;[HrefToken()];offer_control=\ref[src]" + .["Gib"] = "?_src_=vars;[HrefToken()];gib=[REF(src)]" + .["Give Spell"] = "?_src_=vars;[HrefToken()];give_spell=[REF(src)]" + .["Remove Spell"] = "?_src_=vars;[HrefToken()];remove_spell=[REF(src)]" + .["Give Disease"] = "?_src_=vars;[HrefToken()];give_disease=[REF(src)]" + .["Toggle Godmode"] = "?_src_=vars;[HrefToken()];godmode=[REF(src)]" + .["Drop Everything"] = "?_src_=vars;[HrefToken()];drop_everything=[REF(src)]" + .["Regenerate Icons"] = "?_src_=vars;[HrefToken()];regenerateicons=[REF(src)]" + .["Make Space Ninja"] = "?_src_=vars;[HrefToken()];ninja=[REF(src)]" + .["Show player panel"] = "?_src_=vars;[HrefToken()];mob_player_panel=[REF(src)]" + .["Toggle Build Mode"] = "?_src_=vars;[HrefToken()];build_mode=[REF(src)]" + .["Assume Direct Control"] = "?_src_=vars;[HrefToken()];direct_control=[REF(src)]" + .["Offer Control to Ghosts"] = "?_src_=vars;[HrefToken()];offer_control=[REF(src)]" /mob/vv_get_var(var_name) switch(var_name) diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 5260ace246..525e6ecb2c 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -46,6 +46,7 @@ var/slurring = 0 //Carbon var/cultslurring = 0 //Carbon var/real_name = null + var/spacewalk = FALSE var/druggy = 0 //Carbon var/confused = 0 //Carbon var/resting = 0 //Carbon @@ -134,8 +135,6 @@ var/turf/listed_turf = null //the current turf being examined in the stat panel - var/list/permanent_huds = list() - var/resize = 1 //Badminnery resize var/list/observers = null //The list of people observing this mob. diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index af12b87eec..3dc56c936b 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -274,7 +274,8 @@ It's fairly easy to fix if dealing with single letters but not so much with comp /proc/findname(msg) if(!istext(msg)) msg = "[msg]" - for(var/mob/M in GLOB.mob_list) + for(var/i in GLOB.mob_list) + var/mob/M = i if(M.real_name == msg) return M return 0 @@ -365,7 +366,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp if(M.mind in SSticker.mode.syndicates) return 2 if("changeling") - if(M.mind in SSticker.mode.changelings) + if(M.mind.has_antag_datum(/datum/antagonist/changeling,TRUE)) return 2 if("wizard") if(iswizard(M)) @@ -387,8 +388,8 @@ It's fairly easy to fix if dealing with single letters but not so much with comp /mob/proc/reagent_check(datum/reagent/R) // utilized in the species code return 1 -/proc/notify_ghosts(var/message, var/ghost_sound = null, var/enter_link = null, var/atom/source = null, var/mutable_appearance/alert_overlay = null, var/action = NOTIFY_JUMP, flashwindow = TRUE) //Easy notification of ghosts. - if(SSatoms.initialized != INITIALIZATION_INNEW_REGULAR) //don't notify for objects created during a map load +/proc/notify_ghosts(var/message, var/ghost_sound = null, var/enter_link = null, var/atom/source = null, var/mutable_appearance/alert_overlay = null, var/action = NOTIFY_JUMP, flashwindow = TRUE, ignore_mapload = TRUE) //Easy notification of ghosts. + if(ignore_mapload && SSatoms.initialized != INITIALIZATION_INNEW_REGULAR) //don't notify for objects created during a map load return for(var/mob/dead/observer/O in GLOB.player_list) if(O.client) @@ -398,7 +399,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp if(flashwindow) window_flash(O.client) if(source) - var/obj/screen/alert/notify_action/A = O.throw_alert("\ref[source]_notify_action", /obj/screen/alert/notify_action) + var/obj/screen/alert/notify_action/A = O.throw_alert("[REF(source)]_notify_action", /obj/screen/alert/notify_action) if(A) if(O.client.prefs && O.client.prefs.UI_style) A.icon = ui_style2icon(O.client.prefs.UI_style) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index e99a4e0ae8..39001d6e71 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -1,8 +1,8 @@ /mob/CanPass(atom/movable/mover, turf/target) + if((mover.pass_flags & PASSMOB)) + return TRUE if(istype(mover, /obj/item/projectile) || mover.throwing) return (!density || lying) - if(mover.checkpass(PASSMOB)) - return TRUE if(buckled == mover) return TRUE if(ismob(mover)) @@ -112,6 +112,7 @@ #define MOVEMENT_DELAY_BUFFER 0.75 #define MOVEMENT_DELAY_BUFFER_DELTA 1.25 + /client/Move(n, direct) if(world.time < move_delay) return FALSE @@ -129,15 +130,13 @@ if(mob.stat == DEAD) mob.ghostize() return FALSE - if(moving) - return FALSE if(mob.force_moving) return FALSE - if(isliving(mob)) - var/mob/living/L = mob - if(L.incorporeal_move) //Move though walls - Process_Incorpmove(direct) - return FALSE + + var/mob/living/L = mob //Already checked for isliving earlier + if(L.incorporeal_move) //Move though walls + Process_Incorpmove(direct) + return FALSE if(mob.remote_control) //we're controlling something, our movement is relayed to it return mob.remote_control.relaymove(mob, direct) @@ -162,9 +161,8 @@ return FALSE //We are now going to move - moving = 1 var/delay = mob.movement_delay() - if (old_move_delay + (delay*MOVEMENT_DELAY_BUFFER_DELTA) + MOVEMENT_DELAY_BUFFER > world.time) + if(old_move_delay + (delay*MOVEMENT_DELAY_BUFFER_DELTA) + MOVEMENT_DELAY_BUFFER > world.time) move_delay = old_move_delay + delay else move_delay = delay + world.time @@ -181,8 +179,7 @@ else . = ..() - moving = 0 - if(mob && .) + if(.) // If mob is null here, we deserve the runtime if(mob.throwing) mob.throwing.finalize(FALSE) @@ -190,7 +187,8 @@ for(var/obj/O in mob.user_movement_hooks) O.intercept_user_move(direct, mob, n, oldloc) - return . + if(mob.pulling && !ismob(mob.pulling)) + mob.dir = turn(mob.dir, 180) /mob/Moved(oldLoc, dir, Forced = FALSE) . = ..() @@ -297,7 +295,7 @@ ///For moving in space ///return TRUE for movement 0 for none /mob/Process_Spacemove(movement_dir = 0) - if(..()) + if(spacewalk || ..()) return TRUE var/atom/movable/backup = get_spacemove_backup() if(backup) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index d17b79eddc..85a8ed5448 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -94,8 +94,9 @@ if(mind) mind.transfer_to(O) - if(O.mind.changeling) - O.mind.changeling.purchasedpowers += new /obj/effect/proc_holder/changeling/humanform(null) + var/datum/antagonist/changeling/changeling = O.mind.has_antag_datum(/datum/antagonist/changeling) + if(changeling) + changeling.purchasedpowers += new /obj/effect/proc_holder/changeling/humanform(null) for(var/X in internal_organs) var/obj/item/organ/I = X @@ -118,7 +119,7 @@ for(var/X in O.internal_organs) var/obj/item/organ/G = X if(BP.body_zone == check_zone(G.zone)) - if(mind && mind.changeling && istype(G, /obj/item/organ/brain)) + if(mind && mind.has_antag_datum(/datum/antagonist/changeling) && istype(G, /obj/item/organ/brain)) continue //so headless changelings don't lose their brain when transforming qdel(G) //we lose the organs in the missing limbs qdel(BP) @@ -126,8 +127,9 @@ //transfer mind if we didn't yet if(mind) mind.transfer_to(O) - if(O.mind.changeling) - O.mind.changeling.purchasedpowers += new /obj/effect/proc_holder/changeling/humanform(null) + var/datum/antagonist/changeling/changeling = O.mind.has_antag_datum(/datum/antagonist/changeling) + if(changeling) + changeling.purchasedpowers += new /obj/effect/proc_holder/changeling/humanform(null) if (tr_flags & TR_DEFAULTMSG) @@ -137,6 +139,8 @@ if(loc.vars[A] == src) loc.vars[A] = O + transfer_observers_to(O) + . = O qdel(src) @@ -248,9 +252,10 @@ if(mind) mind.transfer_to(O) - if(O.mind.changeling) - for(var/obj/effect/proc_holder/changeling/humanform/HF in O.mind.changeling.purchasedpowers) - O.mind.changeling.purchasedpowers -= HF + var/datum/antagonist/changeling/changeling = O.mind.has_antag_datum(/datum/antagonist/changeling) + if(changeling) + for(var/obj/effect/proc_holder/changeling/humanform/HF in changeling.purchasedpowers) + changeling.purchasedpowers -= HF for(var/X in internal_organs) var/obj/item/organ/I = X @@ -274,21 +279,24 @@ for(var/X in O.internal_organs) var/obj/item/organ/G = X if(BP.body_zone == check_zone(G.zone)) - if(mind && mind.changeling && istype(G, /obj/item/organ/brain)) + if(mind && mind.has_antag_datum(/datum/antagonist/changeling) && istype(G, /obj/item/organ/brain)) continue //so headless changelings don't lose their brain when transforming qdel(G) //we lose the organs in the missing limbs qdel(BP) if(mind) mind.transfer_to(O) - if(O.mind.changeling) - for(var/obj/effect/proc_holder/changeling/humanform/HF in O.mind.changeling.purchasedpowers) - O.mind.changeling.purchasedpowers -= HF + var/datum/antagonist/changeling/changeling = O.mind.has_antag_datum(/datum/antagonist/changeling) + if(changeling) + for(var/obj/effect/proc_holder/changeling/humanform/HF in changeling.purchasedpowers) + changeling.purchasedpowers -= HF O.a_intent = INTENT_HELP if (tr_flags & TR_DEFAULTMSG) to_chat(O, "You are now a human.") + transfer_observers_to(O) + . = O for(var/A in loc.vars) @@ -461,7 +469,11 @@ qdel(src) /mob/proc/become_overmind(starting_points = 60) - var/mob/camera/blob/B = new /mob/camera/blob(loc, starting_points) + var/turf/T = get_turf(loc) //just to avoid messing up in lockers + var/area/A = get_area(T) + if(((A && !A.blob_allowed) || !(T.z in GLOB.station_z_levels)) && LAZYLEN(GLOB.blobstart)) + T = get_turf(pick(GLOB.blobstart)) + var/mob/camera/blob/B = new /mob/camera/blob(T, starting_points) B.key = key . = B qdel(src) diff --git a/code/modules/modular_computers/NTNet/NTNet_relay.dm b/code/modules/modular_computers/NTNet/NTNet_relay.dm index b9fcbc0696..cab74df734 100644 --- a/code/modules/modular_computers/NTNet/NTNet_relay.dm +++ b/code/modules/modular_computers/NTNet/NTNet_relay.dm @@ -14,6 +14,9 @@ var/enabled = 1 // Set to 0 if the relay was turned off var/dos_failure = 0 // Set to 1 if the relay failed due to (D)DoS attack var/list/dos_sources = list() // Backwards reference for qdel() stuff + var/uid + var/static/gl_uid = 1 + // Denial of Service attack variables var/dos_overload = 0 // Amount of DoS "packets" in this relay's buffer @@ -97,8 +100,7 @@ ui_interact(user) /obj/machinery/ntnet_relay/Initialize() - uid = gl_uid - gl_uid++ + uid = gl_uid++ component_parts = list() if(GLOB.ntnet_global) diff --git a/code/modules/modular_computers/file_system/programs/card.dm b/code/modules/modular_computers/file_system/programs/card.dm index 0562bf700d..88f322328f 100644 --- a/code/modules/modular_computers/file_system/programs/card.dm +++ b/code/modules/modular_computers/file_system/programs/card.dm @@ -331,7 +331,7 @@ "desc_close" = status_close["desc"]))) data["slots"] = pos - data["src"] = "\ref[src]" + data["src"] = "[REF(src)]" data["station_name"] = station_name() diff --git a/code/modules/modular_computers/file_system/programs/ntdownloader.dm b/code/modules/modular_computers/file_system/programs/ntdownloader.dm index 4396e0e544..41dce90997 100644 --- a/code/modules/modular_computers/file_system/programs/ntdownloader.dm +++ b/code/modules/modular_computers/file_system/programs/ntdownloader.dm @@ -130,7 +130,7 @@ for(var/A in GLOB.ntnet_global.available_station_software) var/datum/computer_file/program/P = A // Only those programs our user can run will show in the list - if(!P.can_run(user,transfer = 1)) + if(!P.can_run(user,transfer = 1) || hard_drive.find_file_by_name(P.filename)) continue all_entries.Add(list(list( "filename" = P.filename, @@ -144,6 +144,8 @@ var/list/hacked_programs[0] for(var/S in GLOB.ntnet_global.available_antag_software) var/datum/computer_file/program/P = S + if(hard_drive.find_file_by_name(P.filename)) + continue data["hackedavailable"] = 1 hacked_programs.Add(list(list( "filename" = P.filename, diff --git a/code/modules/modular_computers/file_system/programs/sm_monitor.dm b/code/modules/modular_computers/file_system/programs/sm_monitor.dm index 8e86acb965..ae719c9bc4 100644 --- a/code/modules/modular_computers/file_system/programs/sm_monitor.dm +++ b/code/modules/modular_computers/file_system/programs/sm_monitor.dm @@ -120,8 +120,8 @@ refresh() return TRUE if("PRG_set") - var/newuid = text2num(params["set"]) + var/newuid = text2num(params["target"]) for(var/obj/machinery/power/supermatter_shard/S in supermatters) if(S.uid == newuid) active = S - return TRUE + return TRUE \ No newline at end of file diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm index 5a65a58d76..29552c8a47 100644 --- a/code/modules/ninja/energy_katana.dm +++ b/code/modules/ninja/energy_katana.dm @@ -28,6 +28,10 @@ spark_system.set_up(5, 0, src) spark_system.attach(src) +/obj/item/energy_katana/attack_self(mob/user) + dash_toggled = !dash_toggled + to_chat(user, "You [dash_toggled ? "enable" : "disable"] the dash function on [src].") + /obj/item/energy_katana/afterattack(atom/target, mob/user, proximity_flag, click_parameters) if(dash_toggled) jaunt.Teleport(user, target) @@ -99,5 +103,3 @@ max_charges = 3 charge_rate = 30 recharge_sound = null - - diff --git a/code/modules/ninja/suit/gloves.dm b/code/modules/ninja/suit/gloves.dm index 54ed7b4983..6cf03d1c10 100644 --- a/code/modules/ninja/suit/gloves.dm +++ b/code/modules/ninja/suit/gloves.dm @@ -63,7 +63,7 @@ if(isnum(.)) //Numerical values of drained handle their feedback here, Alpha values handle it themselves (Research hacking) if(.) - to_chat(H, "Gained [DisplayPower(.)] of energy from [A].") + to_chat(H, "Gained [DisplayPower(.)] of power from [A].") else to_chat(H, "\The [A] has run dry of power, you must find another source!") else diff --git a/code/modules/orbit/orbit.dm b/code/modules/orbit/orbit.dm index e4df15efaf..89d1d89e58 100644 --- a/code/modules/orbit/orbit.dm +++ b/code/modules/orbit/orbit.dm @@ -112,3 +112,11 @@ . = ..() if (orbiting) stop_orbit() + +/atom/movable/proc/transfer_observers_to(atom/movable/target) + if(orbiters) + for(var/thing in orbiters) + var/datum/orbit/O = thing + if(O.orbiter && isobserver(O.orbiter)) + var/mob/dead/observer/D = O.orbiter + D.ManualFollow(target) \ No newline at end of file diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index f56a1a3f1b..d9d220b0ef 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -1,122 +1,122 @@ -/obj/item/clipboard - name = "clipboard" - icon = 'icons/obj/bureaucracy.dmi' - icon_state = "clipboard" - item_state = "clipboard" - throwforce = 0 - w_class = WEIGHT_CLASS_SMALL - throw_speed = 3 - throw_range = 7 - var/obj/item/pen/haspen //The stored pen. - var/obj/item/paper/toppaper //The topmost piece of paper. - slot_flags = SLOT_BELT - resistance_flags = FLAMMABLE - -/obj/item/clipboard/Initialize() - update_icon() - . = ..() - -/obj/item/clipboard/Destroy() - QDEL_NULL(haspen) - QDEL_NULL(toppaper) //let movable/Destroy handle the rest - return ..() - -/obj/item/clipboard/update_icon() - cut_overlays() - if(toppaper) - add_overlay(toppaper.icon_state) - copy_overlays(toppaper) - if(haspen) - add_overlay("clipboard_pen") - add_overlay("clipboard_over") - - -/obj/item/clipboard/attackby(obj/item/W, mob/user, params) - if(istype(W, /obj/item/paper)) - if(!user.transferItemToLoc(W, src)) - return - toppaper = W - to_chat(user, "You clip the paper onto \the [src].") - update_icon() - else if(toppaper) - toppaper.attackby(user.get_active_held_item(), user) - update_icon() - - -/obj/item/clipboard/attack_self(mob/user) - var/dat = "Clipboard" - if(haspen) - dat += "Remove Pen


    " - else - dat += "Add Pen

    " - - //The topmost paper. You can't organise contents directly in byond, so this is what we're stuck with. -Pete - if(toppaper) - var/obj/item/paper/P = toppaper - dat += "Write Remove - [P.name]

    " - - for(P in src) - if(P == toppaper) - continue - dat += "Write Remove Move to top - [P.name]
    " - user << browse(dat, "window=clipboard") - onclose(user, "clipboard") - add_fingerprint(usr) - - -/obj/item/clipboard/Topic(href, href_list) - ..() - if(usr.stat || usr.restrained()) - return - - if(usr.contents.Find(src)) - - if(href_list["pen"]) - if(haspen) - haspen.loc = usr.loc - usr.put_in_hands(haspen) - haspen = null - - if(href_list["addpen"]) - if(!haspen) - var/obj/item/held = usr.get_active_held_item() - if(istype(held, /obj/item/pen)) - var/obj/item/pen/W = held - if(!usr.transferItemToLoc(W, src)) - return - haspen = W - to_chat(usr, "You slot [W] into [src].") - - if(href_list["write"]) - var/obj/item/P = locate(href_list["write"]) - if(istype(P) && P.loc == src) - if(usr.get_active_held_item()) - P.attackby(usr.get_active_held_item(), usr) - - if(href_list["remove"]) - var/obj/item/P = locate(href_list["remove"]) - if(istype(P) && P.loc == src) - P.loc = usr.loc - usr.put_in_hands(P) - if(P == toppaper) - toppaper = null - var/obj/item/paper/newtop = locate(/obj/item/paper) in src - if(newtop && (newtop != P)) - toppaper = newtop - else - toppaper = null - - if(href_list["read"]) - var/obj/item/paper/P = locate(href_list["read"]) - if(istype(P) && P.loc == src) - usr.examinate(P) - - if(href_list["top"]) - var/obj/item/P = locate(href_list["top"]) - if(istype(P) && P.loc == src) - toppaper = P - to_chat(usr, "You move [P.name] to the top.") - - //Update everything - attack_self(usr) - update_icon() +/obj/item/clipboard + name = "clipboard" + icon = 'icons/obj/bureaucracy.dmi' + icon_state = "clipboard" + item_state = "clipboard" + throwforce = 0 + w_class = WEIGHT_CLASS_SMALL + throw_speed = 3 + throw_range = 7 + var/obj/item/pen/haspen //The stored pen. + var/obj/item/paper/toppaper //The topmost piece of paper. + slot_flags = SLOT_BELT + resistance_flags = FLAMMABLE + +/obj/item/clipboard/Initialize() + update_icon() + . = ..() + +/obj/item/clipboard/Destroy() + QDEL_NULL(haspen) + QDEL_NULL(toppaper) //let movable/Destroy handle the rest + return ..() + +/obj/item/clipboard/update_icon() + cut_overlays() + if(toppaper) + add_overlay(toppaper.icon_state) + copy_overlays(toppaper) + if(haspen) + add_overlay("clipboard_pen") + add_overlay("clipboard_over") + + +/obj/item/clipboard/attackby(obj/item/W, mob/user, params) + if(istype(W, /obj/item/paper)) + if(!user.transferItemToLoc(W, src)) + return + toppaper = W + to_chat(user, "You clip the paper onto \the [src].") + update_icon() + else if(toppaper) + toppaper.attackby(user.get_active_held_item(), user) + update_icon() + + +/obj/item/clipboard/attack_self(mob/user) + var/dat = "Clipboard" + if(haspen) + dat += "Remove Pen

    " + else + dat += "Add Pen

    " + + //The topmost paper. You can't organise contents directly in byond, so this is what we're stuck with. -Pete + if(toppaper) + var/obj/item/paper/P = toppaper + dat += "Write Remove - [P.name]

    " + + for(P in src) + if(P == toppaper) + continue + dat += "Write Remove Move to top - [P.name]
    " + user << browse(dat, "window=clipboard") + onclose(user, "clipboard") + add_fingerprint(usr) + + +/obj/item/clipboard/Topic(href, href_list) + ..() + if(usr.stat || usr.restrained()) + return + + if(usr.contents.Find(src)) + + if(href_list["pen"]) + if(haspen) + haspen.loc = usr.loc + usr.put_in_hands(haspen) + haspen = null + + if(href_list["addpen"]) + if(!haspen) + var/obj/item/held = usr.get_active_held_item() + if(istype(held, /obj/item/pen)) + var/obj/item/pen/W = held + if(!usr.transferItemToLoc(W, src)) + return + haspen = W + to_chat(usr, "You slot [W] into [src].") + + if(href_list["write"]) + var/obj/item/P = locate(href_list["write"]) + if(istype(P) && P.loc == src) + if(usr.get_active_held_item()) + P.attackby(usr.get_active_held_item(), usr) + + if(href_list["remove"]) + var/obj/item/P = locate(href_list["remove"]) + if(istype(P) && P.loc == src) + P.loc = usr.loc + usr.put_in_hands(P) + if(P == toppaper) + toppaper = null + var/obj/item/paper/newtop = locate(/obj/item/paper) in src + if(newtop && (newtop != P)) + toppaper = newtop + else + toppaper = null + + if(href_list["read"]) + var/obj/item/paper/P = locate(href_list["read"]) + if(istype(P) && P.loc == src) + usr.examinate(P) + + if(href_list["top"]) + var/obj/item/P = locate(href_list["top"]) + if(istype(P) && P.loc == src) + toppaper = P + to_chat(usr, "You move [P.name] to the top.") + + //Update everything + attack_self(usr) + update_icon() diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm index f9d0faa16e..72dce2b8d2 100644 --- a/code/modules/paperwork/filingcabinet.dm +++ b/code/modules/paperwork/filingcabinet.dm @@ -76,7 +76,7 @@ var/i for(i=contents.len, i>=1, i--) var/obj/item/P = contents[i] - dat += "
    " + dat += "" dat += "

    Name

    Status

    Location

    Control

    [bot_mode][bot_area.name]InterfaceCallInterfaceCall
    [P.name]
    [P.name]
    " user << browse("[name][dat]", "window=filingcabinet;size=350x300") diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index d8d4fef0f8..3221a2c8db 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -46,7 +46,7 @@ var/dat = "[name]" for(var/obj/item/I in src) - dat += "Remove - [I.name]
    " + dat += "Remove - [I.name]
    " user << browse(dat, "window=folder") onclose(user, "folder") add_fingerprint(usr) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index ae6751f526..1fb1846f4c 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -175,8 +175,8 @@ /obj/item/paper/proc/updateinfolinks() info_links = info for(var/i in 1 to min(fields, 15)) - addtofield(i, "write", 1) - info_links = info_links + "write" + addtofield(i, "write", 1) + info_links = info_links + "write" /obj/item/paper/proc/clearpaper() @@ -277,7 +277,7 @@ else info += t // Oh, he wants to edit to the end of the file, let him. updateinfolinks() - usr << browse("[name][info_links]
    [stamps]", "window=[name]") // Update the window + usr << browse("[name][info_links]
    [stamps]", "window=[name]") // Update the window update_icon() @@ -292,7 +292,7 @@ if(istype(P, /obj/item/pen) || istype(P, /obj/item/toy/crayon)) if(user.is_literate()) - user << browse("[name][info_links]
    [stamps]", "window=[name]") + user << browse("[name][info_links]
    [stamps]", "window=[name]") return else to_chat(user, "You don't know how to read or write.") diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index d4e78c4ef3..20038f5745 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -41,18 +41,18 @@ var/dat = "Photocopier

    " if(copy || photocopy || doccopy || (ass && (ass.loc == src.loc))) - dat += "Remove Paper
    " + dat += "Remove Paper
    " if(toner) - dat += "Copy
    " + dat += "Copy
    " dat += "Printing: [copies] copies." - dat += "- " - dat += "+

    " + dat += "- " + dat += "+

    " if(photocopy) - dat += "Printing in [greytoggle]

    " + dat += "Printing in [greytoggle]

    " else if(toner) dat += "Please insert paper to copy.

    " if(isAI(user)) - dat += "Print photo from database

    " + dat += "Print photo from database

    " dat += "Current toner level: [toner]" if(!toner) dat +="
    Please insert a new toner cartridge!" diff --git a/code/modules/power/antimatter/control.dm b/code/modules/power/antimatter/control.dm index 29e7b53cd2..a37344d635 100644 --- a/code/modules/power/antimatter/control.dm +++ b/code/modules/power/antimatter/control.dm @@ -293,28 +293,28 @@ var/dat = "" dat += "AntiMatter Control Panel
    " - dat += "Close
    " - dat += "Refresh
    " - dat += "Force Shielding Update

    " + dat += "Close
    " + dat += "Refresh
    " + dat += "Force Shielding Update

    " dat += "Status: [(active?"Injecting":"Standby")]
    " - dat += "Toggle Status
    " + dat += "Toggle Status
    " dat += "Stability: [stability]%
    " dat += "Reactor parts: [linked_shielding.len]
    "//TODO: perhaps add some sort of stability check dat += "Cores: [linked_cores.len]

    " dat += "-Current Efficiency: [reported_core_efficiency]
    " - dat += "-Average Stability: [stored_core_stability] (update)
    " + dat += "-Average Stability: [stored_core_stability] (update)
    " dat += "Last Produced: [DisplayPower(stored_power)]
    " dat += "Fuel: " if(!fueljar) dat += "
    No fuel receptacle detected." else - dat += "Eject
    " + dat += "Eject
    " dat += "- [fueljar.fuel]/[fueljar.fuel_max] Units
    " dat += "- Injecting: [fuel_injection] units
    " - dat += "- --|++

    " + dat += "- --|++

    " user << browse(dat, "window=AMcontrol;size=420x500") diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index cab682857a..ce1148f985 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -487,21 +487,7 @@ update_icon() else if (W.GetID()) // trying to unlock the interface with an ID card - if(emagged) - to_chat(user, "The interface is broken!") - else if(opened) - to_chat(user, "You must close the cover to swipe an ID card!") - else if(panel_open) - to_chat(user, "You must close the panel!") - else if(stat & (BROKEN|MAINT)) - to_chat(user, "Nothing happens!") - else - if(allowed(usr) && !wires.is_cut(WIRE_IDSCAN) && !malfhack) - locked = !locked - to_chat(user, "You [ locked ? "lock" : "unlock"] the APC interface.") - update_icon() - else - to_chat(user, "Access denied.") + togglelock(user) else if (istype(W, /obj/item/stack/cable_coil) && opened) var/turf/host_turf = get_turf(src) @@ -671,6 +657,31 @@ wires.interact(user) else return ..() + +/obj/machinery/power/apc/AltClick(mob/user) + ..() + if(!issilicon(user) && (!user.canUseTopic(src, be_close=TRUE) || !isturf(loc))) + to_chat(user, "You can't do that right now!") + return + else + togglelock(user) + +/obj/machinery/power/apc/proc/togglelock(mob/living/user) + if(emagged) + to_chat(user, "The interface is broken!") + else if(opened) + to_chat(user, "You must close the cover to swipe an ID card!") + else if(panel_open) + to_chat(user, "You must close the panel!") + else if(stat & (BROKEN|MAINT)) + to_chat(user, "Nothing happens!") + else + if(allowed(usr) && !wires.is_cut(WIRE_IDSCAN) && !malfhack) + locked = !locked + to_chat(user, "You [ locked ? "lock" : "unlock"] the APC interface.") + update_icon() + else + to_chat(user, "Access denied.") /obj/machinery/power/apc/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) if(damage_flag == "melee" && damage_amount < 15 && (!(stat & BROKEN) || malfai)) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index ec23f5b7f8..dc63253681 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -48,24 +48,31 @@ By design, d1 is the smallest direction and d2 is the highest var/obj/item/stack/cable_coil/stored var/cable_color = "red" + color = "#ff0000" /obj/structure/cable/yellow cable_color = "yellow" + color = "#ffff00" /obj/structure/cable/green cable_color = "green" + color = "#00aa00" /obj/structure/cable/blue cable_color = "blue" + color = "#1919c8" /obj/structure/cable/pink cable_color = "pink" + color = "#ff3cc8" /obj/structure/cable/orange cable_color = "orange" + color = "#ff8000" /obj/structure/cable/cyan cable_color = "cyan" + color = "#00ffff" /obj/structure/cable/white cable_color = "white" @@ -123,6 +130,7 @@ By design, d1 is the smallest direction and d2 is the highest icon_state = "[d1]-[d2]-f" else icon_state = "[d1]-[d2]" + color = null add_atom_colour(cable_color, FIXED_COLOUR_PRIORITY) /obj/structure/cable/proc/handlecable(obj/item/W, mob/user, params) @@ -523,6 +531,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai /obj/item/stack/cable_coil/update_icon() icon_state = "[initial(item_state)][amount < 3 ? amount : ""]" name = "cable [amount < 3 ? "piece" : "coil"]" + color = null add_atom_colour(item_color, FIXED_COLOUR_PRIORITY) /obj/item/stack/cable_coil/attack_hand(mob/user) @@ -743,30 +752,38 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai /obj/item/stack/cable_coil/red item_color = "red" + color = "#ff0000" /obj/item/stack/cable_coil/yellow item_color = "yellow" + color = "#ffff00" /obj/item/stack/cable_coil/blue item_color = "blue" + color = "#1919c8" /obj/item/stack/cable_coil/green item_color = "green" + color = "#00aa00" /obj/item/stack/cable_coil/pink item_color = "pink" + color = "#ff3ccd" /obj/item/stack/cable_coil/orange item_color = "orange" + color = "#ff8000" /obj/item/stack/cable_coil/cyan item_color = "cyan" + color = "#00ffff" /obj/item/stack/cable_coil/white item_color = "white" /obj/item/stack/cable_coil/random item_color = null + color = "#ffffff" /obj/item/stack/cable_coil/random/five amount = 5 diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 5d1e2fa6d9..040a05c1cb 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -1,351 +1,351 @@ -/obj/item/stock_parts/cell - name = "power cell" - desc = "A rechargeable electrochemical power cell." - icon = 'icons/obj/power.dmi' - icon_state = "cell" - item_state = "cell" - lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' - righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - origin_tech = "powerstorage=1" - force = 5 - throwforce = 5 - throw_speed = 2 - throw_range = 5 - w_class = WEIGHT_CLASS_SMALL - var/charge = 0 // note %age conveted to actual charge in New - var/maxcharge = 1000 - materials = list(MAT_METAL=700, MAT_GLASS=50) - var/rigged = 0 // true if rigged to explode - var/chargerate = 100 //how much power is given every tick in a recharger - var/self_recharge = 0 //does it self recharge, over time, or not? - var/ratingdesc = TRUE - var/grown_battery = FALSE // If it's a grown that acts as a battery, add a wire overlay to it. - -/obj/item/stock_parts/cell/get_cell() - return src - -/obj/item/stock_parts/cell/New() - ..() - START_PROCESSING(SSobj, src) - charge = maxcharge - if(ratingdesc) - desc += " This one has a power rating of [maxcharge], and you should not swallow it." - update_icon() - -/obj/item/stock_parts/cell/Destroy() - STOP_PROCESSING(SSobj, src) - return ..() - -/obj/item/stock_parts/cell/vv_edit_var(var_name, var_value) - switch(var_name) - if("self_recharge") - if(var_value) - START_PROCESSING(SSobj, src) - else - STOP_PROCESSING(SSobj, src) - . = ..() - -/obj/item/stock_parts/cell/process() - if(self_recharge) - give(chargerate * 0.25) - else - return PROCESS_KILL - -/obj/item/stock_parts/cell/update_icon() - cut_overlays() - if(grown_battery) - add_overlay("grown_wires") - if(charge < 0.01) - return - else if(charge/maxcharge >=0.995) - add_overlay("cell-o2") - else - add_overlay("cell-o1") - -/obj/item/stock_parts/cell/proc/percent() // return % charge of cell - return 100*charge/maxcharge - -// use power from a cell -/obj/item/stock_parts/cell/proc/use(amount) - if(rigged && amount > 0) - explode() - return 0 - if(charge < amount) - return 0 - charge = (charge - amount) - if(!istype(loc, /obj/machinery/power/apc)) - SSblackbox.add_details("cell_used","[src.type]") - return 1 - -// recharge the cell -/obj/item/stock_parts/cell/proc/give(amount) - if(rigged && amount > 0) - explode() - return 0 - if(maxcharge < amount) - amount = maxcharge - var/power_used = min(maxcharge-charge,amount) - charge += power_used - return power_used - -/obj/item/stock_parts/cell/examine(mob/user) - ..() - if(rigged) - to_chat(user, "This power cell seems to be faulty!") - else - to_chat(user, "The charge meter reads [round(src.percent() )]%.") - -/obj/item/stock_parts/cell/suicide_act(mob/user) - user.visible_message("[user] is licking the electrodes of [src]! It looks like [user.p_theyre()] trying to commit suicide!") - return (FIRELOSS) - -/obj/item/stock_parts/cell/attackby(obj/item/W, mob/user, params) - ..() - if(istype(W, /obj/item/reagent_containers/syringe)) - var/obj/item/reagent_containers/syringe/S = W - to_chat(user, "You inject the solution into the power cell.") - if(S.reagents.has_reagent("plasma", 5)) - rigged = 1 - S.reagents.clear_reagents() - - -/obj/item/stock_parts/cell/proc/explode() - var/turf/T = get_turf(src.loc) -/* - * 1000-cell explosion(T, -1, 0, 1, 1) - * 2500-cell explosion(T, -1, 0, 1, 1) - * 10000-cell explosion(T, -1, 1, 3, 3) - * 15000-cell explosion(T, -1, 2, 4, 4) - * */ - if (charge==0) - return - var/devastation_range = -1 //round(charge/11000) - var/heavy_impact_range = round(sqrt(charge)/60) - var/light_impact_range = round(sqrt(charge)/30) - var/flash_range = light_impact_range - if (light_impact_range==0) - rigged = 0 - corrupt() - return - //explosion(T, 0, 1, 2, 2) - explosion(T, devastation_range, heavy_impact_range, light_impact_range, flash_range) - qdel(src) - -/obj/item/stock_parts/cell/proc/corrupt() - charge /= 2 - maxcharge = max(maxcharge/2, chargerate) - if (prob(10)) - rigged = 1 //broken batterys are dangerous - -/obj/item/stock_parts/cell/emp_act(severity) - charge -= 1000 / severity - if (charge < 0) - charge = 0 - ..() - -/obj/item/stock_parts/cell/ex_act(severity, target) - ..() - if(!QDELETED(src)) - switch(severity) - if(2) - if(prob(50)) - corrupt() - if(3) - if(prob(25)) - corrupt() - - -/obj/item/stock_parts/cell/blob_act(obj/structure/blob/B) - ex_act(EXPLODE_DEVASTATE) - -/obj/item/stock_parts/cell/proc/get_electrocute_damage() - if(charge >= 1000) - return Clamp(round(charge/10000), 10, 90) + rand(-5,5) - else - return 0 - -/* Cell variants*/ -/obj/item/stock_parts/cell/crap - name = "\improper Nanotrasen brand rechargeable AA battery" - desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT - maxcharge = 500 - materials = list(MAT_GLASS=40) - rating = 2 - -/obj/item/stock_parts/cell/crap/empty/New() - ..() - charge = 0 - -/obj/item/stock_parts/cell/upgraded - name = "high-capacity power cell" - desc = "A power cell with a slightly higher capacity than normal!" - maxcharge = 2500 - materials = list(MAT_GLASS=50) - rating = 2 - chargerate = 1000 - -/obj/item/stock_parts/cell/upgraded/plus - name = "upgraded power cell+" - desc = "A power cell with an even higher capacity than the base model!" - maxcharge = 5000 - -/obj/item/stock_parts/cell/secborg - name = "security borg rechargeable D battery" - origin_tech = null - maxcharge = 600 //600 max charge / 100 charge per shot = six shots - materials = list(MAT_GLASS=40) - rating = 2.5 - -/obj/item/stock_parts/cell/secborg/empty/New() - ..() - charge = 0 - -/obj/item/stock_parts/cell/pulse //200 pulse shots - name = "pulse rifle power cell" - maxcharge = 40000 - rating = 3 - chargerate = 1500 - -/obj/item/stock_parts/cell/pulse/carbine //25 pulse shots - name = "pulse carbine power cell" - maxcharge = 5000 - -/obj/item/stock_parts/cell/pulse/pistol //10 pulse shots - name = "pulse pistol power cell" - maxcharge = 2000 - -/obj/item/stock_parts/cell/high - name = "high-capacity power cell" - origin_tech = "powerstorage=2" - icon_state = "hcell" - maxcharge = 10000 - materials = list(MAT_GLASS=60) - rating = 3 - chargerate = 1500 - -/obj/item/stock_parts/cell/high/plus - name = "high-capacity power cell+" - desc = "Where did these come from?" - icon_state = "h+cell" - maxcharge = 15000 - chargerate = 2250 - -/obj/item/stock_parts/cell/high/empty/New() - ..() - charge = 0 - -/obj/item/stock_parts/cell/super - name = "super-capacity power cell" - origin_tech = "powerstorage=3;materials=3" - icon_state = "scell" - maxcharge = 20000 - materials = list(MAT_GLASS=300) - rating = 4 - chargerate = 2000 - -/obj/item/stock_parts/cell/super/empty/New() - ..() - charge = 0 - -/obj/item/stock_parts/cell/hyper - name = "hyper-capacity power cell" - origin_tech = "powerstorage=4;engineering=4;materials=4" - icon_state = "hpcell" - maxcharge = 30000 - materials = list(MAT_GLASS=400) - rating = 5 - chargerate = 3000 - -/obj/item/stock_parts/cell/hyper/empty/New() - ..() - charge = 0 - -/obj/item/stock_parts/cell/bluespace - name = "bluespace power cell" - desc = "A rechargeable transdimensional power cell." - origin_tech = "powerstorage=5;bluespace=4;materials=4;engineering=4" - icon_state = "bscell" - maxcharge = 40000 - materials = list(MAT_GLASS=600) - rating = 6 - chargerate = 4000 - -/obj/item/stock_parts/cell/bluespace/empty/New() - ..() - charge = 0 - -/obj/item/stock_parts/cell/infinite - name = "infinite-capacity power cell!" - icon_state = "icell" - origin_tech = "powerstorage=7" - maxcharge = 30000 - materials = list(MAT_GLASS=1000) - rating = 6 - chargerate = 30000 - -/obj/item/stock_parts/cell/infinite/use() - return 1 - -/obj/item/stock_parts/cell/infinite/abductor - name = "void core" - desc = "An alien power cell that produces energy seemingly out of nowhere." - icon = 'icons/obj/abductor.dmi' - icon_state = "cell" - origin_tech = "abductor=5;powerstorage=8;engineering=6" - maxcharge = 50000 - rating = 12 - ratingdesc = FALSE - -/obj/item/stock_parts/cell/infinite/abductor/update_icon() - return - - -/obj/item/stock_parts/cell/potato - name = "potato battery" - desc = "A rechargeable starch based power cell." - icon = 'icons/obj/hydroponics/harvest.dmi' - icon_state = "potato" - origin_tech = "powerstorage=1;biotech=1" - charge = 100 - maxcharge = 300 - materials = list() - rating = 1 - grown_battery = TRUE //it has the overlays for wires - -/obj/item/stock_parts/cell/high/slime - name = "charged slime core" - desc = "A yellow slime core infused with plasma, it crackles with power." - origin_tech = "powerstorage=5;biotech=4" - icon = 'icons/mob/slimes.dmi' - icon_state = "yellow slime extract" - materials = list() - self_recharge = 1 // Infused slime cores self-recharge, over time - -/obj/item/stock_parts/cell/emproof - name = "\improper EMP-proof cell" - desc = "An EMP-proof cell." - maxcharge = 500 - rating = 2 - -/obj/item/stock_parts/cell/emproof/empty/New() - ..() - charge = 0 - -/obj/item/stock_parts/cell/emproof/emp_act(severity) - return - -/obj/item/stock_parts/cell/emproof/corrupt() - return - -/obj/item/stock_parts/cell/beam_rifle - name = "beam rifle capacitor" - desc = "A high powered capacitor that can provide huge amounts of energy in an instant." - maxcharge = 50000 - chargerate = 5000 //Extremely energy intensive - rating = 4 - -/obj/item/stock_parts/cell/beam_rifle/corrupt() - return - -/obj/item/stock_parts/cell/beam_rifle/emp_act(severity) - charge = Clamp((charge-(10000/severity)),0,maxcharge) +/obj/item/stock_parts/cell + name = "power cell" + desc = "A rechargeable electrochemical power cell." + icon = 'icons/obj/power.dmi' + icon_state = "cell" + item_state = "cell" + lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' + origin_tech = "powerstorage=1" + force = 5 + throwforce = 5 + throw_speed = 2 + throw_range = 5 + w_class = WEIGHT_CLASS_SMALL + var/charge = 0 // note %age conveted to actual charge in New + var/maxcharge = 1000 + materials = list(MAT_METAL=700, MAT_GLASS=50) + var/rigged = 0 // true if rigged to explode + var/chargerate = 100 //how much power is given every tick in a recharger + var/self_recharge = 0 //does it self recharge, over time, or not? + var/ratingdesc = TRUE + var/grown_battery = FALSE // If it's a grown that acts as a battery, add a wire overlay to it. + +/obj/item/stock_parts/cell/get_cell() + return src + +/obj/item/stock_parts/cell/New() + ..() + START_PROCESSING(SSobj, src) + charge = maxcharge + if(ratingdesc) + desc += " This one has a power rating of [DisplayPower(maxcharge)], and you should not swallow it." + update_icon() + +/obj/item/stock_parts/cell/Destroy() + STOP_PROCESSING(SSobj, src) + return ..() + +/obj/item/stock_parts/cell/vv_edit_var(var_name, var_value) + switch(var_name) + if("self_recharge") + if(var_value) + START_PROCESSING(SSobj, src) + else + STOP_PROCESSING(SSobj, src) + . = ..() + +/obj/item/stock_parts/cell/process() + if(self_recharge) + give(chargerate * 0.25) + else + return PROCESS_KILL + +/obj/item/stock_parts/cell/update_icon() + cut_overlays() + if(grown_battery) + add_overlay("grown_wires") + if(charge < 0.01) + return + else if(charge/maxcharge >=0.995) + add_overlay("cell-o2") + else + add_overlay("cell-o1") + +/obj/item/stock_parts/cell/proc/percent() // return % charge of cell + return 100*charge/maxcharge + +// use power from a cell +/obj/item/stock_parts/cell/proc/use(amount) + if(rigged && amount > 0) + explode() + return 0 + if(charge < amount) + return 0 + charge = (charge - amount) + if(!istype(loc, /obj/machinery/power/apc)) + SSblackbox.add_details("cell_used","[src.type]") + return 1 + +// recharge the cell +/obj/item/stock_parts/cell/proc/give(amount) + if(rigged && amount > 0) + explode() + return 0 + if(maxcharge < amount) + amount = maxcharge + var/power_used = min(maxcharge-charge,amount) + charge += power_used + return power_used + +/obj/item/stock_parts/cell/examine(mob/user) + ..() + if(rigged) + to_chat(user, "This power cell seems to be faulty!") + else + to_chat(user, "The charge meter reads [round(src.percent() )]%.") + +/obj/item/stock_parts/cell/suicide_act(mob/user) + user.visible_message("[user] is licking the electrodes of [src]! It looks like [user.p_theyre()] trying to commit suicide!") + return (FIRELOSS) + +/obj/item/stock_parts/cell/attackby(obj/item/W, mob/user, params) + ..() + if(istype(W, /obj/item/reagent_containers/syringe)) + var/obj/item/reagent_containers/syringe/S = W + to_chat(user, "You inject the solution into the power cell.") + if(S.reagents.has_reagent("plasma", 5)) + rigged = 1 + S.reagents.clear_reagents() + + +/obj/item/stock_parts/cell/proc/explode() + var/turf/T = get_turf(src.loc) +/* + * 1000-cell explosion(T, -1, 0, 1, 1) + * 2500-cell explosion(T, -1, 0, 1, 1) + * 10000-cell explosion(T, -1, 1, 3, 3) + * 15000-cell explosion(T, -1, 2, 4, 4) + * */ + if (charge==0) + return + var/devastation_range = -1 //round(charge/11000) + var/heavy_impact_range = round(sqrt(charge)/60) + var/light_impact_range = round(sqrt(charge)/30) + var/flash_range = light_impact_range + if (light_impact_range==0) + rigged = 0 + corrupt() + return + //explosion(T, 0, 1, 2, 2) + explosion(T, devastation_range, heavy_impact_range, light_impact_range, flash_range) + qdel(src) + +/obj/item/stock_parts/cell/proc/corrupt() + charge /= 2 + maxcharge = max(maxcharge/2, chargerate) + if (prob(10)) + rigged = 1 //broken batterys are dangerous + +/obj/item/stock_parts/cell/emp_act(severity) + charge -= 1000 / severity + if (charge < 0) + charge = 0 + ..() + +/obj/item/stock_parts/cell/ex_act(severity, target) + ..() + if(!QDELETED(src)) + switch(severity) + if(2) + if(prob(50)) + corrupt() + if(3) + if(prob(25)) + corrupt() + + +/obj/item/stock_parts/cell/blob_act(obj/structure/blob/B) + ex_act(EXPLODE_DEVASTATE) + +/obj/item/stock_parts/cell/proc/get_electrocute_damage() + if(charge >= 1000) + return Clamp(round(charge/10000), 10, 90) + rand(-5,5) + else + return 0 + +/* Cell variants*/ +/obj/item/stock_parts/cell/crap + name = "\improper Nanotrasen brand rechargeable AA battery" + desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT + maxcharge = 500 + materials = list(MAT_GLASS=40) + rating = 2 + +/obj/item/stock_parts/cell/crap/empty/New() + ..() + charge = 0 + +/obj/item/stock_parts/cell/upgraded + name = "high-capacity power cell" + desc = "A power cell with a slightly higher capacity than normal!" + maxcharge = 2500 + materials = list(MAT_GLASS=50) + rating = 2 + chargerate = 1000 + +/obj/item/stock_parts/cell/upgraded/plus + name = "upgraded power cell+" + desc = "A power cell with an even higher capacity than the base model!" + maxcharge = 5000 + +/obj/item/stock_parts/cell/secborg + name = "security borg rechargeable D battery" + origin_tech = null + maxcharge = 600 //600 max charge / 100 charge per shot = six shots + materials = list(MAT_GLASS=40) + rating = 2.5 + +/obj/item/stock_parts/cell/secborg/empty/New() + ..() + charge = 0 + +/obj/item/stock_parts/cell/pulse //200 pulse shots + name = "pulse rifle power cell" + maxcharge = 40000 + rating = 3 + chargerate = 1500 + +/obj/item/stock_parts/cell/pulse/carbine //25 pulse shots + name = "pulse carbine power cell" + maxcharge = 5000 + +/obj/item/stock_parts/cell/pulse/pistol //10 pulse shots + name = "pulse pistol power cell" + maxcharge = 2000 + +/obj/item/stock_parts/cell/high + name = "high-capacity power cell" + origin_tech = "powerstorage=2" + icon_state = "hcell" + maxcharge = 10000 + materials = list(MAT_GLASS=60) + rating = 3 + chargerate = 1500 + +/obj/item/stock_parts/cell/high/plus + name = "high-capacity power cell+" + desc = "Where did these come from?" + icon_state = "h+cell" + maxcharge = 15000 + chargerate = 2250 + +/obj/item/stock_parts/cell/high/empty/New() + ..() + charge = 0 + +/obj/item/stock_parts/cell/super + name = "super-capacity power cell" + origin_tech = "powerstorage=3;materials=3" + icon_state = "scell" + maxcharge = 20000 + materials = list(MAT_GLASS=300) + rating = 4 + chargerate = 2000 + +/obj/item/stock_parts/cell/super/empty/New() + ..() + charge = 0 + +/obj/item/stock_parts/cell/hyper + name = "hyper-capacity power cell" + origin_tech = "powerstorage=4;engineering=4;materials=4" + icon_state = "hpcell" + maxcharge = 30000 + materials = list(MAT_GLASS=400) + rating = 5 + chargerate = 3000 + +/obj/item/stock_parts/cell/hyper/empty/New() + ..() + charge = 0 + +/obj/item/stock_parts/cell/bluespace + name = "bluespace power cell" + desc = "A rechargeable transdimensional power cell." + origin_tech = "powerstorage=5;bluespace=4;materials=4;engineering=4" + icon_state = "bscell" + maxcharge = 40000 + materials = list(MAT_GLASS=600) + rating = 6 + chargerate = 4000 + +/obj/item/stock_parts/cell/bluespace/empty/New() + ..() + charge = 0 + +/obj/item/stock_parts/cell/infinite + name = "infinite-capacity power cell!" + icon_state = "icell" + origin_tech = "powerstorage=7" + maxcharge = 30000 + materials = list(MAT_GLASS=1000) + rating = 6 + chargerate = 30000 + +/obj/item/stock_parts/cell/infinite/use() + return 1 + +/obj/item/stock_parts/cell/infinite/abductor + name = "void core" + desc = "An alien power cell that produces energy seemingly out of nowhere." + icon = 'icons/obj/abductor.dmi' + icon_state = "cell" + origin_tech = "abductor=5;powerstorage=8;engineering=6" + maxcharge = 50000 + rating = 12 + ratingdesc = FALSE + +/obj/item/stock_parts/cell/infinite/abductor/update_icon() + return + + +/obj/item/stock_parts/cell/potato + name = "potato battery" + desc = "A rechargeable starch based power cell." + icon = 'icons/obj/hydroponics/harvest.dmi' + icon_state = "potato" + origin_tech = "powerstorage=1;biotech=1" + charge = 100 + maxcharge = 300 + materials = list() + rating = 1 + grown_battery = TRUE //it has the overlays for wires + +/obj/item/stock_parts/cell/high/slime + name = "charged slime core" + desc = "A yellow slime core infused with plasma, it crackles with power." + origin_tech = "powerstorage=5;biotech=4" + icon = 'icons/mob/slimes.dmi' + icon_state = "yellow slime extract" + materials = list() + self_recharge = 1 // Infused slime cores self-recharge, over time + +/obj/item/stock_parts/cell/emproof + name = "\improper EMP-proof cell" + desc = "An EMP-proof cell." + maxcharge = 500 + rating = 2 + +/obj/item/stock_parts/cell/emproof/empty/New() + ..() + charge = 0 + +/obj/item/stock_parts/cell/emproof/emp_act(severity) + return + +/obj/item/stock_parts/cell/emproof/corrupt() + return + +/obj/item/stock_parts/cell/beam_rifle + name = "beam rifle capacitor" + desc = "A high powered capacitor that can provide huge amounts of energy in an instant." + maxcharge = 50000 + chargerate = 5000 //Extremely energy intensive + rating = 4 + +/obj/item/stock_parts/cell/beam_rifle/corrupt() + return + +/obj/item/stock_parts/cell/beam_rifle/emp_act(severity) + charge = Clamp((charge-(10000/severity)),0,maxcharge) diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index 6aeaff9477..5369686b31 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -166,7 +166,7 @@ else t += "Unable to locate all parts!" if(include_link) - t += "
    Close" + t += "
    Close" return t diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index b98ea7f6c9..65e6d4c0e4 100644 --- a/code/modules/power/gravitygenerator.dm +++ b/code/modules/power/gravitygenerator.dm @@ -233,9 +233,9 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne return var/dat = "Gravity Generator Breaker: " if(breaker) - dat += "ON OFF" + dat += "ON OFF" else - dat += "ON OFF " + dat += "ON OFF " dat += "
    Generator Status:
    " if(charging_state != POWER_IDLE) @@ -369,7 +369,8 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne /obj/machinery/gravity_generator/main/proc/shake_everyone() var/turf/T = get_turf(src) var/sound/alert_sound = sound('sound/effects/alert.ogg') - for(var/mob/M in GLOB.mob_list) + for(var/i in GLOB.mob_list) + var/mob/M = i if(M.z != z) continue M.update_gravity(M.mob_has_gravity()) diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 6031f6edab..73f48a2b28 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -235,16 +235,16 @@ var/dat = text("[name]
    ") if (active) - dat += text("Generator: On
    ") + dat += text("Generator: On
    ") else - dat += text("Generator: Off
    ") - dat += text("[capitalize(sheet_name)]: [sheets] - Eject
    ") + dat += text("Generator: Off
    ") + dat += text("[capitalize(sheet_name)]: [sheets] - Eject
    ") var/stack_percent = round(sheet_left * 100, 1) dat += text("Current stack: [stack_percent]%
    ") - dat += text("Power output: - [power_gen * power_output] +
    ") + dat += text("Power output: - [power_gen * power_output] +
    ") dat += text("Power current: [(powernet == null ? "Unconnected" : "[DisplayPower(avail())]")]
    ") dat += text("Heat: [current_heat]
    ") - dat += "
    Close" + dat += "
    Close" user << browse(dat, "window=port_gen") onclose(user, "port_gen") diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm index 2e92aa92aa..0ede336ef6 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -37,6 +37,8 @@ eject() else loaded_tank.air_contents.gases[/datum/gas/plasma][MOLES] -= 0.001*drainratio + ASSERT_GAS(/datum/gas/tritium,loaded_tank.air_contents) + loaded_tank.air_contents.gases[/datum/gas/tritium][MOLES] += 0.001*drainratio loaded_tank.air_contents.garbage_collect() var/power_produced = min(last_power, (last_power*RAD_COLLECTOR_STORED_OUT)+1000) //Produces at least 1000 watts if it has more than that stored diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm index 81dcd573f5..22712e970d 100644 --- a/code/modules/power/singularity/narsie.dm +++ b/code/modules/power/singularity/narsie.dm @@ -140,7 +140,7 @@ acquire(enemy) return - for(var/mob/living/carbon/food in GLOB.living_mob_list) //we don't care about constructs or cult-Ians or whatever. cult-monkeys are fair game i guess + for(var/mob/living/carbon/food in GLOB.alive_mob_list) //we don't care about constructs or cult-Ians or whatever. cult-monkeys are fair game i guess var/turf/pos = get_turf(food) if(!pos || (pos.z != z)) continue diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm index dd98f092ea..266e5b22f5 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_control.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm @@ -232,11 +232,11 @@ user.set_machine(src) var/dat = "" - dat += "Close

    " + dat += "Close

    " dat += "

    Status

    " if(!assembled) dat += "Unable to detect all parts!
    " - dat += "Run Scan

    " + dat += "Run Scan

    " else dat += "All parts in place.

    " dat += "Power:" @@ -244,9 +244,9 @@ dat += "On
    " else dat += "Off
    " - dat += "Toggle Power

    " + dat += "Toggle Power

    " dat += "Particle Strength: [strength] " - dat += "--|++

    " + dat += "--|++

    " var/datum/browser/popup = new(user, "pacontrol", name, 420, 300) popup.set_content(dat) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 7ce459a712..de67f837f4 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -63,6 +63,8 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard) icon_state = "darkmatter_shard" density = TRUE anchored = FALSE + var/uid = 1 + var/static/gl_uid = 1 light_range = 4 resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF @@ -137,6 +139,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard) /obj/machinery/power/supermatter_shard/Initialize() . = ..() + uid = gl_uid++ SSair.atmos_machinery += src countdown = new(src) countdown.start() @@ -226,7 +229,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard) /obj/machinery/power/supermatter_shard/proc/explode() var/turf/T = get_turf(src) - for(var/mob/M in GLOB.mob_list) + for(var/mob/M in GLOB.player_list) if(M.z == z) SEND_SOUND(M, 'sound/magic/charge.ogg') to_chat(M, "You feel reality distort for a moment...") @@ -424,7 +427,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard) radio.talk_into(src, "Warning: Critical coolant mass reached.", engineering_channel, get_spans(), get_default_language()) if(damage > explosion_point) - for(var/mob in GLOB.living_mob_list) + for(var/mob in GLOB.alive_mob_list) var/mob/living/L = mob if(istype(L) && L.z == z) if(ishuman(mob)) @@ -463,7 +466,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_shard) investigate_log("Supermatter shard consumed by singularity.", INVESTIGATE_SINGULO) message_admins("Singularity has consumed a supermatter shard and can now become stage six.") visible_message("[src] is consumed by the singularity!") - for(var/mob/M in GLOB.mob_list) + for(var/mob/M in GLOB.player_list) if(M.z == z) SEND_SOUND(M, 'sound/effects/supermatter.ogg') //everyone goan know bout this to_chat(M, "A horrible screeching fills your ears, and a wave of dread washes over you...") diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm index 9d527560fc..4a26950217 100644 --- a/code/modules/power/tesla/energy_ball.dm +++ b/code/modules/power/tesla/energy_ball.dm @@ -78,7 +78,7 @@ var/move_bias = pick(GLOB.alldirs) for(var/i in 0 to move_amount) var/move_dir = pick(GLOB.alldirs + move_bias) //ensures large-ball teslas don't just sit around - if(target && prob(60)) + if(target && prob(10)) move_dir = get_dir(src,target) var/turf/T = get_step(src, move_dir) if(can_move(T)) diff --git a/code/modules/power/turbine.dm b/code/modules/power/turbine.dm index ee531697aa..0d1a8904f4 100644 --- a/code/modules/power/turbine.dm +++ b/code/modules/power/turbine.dm @@ -276,9 +276,9 @@ t += "Turbine: [round(compressor.rpm)] RPM
    " - t += "Starter: [ compressor.starter ? "Off On" : "Off On"]" + t += "Starter: [ compressor.starter ? "Off On" : "Off On"]" - t += "
    Close" + t += "
    Close" t += "" var/datum/browser/popup = new(user, "turbine", name) @@ -315,10 +315,19 @@ /obj/machinery/computer/turbine_computer/Initialize() . = ..() + return INITIALIZE_HINT_LATELOAD + +/obj/machinery/computer/turbine_computer/LateInitialize() locate_machinery() /obj/machinery/computer/turbine_computer/locate_machinery() - compressor = locate(/obj/machinery/power/compressor) in range(5, src) + if(id) + for(var/obj/machinery/power/compressor/C in GLOB.machines) + if(C.comp_id == id) + compressor = C + return + else + compressor = locate(/obj/machinery/power/compressor) in range(5, src) /obj/machinery/computer/turbine_computer/attack_hand(var/mob/user as mob) if(..()) @@ -334,18 +343,18 @@ if(compressor.stat || compressor.turbine.stat) dat += "[compressor.stat ? "Compressor is inoperable
    " : "Turbine is inoperable"]" else - dat += {"Turbine status: [ src.compressor.starter ? "Off On" : "Off On"] + dat += {"Turbine status: [ src.compressor.starter ? "Off On" : "Off On"] \n
    \nTurbine speed: [src.compressor.rpm]rpm
    \nPower currently being generated: [DisplayPower(src.compressor.turbine.lastgen)]
    \nInternal gas temperature: [src.compressor.gas_contained.temperature]K
    - \n
    Close + \n
    Close \n
    \n"} else dat += "There is [!compressor ? "no compressor" : " compressor[!compressor.turbine ? " but no turbine" : ""]"].
    " if(!compressor) - dat += "Search for compressor" + dat += "Search for compressor" var/datum/browser/popup = new(user, "turbinecomputer", name) popup.set_content(dat) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 3f70f4f8ff..bb26694021 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -101,21 +101,32 @@ /obj/item/projectile/proc/on_hit(atom/target, blocked = FALSE) var/turf/target_loca = get_turf(target) + + var/hitx + var/hity + if(target == original) + hitx = target.pixel_x + p_x - 16 + hity = target.pixel_y + p_y - 16 + else + hitx = target.pixel_x + rand(-8, 8) + hity = target.pixel_y + rand(-8, 8) + if(!nodamage && (damage_type == BRUTE || damage_type == BURN) && iswallturf(target_loca) && prob(75)) var/turf/closed/wall/W = target_loca - var/mutable_appearance/decal = mutable_appearance('icons/effects/effects.dmi', "bullet_hole", TURF_DECAL_LAYER) - if(target == original) - decal.pixel_x = target.pixel_x + p_x - 16 - decal.pixel_y = target.pixel_y + p_y - 16 - else - decal.pixel_x = target.pixel_x + rand(2, -2) - decal.pixel_y = target.pixel_y + rand(2, -2) - W.add_damage_decal(decal) + if(impact_effect_type) + new impact_effect_type(target_loca, hitx, hity) + + W.add_dent(WALL_DENT_SHOT, hitx, hity) + + return 0 + if(!isliving(target)) if(impact_effect_type) - new impact_effect_type(target_loca, target, src) + new impact_effect_type(target_loca, hitx, hity) return 0 + var/mob/living/L = target + if(blocked != 100) // not completely blocked if(damage && L.blood_volume && damage_type == BRUTE) var/splatter_dir = dir @@ -128,7 +139,7 @@ if(prob(33)) L.add_splatter_floor(target_loca) else if(impact_effect_type) - new impact_effect_type(target_loca, target, src) + new impact_effect_type(target_loca, hitx, hity) var/organ_hit_text = "" var/limb_hit = L.check_limb_hit(def_zone)//to get the correct message info. @@ -394,7 +405,7 @@ /obj/item/projectile/Crossed(atom/movable/AM) //A mob moving on a tile with a projectile is hit by it. ..() - if(isliving(AM) && (AM.density || AM == original) && !checkpass(PASSMOB)) + if(isliving(AM) && (AM.density || AM == original) && !(src.pass_flags & PASSMOB)) Collide(AM) /obj/item/projectile/Destroy() diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 2fa90152d8..ef00c35563 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -50,7 +50,8 @@ damage = 15 irradiate = 30 range = 15 - forcedodge = 1 + pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE | PASSCLOSEDTURF + impact_effect_type = /obj/effect/temp_visual/impact_effect/green_laser light_color = LIGHT_COLOR_GREEN diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 57960fcea7..a10c264b9a 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -284,6 +284,8 @@ if(poly_msg) to_chat(new_mob, poly_msg) + M.transfer_observers_to(new_mob) + qdel(M) return new_mob @@ -307,7 +309,7 @@ var/mob/living/simple_animal/hostile/statue/S = new(P.loc, owner) S.name = "statue of [L.name]" if(owner) - S.faction = list("\ref[owner]") + S.faction = list("[REF(owner)]") S.icon = P.icon S.icon_state = P.icon_state S.copy_overlays(P, TRUE) diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index f1da846ebc..434996fb08 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -62,11 +62,13 @@ /obj/machinery/chem_master/attackby(obj/item/I, mob/user, params) if(default_deconstruction_screwdriver(user, "mixer0_nopower", "mixer0", I)) if(beaker) - beaker.loc = src.loc + beaker.forceMove(drop_location()) + adjust_item_drop_location(beaker) beaker = null reagents.clear_reagents() if(bottle) - bottle.loc = src.loc + bottle.forceMove(drop_location()) + adjust_item_drop_location(bottle) bottle = null return @@ -153,7 +155,8 @@ switch(action) if("eject") if(beaker) - beaker.loc = src.loc + beaker.forceMove(drop_location()) + adjust_item_drop_location(beaker) beaker = null reagents.clear_reagents() icon_state = "mixer0" @@ -161,7 +164,8 @@ if("ejectp") if(bottle) - bottle.loc = src.loc + bottle.forceMove(drop_location()) + adjust_item_drop_location(bottle) bottle = null . = TRUE @@ -214,16 +218,15 @@ if(bottle && bottle.contents.len < bottle.storage_slots) P = new/obj/item/reagent_containers/pill(bottle) else - P = new/obj/item/reagent_containers/pill(src.loc) + P = new/obj/item/reagent_containers/pill(drop_location()) P.name = trim("[name] pill") - P.pixel_x = rand(-7, 7) //random position - P.pixel_y = rand(-7, 7) + adjust_item_drop_location(P) reagents.trans_to(P,vol_each) else var/name = stripped_input(usr, "Name:", "Name your pack!", reagents.get_master_reagent_name(), MAX_NAME_LEN) if(!name || !reagents.total_volume || !src || QDELETED(src) || !usr.canUseTopic(src, be_close=TRUE)) return - var/obj/item/reagent_containers/food/condiment/pack/P = new/obj/item/reagent_containers/food/condiment/pack(src.loc) + var/obj/item/reagent_containers/food/condiment/pack/P = new/obj/item/reagent_containers/food/condiment/pack(drop_location()) P.originalname = name P.name = trim("[name] pack") @@ -248,10 +251,9 @@ var/obj/item/reagent_containers/pill/P for(var/i = 0; i < amount; i++) - P = new/obj/item/reagent_containers/pill/patch(src.loc) + P = new/obj/item/reagent_containers/pill/patch(drop_location()) P.name = trim("[name] patch") - P.pixel_x = rand(-7, 7) //random position - P.pixel_y = rand(-7, 7) + adjust_item_drop_location(P) reagents.trans_to(P,vol_each) . = TRUE @@ -264,7 +266,7 @@ var/name = stripped_input(usr, "Name:","Name your bottle!", (reagents.total_volume ? reagents.get_master_reagent_name() : " "), MAX_NAME_LEN) if(!name || !reagents.total_volume || !src || QDELETED(src) || !usr.canUseTopic(src, be_close=TRUE)) return - var/obj/item/reagent_containers/food/condiment/P = new(src.loc) + var/obj/item/reagent_containers/food/condiment/P = new(drop_location()) P.originalname = name P.name = trim("[name] bottle") reagents.trans_to(P, P.volume) @@ -280,15 +282,15 @@ var/obj/item/reagent_containers/glass/bottle/P for(var/i = 0; i < amount_full; i++) - P = new/obj/item/reagent_containers/glass/bottle(src.loc) - P.pixel_x = rand(-7, 7) //random position - P.pixel_y = rand(-7, 7) + P = new/obj/item/reagent_containers/glass/bottle(drop_location()) P.name = trim("[name] bottle") + adjust_item_drop_location(P) reagents.trans_to(P, 30) if(vol_part) - P = new/obj/item/reagent_containers/glass/bottle(src.loc) + P = new/obj/item/reagent_containers/glass/bottle(drop_location()) P.name = trim("[name] bottle") + adjust_item_drop_location(P) reagents.trans_to(P, vol_part) . = TRUE @@ -328,6 +330,34 @@ return 0 +/obj/machinery/chem_master/adjust_item_drop_location(atom/movable/AM) // Special version for chemmasters and condimasters + if (AM == beaker) + AM.pixel_x = -8 + AM.pixel_y = 8 + return null + else if (AM == bottle) + if (length(bottle.contents)) + AM.pixel_x = -13 + else + AM.pixel_x = -7 + AM.pixel_y = -8 + return null + else + var/md5 = md5(AM.name) + for (var/i in 1 to 32) + #if DM_VERSION >= 513 + #warning 512 is definitely stable now, remove the old code + #endif + + #if DM_VERSION >= 512 + . += hex2num(md5[i]) + #else + . += hex2num(copytext(md5,i,i+1)) + #endif + . = . % 9 + AM.pixel_x = ((.%3)*6) + AM.pixel_y = -8 + (round( . / 3)*8) + /obj/machinery/chem_master/condimaster name = "CondiMaster 3000" desc = "Used to create condiments and other cooking supplies." diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index eb1ee87df9..77fcd50306 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -248,14 +248,14 @@ "} if (is_beaker_ready) if(!is_chamber_empty && !(stat & (NOPOWER|BROKEN))) - dat += "Grind the reagents
    " - dat += "Juice the reagents

    " + dat += "Grind the reagents
    " + dat += "Juice the reagents

    " else if (beaker.reagents.total_volume) - dat += "Mix the reagents

    " + dat += "Mix the reagents

    " if(length(holdingitems)) - dat += "Eject the reagents
    " + dat += "Eject the reagents
    " if(beaker) - dat += "Detach the beaker
    " + dat += "Detach the beaker
    " else dat += "Please wait..." diff --git a/code/modules/reagents/chemistry/machinery/smoke_machine.dm b/code/modules/reagents/chemistry/machinery/smoke_machine.dm index 63f7e48281..dc92dd3b52 100644 --- a/code/modules/reagents/chemistry/machinery/smoke_machine.dm +++ b/code/modules/reagents/chemistry/machinery/smoke_machine.dm @@ -1,6 +1,6 @@ /obj/machinery/smoke_machine - name = "Smoke Machine" - desc = "Seriously man?" + name = "smoke machine" + desc = "A machine with a centrifuge installed into it. It produces smoke with any reagents you put into the machine." icon = 'icons/obj/chemical.dmi' icon_state = "smoke0" density = TRUE @@ -11,9 +11,9 @@ var/cooldown = 0 var/screen = "home" var/useramount = 30 // Last used amount - var/volume = 1000 + var/volume = 300 var/setting = 3 - var/list/possible_settings = list(3,6,9,12,15) + var/list/possible_settings = list(3,6,9) /datum/effect_system/smoke_spread/chem/smoke_machine/set_up(datum/reagents/carry, setting = 3, efficiency = 10, loc) amount = setting @@ -66,7 +66,7 @@ /obj/machinery/smoke_machine/attackby(obj/item/I, mob/user, params) add_fingerprint(user) - if(istype(I, /obj/item/reagent_containers)) + if(istype(I, /obj/item/reagent_containers) && I.is_open_container()) var/obj/item/reagent_containers/RC = I var/units = RC.reagents.trans_to(src, RC.amount_per_transfer_from_this) if(units) diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index cc91819611..9321c6b015 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -957,9 +957,11 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_desc = "A stingy drink." /datum/reagent/consumable/ethanol/changelingsting/on_mob_life(mob/living/M) - if(M.mind && M.mind.changeling) //Changeling Sting assists in the recharging of changeling chemicals. - M.mind.changeling.chem_charges += metabolization_rate - M.mind.changeling.chem_charges = Clamp(M.mind.changeling.chem_charges, 0, M.mind.changeling.chem_storage) + if(M.mind) //Changeling Sting assists in the recharging of changeling chemicals. + var/datum/antagonist/changeling/changeling = M.mind.has_antag_datum(/datum/antagonist/changeling) + if(changeling) + changeling.chem_charges += metabolization_rate + changeling.chem_charges = Clamp(changeling.chem_charges, 0, changeling.chem_storage) return ..() /datum/reagent/consumable/ethanol/irishcarbomb diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index d25df998e3..08db315b7d 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -83,6 +83,50 @@ M.satiety += 30 . = ..() +/datum/reagent/consumable/cooking_oil + name = "Cooking Oil" + id = "cooking_oil" + description = "A variety of cooking oil derived from fat or plants. Used in food preparation and frying." + color = "#EADD6B" //RGB: 234, 221, 107 (based off of canola oil) + taste_mult = 0.8 + taste_description = "oil" + nutriment_factor = 7 * REAGENTS_METABOLISM //Not very healthy on its own + metabolization_rate = 10 * REAGENTS_METABOLISM + var/fry_temperature = 450 //Around ~350 F (117 C) which deep fryers operate around in the real world + var/boiling //Used in mob life to determine if the oil kills, and only on touch application + +/datum/reagent/consumable/cooking_oil/reaction_obj(obj/O, reac_volume) + if(holder && holder.chem_temp >= fry_temperature) + if(isitem(O)) + O.loc.visible_message("[O] rapidly fries as it's splashed with hot oil! Somehow.") + var/obj/item/reagent_containers/food/snacks/deepfryholder/F = new(O.drop_location()) + F.fry(O, volume) + +/datum/reagent/consumable/cooking_oil/reaction_mob(mob/living/M, method = TOUCH, reac_volume, show_message = 1, touch_protection = 0) + if(!istype(M)) + return + if(holder && holder.chem_temp >= fry_temperature) + boiling = TRUE + if(method == VAPOR || method == TOUCH) //Directly coats the mob, and doesn't go into their bloodstream + if(boiling) + M.visible_message("The boiling oil sizzles as it covers [M]!", \ + "You're covered in boiling oil!") + M.emote("scream") + playsound(M, 'sound/machines/fryer/deep_fryer_emerge.ogg', 25, TRUE) + var/oil_damage = (holder.chem_temp / fry_temperature) * 0.33 //Damage taken per unit + M.adjustFireLoss(min(35, oil_damage * reac_volume)) //Damage caps at 35 + else + ..() + return TRUE + +/datum/reagent/consumable/cooking_oil/reaction_turf(turf/open/T, reac_volume) + if(!istype(T)) + return + if(reac_volume >= 5) + T.MakeSlippery(min_wet_time = 10, wet_time_to_add = reac_volume * 1.5) + T.name = "deep-fried [initial(T.name)]" + T.add_atom_colour(color, TEMPORARY_COLOUR_PRIORITY) + /datum/reagent/consumable/sugar name = "Sugar" id = "sugar" diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 095db17c7f..7547a0834c 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -164,19 +164,11 @@ metabolization_rate = 1.5 * REAGENTS_METABOLISM /datum/reagent/medicine/clonexadone/on_mob_life(mob/living/M) - switch(M.bodytemperature) // Low temperatures are required to take effect. - if(0 to 100) // At extreme temperatures (upgraded cryo) the effect is greatly increased. - M.status_flags &= ~DISFIGURED - M.adjustCloneLoss(-7, 0) - . = 1 - if(100 to 225) // At lower temperatures (cryo) the full effect is boosted - M.status_flags &= ~DISFIGURED - M.adjustCloneLoss(-3, 0) - . = 1 - if(225 to T0C) - M.status_flags &= ~DISFIGURED - M.adjustCloneLoss(-2, 0) - . = 1 + if(M.bodytemperature < T0C) + M.adjustCloneLoss(0.00006 * (M.bodytemperature ** 2) - 6, 0) + M.status_flags &= ~DISFIGURED + . = 1 + metabolization_rate = REAGENTS_METABOLISM * (0.000015 * (M.bodytemperature ** 2) + 0.75) ..() /datum/reagent/medicine/rezadone diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index c93ca30841..aab8491249 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1174,18 +1174,21 @@ M.AdjustKnockdown(-20, 0) M.AdjustUnconscious(-20, 0) M.adjustStaminaLoss(-0.5*REM, 0) + ..() + . = TRUE //Update status effects. -/datum/reagent/browngas - name = "Brown gas" - id = "brown_gas" - description = "A strange brown gas that makes you feel faster" +/datum/reagent/nitryl + name = "Nitryl" + id = "no2" + description = "A highly reactive gas that makes you feel faster" reagent_state = GAS metabolization_rate = REAGENTS_METABOLISM color = "90560B" taste_description = "burning" -/datum/reagent/browngas/on_mob_life(mob/living/M) //Has just a speedup +/datum/reagent/nitryl/on_mob_life(mob/living/M) //Has just a speedup M.status_flags |= GOTTAGOFAST + ..() /////////////////////////Coloured Crayon Powder//////////////////////////// //For colouring in /proc/mix_color_from_reagents diff --git a/code/modules/reagents/chemistry/recipes.dm b/code/modules/reagents/chemistry/recipes.dm index 428c10e24a..aaa070703f 100644 --- a/code/modules/reagents/chemistry/recipes.dm +++ b/code/modules/reagents/chemistry/recipes.dm @@ -37,7 +37,7 @@ var/turf/T = get_turf(A) var/area/my_area = get_area(T) var/message = "A [reaction_name] reaction has occurred in [my_area.name] [ADMIN_COORDJMP(T)]" - message += " (VV)" + message += " (VV)" var/mob/M = get(A, /mob) if(M) diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index 3a5f1c3f96..28a07d5862 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -199,7 +199,6 @@ Borg Shaker to_chat(usr, "It is currently empty! Please allow some time for the synthesizer to produce more.") /obj/item/reagent_containers/borghypo/borgshaker/hacked - ..() name = "cyborg shaker" desc = "Will mix drinks that knock them dead." icon = 'icons/obj/drinks.dmi' diff --git a/code/modules/reagents/reagent_containers/bottle.dm b/code/modules/reagents/reagent_containers/bottle.dm index c0cd009104..d6fad81f64 100644 --- a/code/modules/reagents/reagent_containers/bottle.dm +++ b/code/modules/reagents/reagent_containers/bottle.dm @@ -73,8 +73,8 @@ list_reagents = list("chloralhydrate" = 15) /obj/item/reagent_containers/glass/bottle/charcoal - name = "antitoxin bottle" - desc = "A small bottle of charcoal." + name = "charcoal bottle" + desc = "A small bottle of charcoal, which removes toxins and other chemicals from the bloodstream." list_reagents = list("charcoal" = 30) /obj/item/reagent_containers/glass/bottle/mutagen diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 4b7ba22574..80efa8e293 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -217,7 +217,7 @@ list_reagents = list("silver_sulfadiazine" = 50) /obj/item/reagent_containers/glass/beaker/large/charcoal - name = "antitoxin reserve tank" + name = "charcoal reserve tank" list_reagents = list("charcoal" = 50) /obj/item/reagent_containers/glass/beaker/large/epinephrine diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index b6c4180d76..1bd1eba3c4 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -1,6 +1,3 @@ -#define SYRINGE_DRAW 0 -#define SYRINGE_INJECT 1 - /obj/item/reagent_containers/syringe name = "syringe" desc = "A syringe that can hold up to 15 units." diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index 1f4dd47734..ea80f4c508 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -181,4 +181,12 @@ icon_state = "virus_food" anchored = TRUE density = FALSE - reagent_id = "virusfood" \ No newline at end of file + reagent_id = "virusfood" + + +/obj/structure/reagent_dispensers/cooking_oil + name = "vat of cooking oil" + desc = "A huge metal vat with a tap on the front. Filled with cooking oil for use in frying food." + icon_state = "vat" + anchored = TRUE + reagent_id = "cooking_oil" diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index 1ab1a46723..6d541dad1a 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -17,7 +17,7 @@ var/list/affecting // the list of all items that will be moved this ptick var/id = "" // the control ID - must match controller ID var/verted = 1 // set to -1 to have the conveyour belt be inverted, so you can use the other corner icons - speed_process = 1 + speed_process = TRUE /obj/machinery/conveyor/centcom_auto id = "round_end_belt" @@ -208,7 +208,7 @@ var/list/conveyors // the list of converyors that are controlled by this switch anchored = TRUE - speed_process = 1 + speed_process = TRUE diff --git a/code/modules/recycling/disposal-construction.dm b/code/modules/recycling/disposal-construction.dm deleted file mode 100644 index f6fc0bc582..0000000000 --- a/code/modules/recycling/disposal-construction.dm +++ /dev/null @@ -1,284 +0,0 @@ -// Disposal pipe construction -// This is the pipe that you drag around, not the attached ones. - -/obj/structure/disposalconstruct - - name = "disposal pipe segment" - desc = "A huge pipe segment used for constructing disposal systems." - icon = 'icons/obj/atmospherics/pipes/disposal.dmi' - icon_state = "conpipe-s" - anchored = FALSE - density = FALSE - pressure_resistance = 5*ONE_ATMOSPHERE - level = 2 - max_integrity = 200 - var/ptype = 0 - - var/dpdir = 0 // directions as disposalpipe - var/base_state = "pipe-s" - -/obj/structure/disposalconstruct/examine(mob/user) - ..() - to_chat(user, "Alt-click to rotate it clockwise.") - -/obj/structure/disposalconstruct/New(var/loc, var/pipe_type, var/direction = 1) - ..(loc) - if(pipe_type) - ptype = pipe_type - setDir(direction) - -// update iconstate and dpdir due to dir and type -/obj/structure/disposalconstruct/update_icon() - var/flip = turn(dir, 180) - var/left = turn(dir, 90) - var/right = turn(dir, -90) - - switch(ptype) - if(DISP_PIPE_STRAIGHT) - base_state = "pipe-s" - dpdir = dir | flip - if(DISP_PIPE_BENT) - base_state = "pipe-c" - dpdir = dir | right - if(DISP_JUNCTION) - base_state = "pipe-j1" - dpdir = dir | right | flip - if(DISP_JUNCTION_FLIP) - base_state = "pipe-j2" - dpdir = dir | left | flip - if(DISP_YJUNCTION) - base_state = "pipe-y" - dpdir = dir | left | right - if(DISP_END_TRUNK) - base_state = "pipe-t" - dpdir = dir - // disposal bin has only one dir, thus we don't need to care about setting it - if(DISP_END_BIN) - if(anchored) - base_state = "disposal" - else - base_state = "condisposal" - - if(DISP_END_OUTLET) - base_state = "outlet" - dpdir = dir - - if(DISP_END_CHUTE) - base_state = "intake" - dpdir = dir - - if(DISP_SORTJUNCTION) - base_state = "pipe-j1s" - dpdir = dir | right | flip - - if(DISP_SORTJUNCTION_FLIP) - base_state = "pipe-j2s" - dpdir = dir | left | flip - - - if(is_pipe()) - icon_state = "con[base_state]" - else - icon_state = base_state - - // if invisible, fade icon - alpha = (invisibility ? 0 : 255) - -// hide called by levelupdate if turf intact status changes -// change visibility status and force update of icon -/obj/structure/disposalconstruct/hide(var/intact) - invisibility = (intact && level==1) ? INVISIBILITY_MAXIMUM: 0 // hide if floor is intact - update_icon() - - -// flip and rotate verbs -/obj/structure/disposalconstruct/verb/rotate() - set name = "Rotate Pipe" - set category = "Object" - set src in view(1) - - if(usr.stat || !usr.canmove || usr.restrained()) - return - - if(anchored) - to_chat(usr, "You must unfasten the pipe before rotating it!") - return - - setDir(turn(dir, -90)) - update_icon() - -/obj/structure/disposalconstruct/AltClick(mob/user) - ..() - if(user.incapacitated()) - to_chat(user, "You can't do that right now!") - return - if(!in_range(src, user)) - return - else - rotate() - -/obj/structure/disposalconstruct/verb/flip() - set name = "Flip Pipe" - set category = "Object" - set src in view(1) - if(usr.stat || !usr.canmove || usr.restrained()) - return - - if(anchored) - to_chat(usr, "You must unfasten the pipe before flipping it!") - return - - setDir(turn(dir, 180)) - switch(ptype) - if(DISP_JUNCTION) - ptype = DISP_JUNCTION_FLIP - if(DISP_JUNCTION_FLIP) - ptype = DISP_JUNCTION - if(DISP_SORTJUNCTION) - ptype = DISP_SORTJUNCTION_FLIP - if(DISP_SORTJUNCTION_FLIP) - ptype = DISP_SORTJUNCTION - - update_icon() - -// returns the type path of disposalpipe corresponding to this item dtype -/obj/structure/disposalconstruct/proc/dpipetype() - switch(ptype) - if(DISP_PIPE_STRAIGHT,DISP_PIPE_BENT) - return /obj/structure/disposalpipe/segment - if(DISP_JUNCTION, DISP_JUNCTION_FLIP, DISP_YJUNCTION) - return /obj/structure/disposalpipe/junction - if(DISP_END_TRUNK) - return /obj/structure/disposalpipe/trunk - if(DISP_END_BIN) - return /obj/machinery/disposal/bin - if(DISP_END_OUTLET) - return /obj/structure/disposaloutlet - if(DISP_END_CHUTE) - return /obj/machinery/disposal/deliveryChute - if(DISP_SORTJUNCTION, DISP_SORTJUNCTION_FLIP) - return /obj/structure/disposalpipe/sortjunction - return - - - -// attackby item -// wrench: (un)anchor -// weldingtool: convert to real pipe - -/obj/structure/disposalconstruct/attackby(obj/item/I, mob/user, params) - var/nicetype = "pipe" - var/ispipe = is_pipe() // Indicates if we should change the level of this pipe - add_fingerprint(user) - switch(ptype) - if(DISP_END_BIN) - nicetype = "disposal bin" - if(DISP_END_OUTLET) - nicetype = "disposal outlet" - if(DISP_END_CHUTE) - nicetype = "delivery chute" - if(DISP_SORTJUNCTION, DISP_SORTJUNCTION_FLIP) - nicetype = "sorting pipe" - else - nicetype = "pipe" - - var/turf/T = loc - if(T.intact && isfloorturf(T)) - to_chat(user, "You can only attach the [nicetype] if the floor plating is removed!") - return - - if(!ispipe && iswallturf(T)) - to_chat(user, "You can't build [nicetype]s on walls, only disposal pipes!") - return - - var/obj/structure/disposalpipe/CP = locate() in T - - if(istype(I, /obj/item/wrench)) - if(anchored) - anchored = FALSE - if(ispipe) - level = 2 - density = FALSE - to_chat(user, "You detach the [nicetype] from the underfloor.") - else - if(!is_pipe()) // Disposal or outlet - if(CP) // There's something there - if(!istype(CP, /obj/structure/disposalpipe/trunk)) - to_chat(user, "The [nicetype] requires a trunk underneath it in order to work!") - return - else // Nothing under, fuck. - to_chat(user, "The [nicetype] requires a trunk underneath it in order to work!") - return - else - if(CP) - update_icon() - var/pdir = CP.dpdir - if(istype(CP, /obj/structure/disposalpipe/broken)) - pdir = CP.dir - if(pdir & dpdir) - to_chat(user, "There is already a [nicetype] at that location!") - return - anchored = TRUE - if(ispipe) - level = 1 // We don't want disposal bins to disappear under the floors - density = FALSE - to_chat(user, "You attach the [nicetype] to the underfloor.") - playsound(loc, I.usesound, 100, 1) - update_icon() - - else if(istype(I, /obj/item/weldingtool)) - if(anchored) - var/obj/item/weldingtool/W = I - if(W.remove_fuel(0,user)) - playsound(loc, 'sound/items/welder2.ogg', 100, 1) - to_chat(user, "You start welding the [nicetype] in place...") - if(do_after(user, 8*I.toolspeed, target = src)) - if(!loc || !W.isOn()) - return - to_chat(user, "The [nicetype] has been welded in place.") - update_icon() // TODO: Make this neat - - if(ispipe) - var/pipetype = dpipetype() - var/obj/structure/disposalpipe/P = new pipetype(loc, src) - P.updateicon() - transfer_fingerprints_to(P) - - if(ptype == DISP_SORTJUNCTION || ptype == DISP_SORTJUNCTION_FLIP) - var/obj/structure/disposalpipe/sortjunction/SortP = P - SortP.updatedir() - - else if(ptype == DISP_END_BIN) - var/obj/machinery/disposal/bin/B = new /obj/machinery/disposal/bin(loc,src) - B.pressure_charging = FALSE // start with pump off - transfer_fingerprints_to(B) - - else if(ptype == DISP_END_OUTLET) - var/obj/structure/disposaloutlet/P = new /obj/structure/disposaloutlet(loc,src) - transfer_fingerprints_to(P) - - else if(ptype == DISP_END_CHUTE) - var/obj/machinery/disposal/deliveryChute/P = new /obj/machinery/disposal/deliveryChute(loc,src) - transfer_fingerprints_to(P) - - return - else - to_chat(user, "You need to attach it to the plating first!") - return - -/obj/structure/disposalconstruct/proc/is_pipe() - return !(ptype >=DISP_END_BIN && ptype <= DISP_END_CHUTE) - -//helper proc that makes sure you can place the construct (i.e no dense objects stacking) -/obj/structure/disposalconstruct/proc/can_place() - if(is_pipe()) - return 1 - - for(var/obj/structure/disposalconstruct/DC in get_turf(src)) - if(DC == src) - continue - - if(!DC.is_pipe()) //there's already a chute/outlet/bin there - return 0 - - return 1 diff --git a/code/modules/recycling/disposal-structures.dm b/code/modules/recycling/disposal-structures.dm deleted file mode 100644 index 5a7428d1d1..0000000000 --- a/code/modules/recycling/disposal-structures.dm +++ /dev/null @@ -1,749 +0,0 @@ - -// virtual disposal object -// travels through pipes in lieu of actual items -// contents will be items flushed by the disposal -// this allows the gas flushed to be tracked - -/obj/structure/disposalholder - invisibility = INVISIBILITY_MAXIMUM - resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF - var/datum/gas_mixture/gas = null // gas used to flush, will appear at exit point - var/active = 0 // true if the holder is moving, otherwise inactive - dir = 0 - var/count = 1000 //*** can travel 1000 steps before going inactive (in case of loops) - var/destinationTag = 0 // changes if contains a delivery container - var/tomail = 0 //changes if contains wrapped package - var/hasmob = 0 //If it contains a mob - -/obj/structure/disposalholder/ComponentInitialize() - . = ..() - AddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION) - -/obj/structure/disposalholder/Destroy() - qdel(gas) - active = 0 - return ..() - - // initialize a holder from the contents of a disposal unit -/obj/structure/disposalholder/proc/init(obj/machinery/disposal/D) - gas = D.air_contents// transfer gas resv. into holder object - - //Check for any living mobs trigger hasmob. - //hasmob effects whether the package goes to cargo or its tagged destination. - for(var/mob/living/M in D) - if(M.client) - M.reset_perspective(src) - hasmob = 1 - - //Checks 1 contents level deep. This means that players can be sent through disposals... - //...but it should require a second person to open the package. (i.e. person inside a wrapped locker) - for(var/obj/O in D) - if(O.contents) - for(var/mob/living/M in O.contents) - hasmob = 1 - - // now everything inside the disposal gets put into the holder - // note AM since can contain mobs or objs - for(var/atom/movable/AM in D) - AM.loc = src - if(istype(AM, /obj/structure/bigDelivery) && !hasmob) - var/obj/structure/bigDelivery/T = AM - src.destinationTag = T.sortTag - if(istype(AM, /obj/item/smallDelivery) && !hasmob) - var/obj/item/smallDelivery/T = AM - src.destinationTag = T.sortTag - - -// start the movement process -// argument is the disposal unit the holder started in -/obj/structure/disposalholder/proc/start(obj/machinery/disposal/D) - if(!D.trunk) - D.expel(src) // no trunk connected, so expel immediately - return - loc = D.trunk - active = 1 - setDir(DOWN) - move() - - return - -// movement process, persists while holder is moving through pipes -/obj/structure/disposalholder/proc/move() - set waitfor = 0 - var/obj/structure/disposalpipe/last - while(active) - var/obj/structure/disposalpipe/curr = loc - last = curr - curr = curr.transfer(src) - if(!curr && active) - last.expel(src, loc, dir) - - stoplag() - if(!(count--)) - active = 0 - return - -// find the turf which should contain the next pipe -/obj/structure/disposalholder/proc/nextloc() - return get_step(loc,dir) - -// find a matching pipe on a turf -/obj/structure/disposalholder/proc/findpipe(turf/T) - - if(!T) - return null - - var/fdir = turn(dir, 180) // flip the movement direction - for(var/obj/structure/disposalpipe/P in T) - if(fdir & P.dpdir) // find pipe direction mask that matches flipped dir - return P - // if no matching pipe, return null - return null - -// merge two holder objects -// used when a holder meets a stuck holder -/obj/structure/disposalholder/proc/merge(obj/structure/disposalholder/other) - for(var/atom/movable/AM in other) - AM.loc = src // move everything in other holder to this one - if(ismob(AM)) - var/mob/M = AM - M.reset_perspective(src) // if a client mob, update eye to follow this holder - qdel(other) - - -// called when player tries to move while in a pipe -/obj/structure/disposalholder/relaymove(mob/user) - if (user.stat) - return - if (src.loc) - for (var/mob/M in get_hearers_in_view(src.loc.loc)) - M.show_message("CLONG, clong!", 2) - playsound(src.loc, 'sound/effects/clang.ogg', 50, 0, 0) - -// called to vent all gas in holder to a location -/obj/structure/disposalholder/proc/vent_gas(turf/T) - T.assume_air(gas) - T.air_update_turf() - -/obj/structure/disposalholder/AllowDrop() - return TRUE - -/obj/structure/disposalholder/ex_act(severity, target) - return - -// Disposal pipes - -/obj/structure/disposalpipe - icon = 'icons/obj/atmospherics/pipes/disposal.dmi' - name = "disposal pipe" - desc = "An underfloor disposal pipe." - anchored = TRUE - density = FALSE - on_blueprints = TRUE - level = 1 // underfloor only - var/dpdir = 0 // bitmask of pipe directions - dir = 0// dir will contain dominant direction for junction pipes - max_integrity = 200 - armor = list(melee = 25, bullet = 10, laser = 10, energy = 100, bomb = 0, bio = 100, rad = 100, fire = 90, acid = 30) - layer = DISPOSAL_PIPE_LAYER // slightly lower than wires and other pipes - var/base_icon_state // initial icon state on map - var/obj/structure/disposalconstruct/stored - - // new pipe, set the icon_state as on map -/obj/structure/disposalpipe/Initialize(mapload, obj/structure/disposalconstruct/make_from) - . = ..() - - if(make_from && !QDELETED(make_from)) - base_icon_state = make_from.base_state - setDir(make_from.dir) - dpdir = make_from.dpdir - make_from.loc = src - stored = make_from - else - base_icon_state = icon_state - stored = new /obj/structure/disposalconstruct(src,direction=dir) - switch(base_icon_state) - if("pipe-s") - stored.ptype = DISP_PIPE_STRAIGHT - if("pipe-c") - stored.ptype = DISP_PIPE_BENT - if("pipe-j1") - stored.ptype = DISP_JUNCTION - if("pipe-j2") - stored.ptype = DISP_JUNCTION_FLIP - if("pipe-y") - stored.ptype = DISP_YJUNCTION - if("pipe-t") - stored.ptype = DISP_END_TRUNK - if("pipe-j1s") - stored.ptype = DISP_SORTJUNCTION - if("pipe-j2s") - stored.ptype = DISP_SORTJUNCTION_FLIP - -/obj/structure/disposalpipe/ComponentInitialize() - . = ..() - AddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION) - - // pipe is deleted - // ensure if holder is present, it is expelled -/obj/structure/disposalpipe/Destroy() - var/obj/structure/disposalholder/H = locate() in src - if(H) - H.active = 0 - var/turf/T = src.loc - expel(H, T, 0) - return ..() - -// returns the direction of the next pipe object, given the entrance dir -// by default, returns the bitmask of remaining directions -/obj/structure/disposalpipe/proc/nextdir(fromdir) - return dpdir & (~turn(fromdir, 180)) - -// transfer the holder through this pipe segment -// overriden for special behaviour -// -/obj/structure/disposalpipe/proc/transfer(obj/structure/disposalholder/H) - var/nextdir = nextdir(H.dir) - return transfer_to_dir(H, nextdir) - -/obj/structure/disposalpipe/proc/transfer_to_dir(obj/structure/disposalholder/H, nextdir) - H.setDir(nextdir) - var/turf/T = H.nextloc() - var/obj/structure/disposalpipe/P = H.findpipe(T) - - if(P) - // find other holder in next loc, if inactive merge it with current - var/obj/structure/disposalholder/H2 = locate() in P - if(H2 && !H2.active) - H.merge(H2) - - H.loc = P - return P - else // if wasn't a pipe, then they're now in our turf - H.loc = get_turf(src) - return null - -// update the icon_state to reflect hidden status -/obj/structure/disposalpipe/proc/update() - var/turf/T = src.loc - hide(T.intact && !isspaceturf(T)) // space never hides pipes - -// hide called by levelupdate if turf intact status changes -// change visibility status and force update of icon -/obj/structure/disposalpipe/hide(var/intact) - invisibility = intact ? INVISIBILITY_MAXIMUM: 0 // hide if floor is intact - updateicon() - -// update actual icon_state depending on visibility -// if invisible, append "f" to icon_state to show faded version -// this will be revealed if a T-scanner is used -// if visible, use regular icon_state -/obj/structure/disposalpipe/proc/updateicon() - if(invisibility) - icon_state = "[base_icon_state]f" - else - icon_state = base_icon_state - return - - -// expel the held objects into a turf -// called when there is a break in the pipe -// - -/obj/structure/disposalpipe/proc/expel(obj/structure/disposalholder/H, turf/T, direction) - - var/turf/target - var/eject_range = 5 - var/turf/open/floor/floorturf - - if(isfloorturf(T)) //intact floor, pop the tile - floorturf = T - if(floorturf.floor_tile) - new floorturf.floor_tile(T) - floorturf.make_plating() - - if(direction) // direction is specified - if(isspaceturf(T)) // if ended in space, then range is unlimited - target = get_edge_target_turf(T, direction) - else // otherwise limit to 10 tiles - target = get_ranged_target_turf(T, direction, 10) - - eject_range = 10 - - else if(floorturf) - target = get_offset_target_turf(T, rand(5)-rand(5), rand(5)-rand(5)) - - playsound(src, 'sound/machines/hiss.ogg', 50, 0, 0) - for(var/atom/movable/AM in H) - AM.forceMove(src.loc) - AM.pipe_eject(direction) - if(target) - AM.throw_at(target, eject_range, 1) - H.vent_gas(T) - qdel(H) - - -// pipe affected by explosion -/obj/structure/disposalpipe/contents_explosion(severity, target) - var/obj/structure/disposalholder/H = locate() in src - if(H) - H.contents_explosion(severity, target) - - -/obj/structure/disposalpipe/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) - if(damage_flag == "melee" && damage_amount < 10) - return 0 - . = ..() - -//attack by item -//weldingtool: unfasten and convert to obj/disposalconstruct - -/obj/structure/disposalpipe/attackby(obj/item/I, mob/user, params) - var/turf/T = src.loc - if(T.intact) - return // prevent interaction with T-scanner revealed pipes - add_fingerprint(user) - if(istype(I, /obj/item/weldingtool)) - var/obj/item/weldingtool/W = I - if(can_be_deconstructed(user)) - if(W.remove_fuel(0,user)) - playsound(src.loc, 'sound/items/welder2.ogg', 100, 1) - to_chat(user, "You start slicing the disposal pipe...") - // check if anything changed over 2 seconds - if(do_after(user,30, target = src)) - if(!src || !W.isOn()) - return - deconstruct() - to_chat(user, "You slice the disposal pipe.") - else - return ..() - -//checks if something is blocking the deconstruction (e.g. trunk with a bin still linked to it) -/obj/structure/disposalpipe/proc/can_be_deconstructed() - . = 1 - -// called when pipe is cut with welder -/obj/structure/disposalpipe/deconstruct(disassembled = TRUE) - if(!(flags_1 & NODECONSTRUCT_1)) - if(disassembled) - if(stored) - var/turf/T = loc - stored.loc = T - transfer_fingerprints_to(stored) - stored.setDir(dir) - stored.density = FALSE - stored.anchored = TRUE - stored.update_icon() - else - for(var/D in GLOB.cardinals) - if(D & dpdir) - var/obj/structure/disposalpipe/broken/P = new(src.loc) - P.setDir(D) - qdel(src) - - -/obj/structure/disposalpipe/singularity_pull(S, current_size) - ..() - if(current_size >= STAGE_FIVE) - deconstruct() - -// *** TEST verb -//client/verb/dispstop() -// for(var/obj/structure/disposalholder/H in world) -// H.active = 0 - -// a straight or bent segment -/obj/structure/disposalpipe/segment - icon_state = "pipe-s" - -/obj/structure/disposalpipe/segment/Initialize() - . = ..() - if(stored.ptype == DISP_PIPE_STRAIGHT) - dpdir = dir | turn(dir, 180) - else - dpdir = dir | turn(dir, -90) - - update() - - - - -//a three-way junction with dir being the dominant direction -/obj/structure/disposalpipe/junction - icon_state = "pipe-j1" - -/obj/structure/disposalpipe/junction/Initialize() - . = ..() - switch(stored.ptype) - if(DISP_JUNCTION) - dpdir = dir | turn(dir, -90) | turn(dir,180) - if(DISP_JUNCTION_FLIP) - dpdir = dir | turn(dir, 90) | turn(dir,180) - if(DISP_YJUNCTION) - dpdir = dir | turn(dir,90) | turn(dir, -90) - update() - - -// next direction to move -// if coming in from secondary dirs, then next is primary dir -// if coming in from primary dir, then next is equal chance of other dirs - -/obj/structure/disposalpipe/junction/nextdir(fromdir) - var/flipdir = turn(fromdir, 180) - if(flipdir != dir) // came from secondary dir - return dir // so exit through primary - else // came from primary - // so need to choose either secondary exit - var/mask = ..(fromdir) - - // find a bit which is set - var/setbit = 0 - if(mask & NORTH) - setbit = NORTH - else if(mask & SOUTH) - setbit = SOUTH - else if(mask & EAST) - setbit = EAST - else - setbit = WEST - - if(prob(50)) // 50% chance to choose the found bit or the other one - return setbit - else - return mask & (~setbit) - -//a three-way junction that sorts objects -/obj/structure/disposalpipe/sortjunction - desc = "An underfloor disposal pipe with a package sorting mechanism." - icon_state = "pipe-j1s" - var/sortType = 0 - // To be set in map editor. - // Supports both singular numbers and strings of numbers similar to access level strings. - // Look at the list called TAGGERLOCATIONS in /_globalvars/lists/flavor_misc.dm - var/list/sortTypes = list() - var/posdir = 0 - var/negdir = 0 - var/sortdir = 0 - -/obj/structure/disposalpipe/sortjunction/examine(mob/user) - ..() - if(sortTypes.len>0) - to_chat(user, "It is tagged with the following tags:") - for(var/t in sortTypes) - to_chat(user, "\t[GLOB.TAGGERLOCATIONS[t]].") - else - to_chat(user, "It has no sorting tags set.") - - -/obj/structure/disposalpipe/sortjunction/proc/updatedir() - posdir = dir - negdir = turn(posdir, 180) - - if(stored.ptype == DISP_SORTJUNCTION) - sortdir = turn(posdir, -90) - else - icon_state = "pipe-j2s" - sortdir = turn(posdir, 90) - - dpdir = sortdir | posdir | negdir - -/obj/structure/disposalpipe/sortjunction/Initialize() - . = ..() - - // Generate a list of soring tags. - if(sortType) - if(isnum(sortType)) - sortTypes |= sortType - else if(istext(sortType)) - var/list/sorts = splittext(sortType,";") - for(var/x in sorts) - var/n = text2num(x) - if(n) - sortTypes |= n - - updatedir() - update() - -/obj/structure/disposalpipe/sortjunction/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/device/destTagger)) - var/obj/item/device/destTagger/O = I - - if(O.currTag > 0)// Tag set - if(O.currTag in sortTypes) - sortTypes -= O.currTag - to_chat(user, "Removed \"[GLOB.TAGGERLOCATIONS[O.currTag]]\" filter.") - else - sortTypes |= O.currTag - to_chat(user, "Added \"[GLOB.TAGGERLOCATIONS[O.currTag]]\" filter.") - playsound(src.loc, 'sound/machines/twobeep.ogg', 100, 1) - else - return ..() - - -// next direction to move -// if coming in from negdir, then next is primary dir or sortdir -// if coming in from posdir, then flip around and go back to posdir -// if coming in from sortdir, go to posdir - -/obj/structure/disposalpipe/sortjunction/nextdir(fromdir, sortTag) - //var/flipdir = turn(fromdir, 180) - if(fromdir != sortdir) // probably came from the negdir - - if(sortTag in sortTypes) //if destination matches filtered type... - return sortdir // exit through sortdirection - else - return posdir - else // came from sortdir - // so go with the flow to positive direction - return posdir - -/obj/structure/disposalpipe/sortjunction/transfer(obj/structure/disposalholder/H) - var/nextdir = nextdir(H.dir, H.destinationTag) - return transfer_to_dir(H, nextdir) - -//a three-way junction that sorts objects destined for the mail office mail table (tomail = 1) -/obj/structure/disposalpipe/wrapsortjunction - - desc = "An underfloor disposal pipe which sorts wrapped and unwrapped objects." - icon_state = "pipe-j1s" - var/posdir = 0 - var/negdir = 0 - var/sortdir = 0 - -/obj/structure/disposalpipe/wrapsortjunction/Initialize() - . = ..() - posdir = dir - if(stored.ptype == DISP_SORTJUNCTION) - sortdir = turn(posdir, -90) - negdir = turn(posdir, 180) - else - icon_state = "pipe-j2s" - sortdir = turn(posdir, 90) - negdir = turn(posdir, 180) - dpdir = sortdir | posdir | negdir - - update() - -// next direction to move -// if coming in from negdir, then next is primary dir or sortdir -// if coming in from posdir, then flip around and go back to posdir -// if coming in from sortdir, go to posdir - -/obj/structure/disposalpipe/wrapsortjunction/nextdir(fromdir, istomail) - //var/flipdir = turn(fromdir, 180) - if(fromdir != sortdir) // probably came from the negdir - - if(istomail) //if destination matches filtered type... - return sortdir // exit through sortdirection - else - return posdir - else // came from sortdir - // so go with the flow to positive direction - return posdir - -/obj/structure/disposalpipe/wrapsortjunction/transfer(obj/structure/disposalholder/H) - var/nextdir = nextdir(H.dir, H.tomail) - return transfer_to_dir(H, nextdir) - -//a trunk joining to a disposal bin or outlet on the same turf -/obj/structure/disposalpipe/trunk - icon_state = "pipe-t" - var/obj/linked // the linked obj/machinery/disposal or obj/disposaloutlet - -/obj/structure/disposalpipe/trunk/Initialize() - . = ..() - dpdir = dir - getlinked() - update() - -/obj/structure/disposalpipe/trunk/Destroy() - if(linked) - if(istype(linked, /obj/structure/disposaloutlet)) - var/obj/structure/disposaloutlet/D = linked - D.trunk = null - else if(istype(linked, /obj/machinery/disposal)) - var/obj/machinery/disposal/D = linked - D.trunk = null - return ..() - -/obj/structure/disposalpipe/trunk/proc/getlinked() - linked = null - var/obj/machinery/disposal/D = locate() in src.loc - if(D) - linked = D - if (!D.trunk) - D.trunk = src - - var/obj/structure/disposaloutlet/O = locate() in src.loc - if(O) - linked = O - - update() - return - -/obj/structure/disposalpipe/trunk/can_be_deconstructed(mob/user) - if(linked) - to_chat(user, "You need to deconstruct disposal machinery above this pipe!") - else - . = 1 - - // would transfer to next pipe segment, but we are in a trunk - // if not entering from disposal bin, - // transfer to linked object (outlet or bin) - -/obj/structure/disposalpipe/trunk/transfer(obj/structure/disposalholder/H) - if(H.dir == DOWN) // we just entered from a disposer - return ..() // so do base transfer proc - // otherwise, go to the linked object - if(linked) - var/obj/structure/disposaloutlet/O = linked - if(istype(O) && (H)) - O.expel(H) // expel at outlet - else - var/obj/machinery/disposal/D = linked - if(H) - D.expel(H) // expel at disposal - else - if(H) - src.expel(H, get_turf(src), 0) // expel at turf - return null - -/obj/structure/disposalpipe/trunk/nextdir(fromdir) - if(fromdir == DOWN) - return dir - else - return 0 - -// a broken pipe -/obj/structure/disposalpipe/broken - icon_state = "pipe-b" - dpdir = 0 // broken pipes have dpdir=0 so they're not found as 'real' pipes - // i.e. will be treated as an empty turf - desc = "A broken piece of disposal pipe." - -/obj/structure/disposalpipe/broken/Initialize() - . = ..() - update() - -// the disposal outlet machine - -/obj/structure/disposalpipe/broken/deconstruct() - qdel(src) - -/obj/structure/disposaloutlet - name = "disposal outlet" - desc = "An outlet for the pneumatic disposal system." - icon = 'icons/obj/atmospherics/pipes/disposal.dmi' - icon_state = "outlet" - density = TRUE - anchored = TRUE - var/active = 0 - var/turf/target // this will be where the output objects are 'thrown' to. - var/obj/structure/disposalpipe/trunk/trunk = null // the attached pipe trunk - var/obj/structure/disposalconstruct/stored - var/mode = 0 - var/start_eject = 0 - var/eject_range = 2 - -/obj/structure/disposaloutlet/Initialize(mapload, obj/structure/disposalconstruct/make_from) - . = ..() - - if(make_from) - setDir(make_from.dir) - make_from.loc = src - stored = make_from - else - stored = new (src, DISP_END_OUTLET,dir) - - target = get_ranged_target_turf(src, dir, 10) - - trunk = locate() in loc - if(trunk) - trunk.linked = src // link the pipe trunk to self - -/obj/structure/disposaloutlet/ComponentInitialize() - . = ..() - AddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION) - -/obj/structure/disposaloutlet/Destroy() - if(trunk) - trunk.linked = null - return ..() - -// expel the contents of the holder object, then delete it -// called when the holder exits the outlet -/obj/structure/disposaloutlet/proc/expel(obj/structure/disposalholder/H) - var/turf/T = get_turf(src) - flick("outlet-open", src) - if((start_eject + 30) < world.time) - start_eject = world.time - playsound(src, 'sound/machines/warning-buzzer.ogg', 50, 0, 0) - sleep(20) - playsound(src, 'sound/machines/hiss.ogg', 50, 0, 0) - else - sleep(20) - if(H) - for(var/atom/movable/AM in H) - AM.forceMove(T) - AM.pipe_eject(dir) - AM.throw_at(target, eject_range, 1) - - H.vent_gas(T) - qdel(H) - return - -/obj/structure/disposaloutlet/attackby(obj/item/I, mob/user, params) - add_fingerprint(user) - if(istype(I, /obj/item/screwdriver)) - if(mode==0) - mode=1 - playsound(src.loc, I.usesound, 50, 1) - to_chat(user, "You remove the screws around the power connection.") - else if(mode==1) - mode=0 - playsound(src.loc, I.usesound, 50, 1) - to_chat(user, "You attach the screws around the power connection.") - - else if(istype(I, /obj/item/weldingtool) && mode==1) - var/obj/item/weldingtool/W = I - if(W.remove_fuel(0,user)) - playsound(src.loc, 'sound/items/welder2.ogg', 100, 1) - to_chat(user, "You start slicing the floorweld off \the [src]...") - if(do_after(user,20*I.toolspeed, target = src)) - if(!src || !W.isOn()) - return - to_chat(user, "You slice the floorweld off \the [src].") - stored.loc = loc - src.transfer_fingerprints_to(stored) - stored.update_icon() - stored.anchored = FALSE - stored.density = TRUE - qdel(src) - else - return ..() - - - -// called when movable is expelled from a disposal pipe or outlet -// by default does nothing, override for special behaviour - -/atom/movable/proc/pipe_eject(direction) - return - -/obj/effect/decal/cleanable/blood/gibs/pipe_eject(direction) - var/list/dirs - if(direction) - dirs = list( direction, turn(direction, -45), turn(direction, 45)) - else - dirs = GLOB.alldirs.Copy() - - src.streak(dirs) - -/obj/effect/decal/cleanable/robot_debris/gib/pipe_eject(direction) - var/list/dirs - if(direction) - dirs = list( direction, turn(direction, -45), turn(direction, 45)) - else - dirs = GLOB.alldirs.Copy() - - src.streak(dirs) diff --git a/code/modules/recycling/disposal-unit.dm b/code/modules/recycling/disposal/bin.dm similarity index 92% rename from code/modules/recycling/disposal-unit.dm rename to code/modules/recycling/disposal/bin.dm index 926e6326ad..67aada1c2a 100644 --- a/code/modules/recycling/disposal-unit.dm +++ b/code/modules/recycling/disposal/bin.dm @@ -1,5 +1,4 @@ - -//disposal bin and Delivery chute. +// Disposal bin and Delivery chute. #define SEND_PRESSURE 0.05*ONE_ATMOSPHERE @@ -30,14 +29,15 @@ if(make_from) setDir(make_from.dir) - make_from.loc = 0 + make_from.loc = null stored = make_from + pressure_charging = FALSE // newly built disposal bins start with pump off else - stored = new /obj/structure/disposalconstruct(0,DISP_END_BIN,dir) + stored = new /obj/structure/disposalconstruct(null, make_from = src) trunk_check() - air_contents = new/datum/gas_mixture() + air_contents = new /datum/gas_mixture() //gas.volume = 1.05 * CELLSTANDARD update_icon() @@ -167,16 +167,6 @@ flush = !flush update_icon() -// ai as human but can't flush -/obj/machinery/disposal/attack_ai(mob/user) - interact(user, 1) - -// human interact with machine -/obj/machinery/disposal/attack_hand(mob/user) - if(user && user.loc == src) - to_chat(usr, "You cannot reach the controls from inside!") - return - interact(user, 0) // eject the contents of the disposal unit /obj/machinery/disposal/proc/eject() @@ -210,7 +200,7 @@ /obj/machinery/disposal/proc/newHolderDestination(obj/structure/disposalholder/H) for(var/obj/item/smallDelivery/O in src) - H.tomail = 1 + H.tomail = TRUE return /obj/machinery/disposal/proc/flushAnimation() @@ -222,21 +212,22 @@ update_icon() // update icon // called when holder is expelled from a disposal -// should usually only occur if the pipe network is modified /obj/machinery/disposal/proc/expel(obj/structure/disposalholder/H) var/turf/T = get_turf(src) var/turf/target playsound(src, 'sound/machines/hiss.ogg', 50, 0, 0) - if(H) // Somehow, someone managed to flush a window which broke mid-transit and caused the disposal to go in an infinite loop trying to expel null, hopefully this fixes it - for(var/atom/movable/AM in H) - target = get_offset_target_turf(src.loc, rand(5)-rand(5), rand(5)-rand(5)) - AM.forceMove(T) - AM.pipe_eject(0) - AM.throw_at(target, 5, 1) + for(var/A in H) + var/atom/movable/AM = A - H.vent_gas(loc) - qdel(H) + target = get_offset_target_turf(loc, rand(5)-rand(5), rand(5)-rand(5)) + + AM.forceMove(T) + AM.pipe_eject(0) + AM.throw_at(target, 5, 1) + + H.vent_gas(loc) + qdel(H) /obj/machinery/disposal/deconstruct(disassembled = TRUE) var/turf/T = loc @@ -290,12 +281,9 @@ // handle machine interaction /obj/machinery/disposal/bin/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \ - datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) + datum/tgui/master_ui = null, datum/ui_state/state = GLOB.notcontained_state) if(stat & BROKEN) return - if(user.loc == src) - to_chat(user, "You cannot reach the controls from inside!") - return ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) ui = new(user, src, ui_key, "disposal_unit", name, 300, 200, master_ui, state) @@ -315,6 +303,7 @@ /obj/machinery/disposal/bin/ui_act(action, params) if(..()) return + switch(action) if("handle-0") flush = FALSE @@ -453,7 +442,6 @@ /obj/machinery/disposal/deliveryChute/Initialize(mapload, obj/structure/disposalconstruct/make_from) . = ..() - stored.ptype = DISP_END_CHUTE trunk = locate() in loc if(trunk) trunk.linked = src // link the pipe trunk to self @@ -492,7 +480,7 @@ flush() /atom/movable/proc/CanEnterDisposals() - return 1 + return TRUE /obj/item/projectile/CanEnterDisposals() return diff --git a/code/modules/recycling/disposal/construction.dm b/code/modules/recycling/disposal/construction.dm new file mode 100644 index 0000000000..87400958fc --- /dev/null +++ b/code/modules/recycling/disposal/construction.dm @@ -0,0 +1,226 @@ +// Disposal pipe construction +// This is the pipe that you drag around, not the attached ones. + +/obj/structure/disposalconstruct + name = "disposal pipe segment" + desc = "A huge pipe segment used for constructing disposal systems." + icon = 'icons/obj/atmospherics/pipes/disposal.dmi' + icon_state = "conpipe" + anchored = FALSE + density = FALSE + pressure_resistance = 5*ONE_ATMOSPHERE + level = 2 + max_integrity = 200 + var/obj/pipe_type = /obj/structure/disposalpipe/segment + var/pipename + + +/obj/structure/disposalconstruct/examine(mob/user) + ..() + to_chat(user, "Alt-click to rotate it clockwise.") + +/obj/structure/disposalconstruct/New(loc, _pipe_type, _dir = SOUTH, flip = FALSE, obj/make_from) + ..() + if(make_from) + pipe_type = make_from.type + setDir(make_from.dir) + anchored = TRUE + + else + if(_pipe_type) + pipe_type = _pipe_type + setDir(_dir) + + pipename = initial(pipe_type.name) + + if(flip) + flip() + + update_icon() + +/obj/structure/disposalconstruct/Move() + var/old_dir = dir + ..() + setDir(old_dir) //pipes changing direction when moved is just annoying and buggy + +// update iconstate and dpdir due to dir and type +/obj/structure/disposalconstruct/update_icon() + icon_state = initial(pipe_type.icon_state) + if(is_pipe()) + icon_state = "con[icon_state]" + if(anchored) + level = initial(pipe_type.level) + layer = initial(pipe_type.layer) + else + level = initial(level) + layer = initial(layer) + + else if(ispath(pipe_type, /obj/machinery/disposal/bin)) + // Disposal bins recieve special icon treating + if(anchored) + icon_state = "disposal" + else + icon_state = "condisposal" + + +// hide called by levelupdate if turf intact status changes +// change visibility status and force update of icon +/obj/structure/disposalconstruct/hide(var/intact) + invisibility = (intact && level==1) ? INVISIBILITY_MAXIMUM: 0 // hide if floor is intact + update_icon() + +/obj/structure/disposalconstruct/proc/get_disposal_dir() + if(!is_pipe()) + return NONE + + var/obj/structure/disposalpipe/temp = pipe_type + var/initialize_dirs = initial(temp.initialize_dirs) + var/dpdir = NONE + + if(dir in GLOB.diagonals) // Bent pipes + return dir + + if(initialize_dirs != DISP_DIR_NONE) + dpdir = dir + + if(initialize_dirs & DISP_DIR_LEFT) + dpdir |= turn(dir, 90) + if(initialize_dirs & DISP_DIR_RIGHT) + dpdir |= turn(dir, -90) + if(initialize_dirs & DISP_DIR_FLIP) + dpdir |= turn(dir, 180) + return dpdir + +// flip and rotate verbs +/obj/structure/disposalconstruct/verb/rotate() + set name = "Rotate Pipe" + set category = "Object" + set src in view(1) + + if(usr.incapacitated()) + return + + if(anchored) + to_chat(usr, "You must unfasten the pipe before rotating it!") + return + + setDir(turn(dir, -90)) + update_icon() + +/obj/structure/disposalconstruct/AltClick(mob/user) + ..() + if(!in_range(src, user)) + return + else + rotate() + +/obj/structure/disposalconstruct/verb/flip() + set name = "Flip Pipe" + set category = "Object" + set src in view(1) + + if(usr.incapacitated()) + return + + if(anchored) + to_chat(usr, "You must unfasten the pipe before flipping it!") + return + + setDir(turn(dir, 180)) + + var/obj/structure/disposalpipe/temp = pipe_type + if(initial(temp.flip_type)) + if(dir in GLOB.diagonals) // Fix RPD-induced diagonal turning + setDir(turn(dir, 45)) + pipe_type = initial(temp.flip_type) + + update_icon() + + +// attackby item +// wrench: (un)anchor +// weldingtool: convert to real pipe + +/obj/structure/disposalconstruct/attackby(obj/item/I, mob/user, params) + var/ispipe = is_pipe() // Indicates if we should change the level of this pipe + + add_fingerprint(user) + + var/turf/T = get_turf(src) + if(T.intact && isfloorturf(T)) + to_chat(user, "You can only attach the [pipename] if the floor plating is removed!") + return + + if(!ispipe && iswallturf(T)) + to_chat(user, "You can't build [pipename]s on walls, only disposal pipes!") + return + + if(istype(I, /obj/item/wrench)) + if(anchored) + anchored = FALSE + density = FALSE + to_chat(user, "You detach the [pipename] from the underfloor.") + else + if(ispipe) + var/dpdir = get_disposal_dir() + for(var/obj/structure/disposalpipe/CP in T) + var/pdir = CP.dpdir + if(istype(CP, /obj/structure/disposalpipe/broken)) + pdir = CP.dir + if(pdir & dpdir) + to_chat(user, "There is already a disposal pipe at that location!") + return + level = 1 // Pipes only, don't want disposal bins to disappear under the floors + + else // Disposal or outlet + var/found_trunk = FALSE + for(var/obj/structure/disposalpipe/CP in T) + if(istype(CP, /obj/structure/disposalpipe/trunk)) + found_trunk = TRUE + break + + if(!found_trunk) + to_chat(user, "The [pipename] requires a trunk underneath it in order to work!") + return + + anchored = TRUE + density = initial(pipe_type.density) + to_chat(user, "You attach the [pipename] to the underfloor.") + playsound(src, I.usesound, 100, 1) + update_icon() + + else if(istype(I, /obj/item/weldingtool)) + if(anchored) + var/obj/item/weldingtool/W = I + if(W.remove_fuel(0,user)) + playsound(src, I.usesound, 50, 1) + to_chat(user, "You start welding the [pipename] in place...") + if(do_after(user, 8*I.toolspeed, target = src)) + if(!loc || !W.isOn()) + return + to_chat(user, "The [pipename] has been welded in place.") + + var/obj/O = new pipe_type(loc, src) + transfer_fingerprints_to(O) + + return + else + to_chat(user, "You need to attach it to the plating first!") + return + +/obj/structure/disposalconstruct/proc/is_pipe() + return ispath(pipe_type, /obj/structure/disposalpipe) + +//helper proc that makes sure you can place the construct (i.e no dense objects stacking) +/obj/structure/disposalconstruct/proc/can_place() + if(is_pipe()) + return TRUE + + for(var/obj/structure/disposalconstruct/DC in get_turf(src)) + if(DC == src) + continue + + if(!DC.is_pipe()) //there's already a chute/outlet/bin there + return FALSE + + return TRUE diff --git a/code/modules/recycling/disposal/eject.dm b/code/modules/recycling/disposal/eject.dm new file mode 100644 index 0000000000..48162f3745 --- /dev/null +++ b/code/modules/recycling/disposal/eject.dm @@ -0,0 +1,23 @@ +// called when movable is expelled from a disposal pipe or outlet +// by default does nothing, override for special behaviour + +/atom/movable/proc/pipe_eject(direction) + return + +/obj/effect/decal/cleanable/blood/gibs/pipe_eject(direction) + var/list/dirs + if(direction) + dirs = list(direction, turn(direction, -45), turn(direction, 45)) + else + dirs = GLOB.alldirs.Copy() + + streak(dirs) + +/obj/effect/decal/cleanable/robot_debris/gib/pipe_eject(direction) + var/list/dirs + if(direction) + dirs = list(direction, turn(direction, -45), turn(direction, 45)) + else + dirs = GLOB.alldirs.Copy() + + streak(dirs) diff --git a/code/modules/recycling/disposal/holder.dm b/code/modules/recycling/disposal/holder.dm new file mode 100644 index 0000000000..cf9b5a2b58 --- /dev/null +++ b/code/modules/recycling/disposal/holder.dm @@ -0,0 +1,128 @@ +// virtual disposal object +// travels through pipes in lieu of actual items +// contents will be items flushed by the disposal +// this allows the gas flushed to be tracked + +/obj/structure/disposalholder + invisibility = INVISIBILITY_MAXIMUM + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + dir = NONE + var/datum/gas_mixture/gas // gas used to flush, will appear at exit point + var/active = FALSE // true if the holder is moving, otherwise inactive + var/count = 1000 // can travel 1000 steps before going inactive (in case of loops) + var/destinationTag = NONE // changes if contains a delivery container + var/tomail = FALSE // contains wrapped package + var/hasmob = FALSE // contains a mob + +/obj/structure/disposalholder/ComponentInitialize() + . = ..() + AddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION) + +/obj/structure/disposalholder/Destroy() + QDEL_NULL(gas) + active = FALSE + return ..() + +// initialize a holder from the contents of a disposal unit +/obj/structure/disposalholder/proc/init(obj/machinery/disposal/D) + gas = D.air_contents// transfer gas resv. into holder object + + //Check for any living mobs trigger hasmob. + //hasmob effects whether the package goes to cargo or its tagged destination. + for(var/mob/living/M in D) + if(M.client) + M.reset_perspective(src) + hasmob = TRUE + + //Checks 1 contents level deep. This means that players can be sent through disposals mail... + //...but it should require a second person to open the package. (i.e. person inside a wrapped locker) + for(var/obj/O in D) + if(locate(/mob/living) in O) + hasmob = TRUE + break + + // now everything inside the disposal gets put into the holder + // note AM since can contain mobs or objs + for(var/A in D) + var/atom/movable/AM = A + AM.forceMove(src) + if(istype(AM, /obj/structure/bigDelivery) && !hasmob) + var/obj/structure/bigDelivery/T = AM + src.destinationTag = T.sortTag + if(istype(AM, /obj/item/smallDelivery) && !hasmob) + var/obj/item/smallDelivery/T = AM + src.destinationTag = T.sortTag + + +// start the movement process +// argument is the disposal unit the holder started in +/obj/structure/disposalholder/proc/start(obj/machinery/disposal/D) + if(!D.trunk) + D.expel(src) // no trunk connected, so expel immediately + return + forceMove(D.trunk) + active = TRUE + setDir(DOWN) + move() + +// movement process, persists while holder is moving through pipes +/obj/structure/disposalholder/proc/move() + set waitfor = FALSE + var/obj/structure/disposalpipe/last + while(active) + var/obj/structure/disposalpipe/curr = loc + last = curr + curr = curr.transfer(src) + if(!curr && active) + last.expel(src, loc, dir) + + stoplag() + if(!(count--)) + active = FALSE + +// find the turf which should contain the next pipe +/obj/structure/disposalholder/proc/nextloc() + return get_step(src, dir) + +// find a matching pipe on a turf +/obj/structure/disposalholder/proc/findpipe(turf/T) + if(!T) + return null + + var/fdir = turn(dir, 180) // flip the movement direction + for(var/obj/structure/disposalpipe/P in T) + if(fdir & P.dpdir) // find pipe direction mask that matches flipped dir + return P + // if no matching pipe, return null + return null + +// merge two holder objects +// used when a holder meets a stuck holder +/obj/structure/disposalholder/proc/merge(obj/structure/disposalholder/other) + for(var/A in other) + var/atom/movable/AM = A + AM.forceMove(src) // move everything in other holder to this one + if(ismob(AM)) + var/mob/M = AM + M.reset_perspective(src) // if a client mob, update eye to follow this holder + qdel(other) + + +// called when player tries to move while in a pipe +/obj/structure/disposalholder/relaymove(mob/user) + if(user.incapacitated()) + return + for(var/mob/M in range(5, get_turf(src))) + M.show_message("CLONG, clong!", 2) + playsound(src.loc, 'sound/effects/clang.ogg', 50, 0, 0) + +// called to vent all gas in holder to a location +/obj/structure/disposalholder/proc/vent_gas(turf/T) + T.assume_air(gas) + T.air_update_turf() + +/obj/structure/disposalholder/AllowDrop() + return TRUE + +/obj/structure/disposalholder/ex_act(severity, target) + return diff --git a/code/modules/recycling/disposal/outlet.dm b/code/modules/recycling/disposal/outlet.dm new file mode 100644 index 0000000000..9351494cd5 --- /dev/null +++ b/code/modules/recycling/disposal/outlet.dm @@ -0,0 +1,88 @@ +// the disposal outlet machine +/obj/structure/disposaloutlet + name = "disposal outlet" + desc = "An outlet for the pneumatic disposal system." + icon = 'icons/obj/atmospherics/pipes/disposal.dmi' + icon_state = "outlet" + density = TRUE + anchored = TRUE + var/active = FALSE + var/turf/target // this will be where the output objects are 'thrown' to. + var/obj/structure/disposalpipe/trunk/trunk // the attached pipe trunk + var/obj/structure/disposalconstruct/stored + var/start_eject = 0 + var/eject_range = 3 + +/obj/structure/disposaloutlet/Initialize(mapload, obj/structure/disposalconstruct/make_from) + . = ..() + if(make_from) + setDir(make_from.dir) + make_from.forceMove(src) + stored = make_from + else + stored = new /obj/structure/disposalconstruct(src, make_from = src) + + target = get_ranged_target_turf(src, dir, 10) + + trunk = locate() in loc + if(trunk) + trunk.linked = src // link the pipe trunk to self + +/obj/structure/disposaloutlet/ComponentInitialize() + . = ..() + AddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION) + +/obj/structure/disposaloutlet/Destroy() + if(trunk) + trunk.linked = null + trunk = null + QDEL_NULL(stored) + return ..() + +// expel the contents of the holder object, then delete it +// called when the holder exits the outlet +/obj/structure/disposaloutlet/proc/expel(obj/structure/disposalholder/H) + flick("outlet-open", src) + if((start_eject + 30) < world.time) + start_eject = world.time + playsound(src, 'sound/machines/warning-buzzer.ogg', 50, 0, 0) + addtimer(CALLBACK(src, .proc/expel_holder, H, TRUE), 20) + else + addtimer(CALLBACK(src, .proc/expel_holder, H), 20) + +/obj/structure/disposaloutlet/proc/expel_holder(obj/structure/disposalholder/H, playsound=FALSE) + if(playsound) + playsound(src, 'sound/machines/hiss.ogg', 50, 0, 0) + + if(!H) + return + + var/turf/T = get_turf(src) + + for(var/A in H) + var/atom/movable/AM = A + AM.forceMove(T) + AM.pipe_eject(dir) + AM.throw_at(target, eject_range, 1) + + H.vent_gas(T) + qdel(H) + + +/obj/structure/disposaloutlet/attackby(obj/item/I, mob/user, params) + add_fingerprint(user) + if(istype(I, /obj/item/weldingtool)) + var/obj/item/weldingtool/W = I + if(W.remove_fuel(0,user)) + playsound(src, 'sound/items/welder2.ogg', 100, 1) + to_chat(user, "You start slicing the floorweld off [src]...") + if(do_after(user, 20*I.toolspeed, target = src)) + if(!W.isOn()) + return + to_chat(user, "You slice the floorweld off [src].") + stored.forceMove(loc) + transfer_fingerprints_to(stored) + stored = null + qdel(src) + else + return ..() diff --git a/code/modules/recycling/disposal/pipe.dm b/code/modules/recycling/disposal/pipe.dm new file mode 100644 index 0000000000..b213b121f6 --- /dev/null +++ b/code/modules/recycling/disposal/pipe.dm @@ -0,0 +1,310 @@ +// Disposal pipes + +/obj/structure/disposalpipe + name = "disposal pipe" + desc = "An underfloor disposal pipe." + icon = 'icons/obj/atmospherics/pipes/disposal.dmi' + anchored = TRUE + density = FALSE + on_blueprints = TRUE + level = 1 // underfloor only + dir = NONE // dir will contain dominant direction for junction pipes + max_integrity = 200 + armor = list("melee" = 25, "bullet" = 10, "laser" = 10, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 30) + layer = DISPOSAL_PIPE_LAYER // slightly lower than wires and other pipes + var/dpdir = NONE // bitmask of pipe directions + var/initialize_dirs = NONE // bitflags of pipe directions added on init, see \code\_DEFINES\pipe_construction.dm + var/flip_type // If set, the pipe is flippable and becomes this type when flipped + var/obj/structure/disposalconstruct/stored + + +/obj/structure/disposalpipe/Initialize(mapload, obj/structure/disposalconstruct/make_from) + . = ..() + + if(!QDELETED(make_from)) + setDir(make_from.dir) + make_from.forceMove(src) + stored = make_from + else + stored = new /obj/structure/disposalconstruct(src, make_from=src) + + if(dir in GLOB.diagonals) // Bent pipes already have all the dirs set + initialize_dirs = NONE + + if(initialize_dirs != DISP_DIR_NONE) + dpdir = dir + + if(initialize_dirs & DISP_DIR_LEFT) + dpdir |= turn(dir, 90) + if(initialize_dirs & DISP_DIR_RIGHT) + dpdir |= turn(dir, -90) + if(initialize_dirs & DISP_DIR_FLIP) + dpdir |= turn(dir, 180) + update() + +/obj/structure/disposalpipe/ComponentInitialize() + . = ..() + AddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION) + +// pipe is deleted +// ensure if holder is present, it is expelled +/obj/structure/disposalpipe/Destroy() + var/obj/structure/disposalholder/H = locate() in src + if(H) + H.active = FALSE + expel(H, get_turf(src), 0) + QDEL_NULL(stored) + return ..() + +// returns the direction of the next pipe object, given the entrance dir +// by default, returns the bitmask of remaining directions +/obj/structure/disposalpipe/proc/nextdir(obj/structure/disposalholder/H) + return dpdir & (~turn(H.dir, 180)) + +// transfer the holder through this pipe segment +// overriden for special behaviour +/obj/structure/disposalpipe/proc/transfer(obj/structure/disposalholder/H) + return transfer_to_dir(H, nextdir(H)) + +/obj/structure/disposalpipe/proc/transfer_to_dir(obj/structure/disposalholder/H, nextdir) + H.setDir(nextdir) + var/turf/T = H.nextloc() + var/obj/structure/disposalpipe/P = H.findpipe(T) + + if(P) + // find other holder in next loc, if inactive merge it with current + var/obj/structure/disposalholder/H2 = locate() in P + if(H2 && !H2.active) + H.merge(H2) + + H.forceMove(P) + return P + else // if wasn't a pipe, then they're now in our turf + H.forceMove(get_turf(src)) + return null + +// update the icon_state to reflect hidden status +/obj/structure/disposalpipe/proc/update() + var/turf/T = get_turf(src) + hide(T.intact && !isspaceturf(T)) // space never hides pipes + +// hide called by levelupdate if turf intact status changes +// change visibility status and force update of icon +/obj/structure/disposalpipe/hide(var/intact) + invisibility = intact ? INVISIBILITY_MAXIMUM: 0 // hide if floor is intact + +// expel the held objects into a turf +// called when there is a break in the pipe +/obj/structure/disposalpipe/proc/expel(obj/structure/disposalholder/H, turf/T, direction) + var/turf/target + var/eject_range = 5 + var/turf/open/floor/floorturf + + if(isfloorturf(T)) //intact floor, pop the tile + floorturf = T + if(floorturf.floor_tile) + new floorturf.floor_tile(T) + floorturf.make_plating() + + if(direction) // direction is specified + if(isspaceturf(T)) // if ended in space, then range is unlimited + target = get_edge_target_turf(T, direction) + else // otherwise limit to 10 tiles + target = get_ranged_target_turf(T, direction, 10) + + eject_range = 10 + + else if(floorturf) + target = get_offset_target_turf(T, rand(5)-rand(5), rand(5)-rand(5)) + + playsound(src, 'sound/machines/hiss.ogg', 50, 0, 0) + for(var/A in H) + var/atom/movable/AM = A + AM.forceMove(get_turf(src)) + AM.pipe_eject(direction) + if(target) + AM.throw_at(target, eject_range, 1) + H.vent_gas(T) + qdel(H) + + +// pipe affected by explosion +/obj/structure/disposalpipe/contents_explosion(severity, target) + var/obj/structure/disposalholder/H = locate() in src + if(H) + H.contents_explosion(severity, target) + + +/obj/structure/disposalpipe/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) + if(damage_flag == "melee" && damage_amount < 10) + return 0 + return ..() + + +//attack by item +//weldingtool: unfasten and convert to obj/disposalconstruct +/obj/structure/disposalpipe/attackby(obj/item/I, mob/user, params) + add_fingerprint(user) + if(istype(I, /obj/item/weldingtool)) + if(!can_be_deconstructed(user)) + return + + var/obj/item/weldingtool/W = I + if(W.remove_fuel(0, user)) + playsound(src, I.usesound, 50, 1) + to_chat(user, "You start slicing [src]...") + // check if anything changed over 2 seconds + if(do_after(user, 30*I.toolspeed, target = src)) + if(!W.isOn()) + return + deconstruct() + to_chat(user, "You slice [src].") + else + return ..() + +//checks if something is blocking the deconstruction (e.g. trunk with a bin still linked to it) +/obj/structure/disposalpipe/proc/can_be_deconstructed() + return TRUE + +// called when pipe is cut with welder +/obj/structure/disposalpipe/deconstruct(disassembled = TRUE) + if(!(flags_1 & NODECONSTRUCT_1)) + if(disassembled) + if(stored) + stored.forceMove(loc) + transfer_fingerprints_to(stored) + stored.setDir(dir) + stored = null + else + var/turf/T = get_turf(src) + for(var/D in GLOB.cardinals) + if(D & dpdir) + var/obj/structure/disposalpipe/broken/P = new(T) + P.setDir(D) + qdel(src) + + +/obj/structure/disposalpipe/singularity_pull(S, current_size) + ..() + if(current_size >= STAGE_FIVE) + deconstruct() + + +/obj/structure/disposalpipe/segment + icon_state = "pipe" + initialize_dirs = DISP_DIR_FLIP + + +// A three-way junction with dir being the dominant direction +/obj/structure/disposalpipe/junction + icon_state = "pipe-j1" + initialize_dirs = DISP_DIR_RIGHT | DISP_DIR_FLIP + flip_type = /obj/structure/disposalpipe/junction/flip + +// next direction to move +// if coming in from secondary dirs, then next is primary dir +// if coming in from primary dir, then next is equal chance of other dirs +/obj/structure/disposalpipe/junction/nextdir(obj/structure/disposalholder/H) + var/flipdir = turn(H.dir, 180) + if(flipdir != dir) // came from secondary dir, so exit through primary + return dir + + else // came from primary, so need to choose a secondary exit + var/mask = dpdir & (~dir) // get a mask of secondary dirs + + // find one secondary dir in mask + var/secdir = NONE + for(var/D in GLOB.cardinals) + if(D & mask) + secdir = D + break + + if(prob(50)) // 50% chance to choose the found secondary dir + return secdir + else // or the other one + return mask & (~secdir) + +/obj/structure/disposalpipe/junction/flip + icon_state = "pipe-j2" + initialize_dirs = DISP_DIR_LEFT | DISP_DIR_FLIP + flip_type = /obj/structure/disposalpipe/junction + +/obj/structure/disposalpipe/junction/yjunction + icon_state = "pipe-y" + initialize_dirs = DISP_DIR_LEFT | DISP_DIR_RIGHT + flip_type = null + + +//a trunk joining to a disposal bin or outlet on the same turf +/obj/structure/disposalpipe/trunk + icon_state = "pipe-t" + var/obj/linked // the linked obj/machinery/disposal or obj/disposaloutlet + +/obj/structure/disposalpipe/trunk/Initialize() + . = ..() + getlinked() + +/obj/structure/disposalpipe/trunk/Destroy() + if(linked) + if(istype(linked, /obj/structure/disposaloutlet)) + var/obj/structure/disposaloutlet/D = linked + D.trunk = null + else if(istype(linked, /obj/machinery/disposal)) + var/obj/machinery/disposal/D = linked + D.trunk = null + return ..() + +/obj/structure/disposalpipe/trunk/proc/getlinked() + linked = null + var/turf/T = get_turf(src) + var/obj/machinery/disposal/D = locate() in T + if(D) + linked = D + if (!D.trunk) + D.trunk = src + + var/obj/structure/disposaloutlet/O = locate() in T + if(O) + linked = O + + +/obj/structure/disposalpipe/trunk/can_be_deconstructed(mob/user) + if(linked) + to_chat(user, "You need to deconstruct disposal machinery above this pipe!") + return FALSE + return TRUE + +// would transfer to next pipe segment, but we are in a trunk +// if not entering from disposal bin, +// transfer to linked object (outlet or bin) +/obj/structure/disposalpipe/trunk/transfer(obj/structure/disposalholder/H) + if(H.dir == DOWN) // we just entered from a disposer + return ..() // so do base transfer proc + // otherwise, go to the linked object + if(linked) + var/obj/structure/disposaloutlet/O = linked + if(istype(O)) + O.expel(H) // expel at outlet + else + var/obj/machinery/disposal/D = linked + D.expel(H) // expel at disposal + else + expel(H, get_turf(src), 0) // expel at turf + return null + +/obj/structure/disposalpipe/trunk/nextdir(obj/structure/disposalholder/H) + if(H.dir == DOWN) + return dir + else + return NONE + +// a broken pipe +/obj/structure/disposalpipe/broken + desc = "A broken piece of disposal pipe." + icon_state = "pipe-b" + initialize_dirs = DISP_DIR_NONE + // broken pipes always have dpdir=0 so they're not found as 'real' pipes + // i.e. will be treated as an empty turf + +/obj/structure/disposalpipe/broken/deconstruct() + qdel(src) diff --git a/code/modules/recycling/disposal/pipe_sorting.dm b/code/modules/recycling/disposal/pipe_sorting.dm new file mode 100644 index 0000000000..bff37c6f81 --- /dev/null +++ b/code/modules/recycling/disposal/pipe_sorting.dm @@ -0,0 +1,94 @@ +// A three-way junction that sorts objects based on check_sorting(H) proc +// This is a base type, use subtypes on the map. +/obj/structure/disposalpipe/sorting + name = "sorting disposal pipe" + desc = "An underfloor disposal pipe with a sorting mechanism." + icon_state = "pipe-j1s" + initialize_dirs = DISP_DIR_RIGHT | DISP_DIR_FLIP + +/obj/structure/disposalpipe/sorting/nextdir(obj/structure/disposalholder/H) + var/sortdir = dpdir & ~(dir | turn(dir, 180)) + if(H.dir != sortdir) // probably came from the negdir + if(check_sorting(H)) // if destination matches filtered type... + return sortdir // exit through sortdirection + + // go with the flow to positive direction + return dir + +// Sorting check, to be overridden in subtypes +/obj/structure/disposalpipe/sorting/proc/check_sorting(obj/structure/disposalholder/H) + return FALSE + + + +// Mail sorting junction, uses package tags to sort objects. +/obj/structure/disposalpipe/sorting/mail + flip_type = /obj/structure/disposalpipe/sorting/mail/flip + var/sortType = 0 + // sortType is to be set in map editor. + // Supports both singular numbers and strings of numbers similar to access level strings. + // Look at the list called TAGGERLOCATIONS in /_globalvars/lists/flavor_misc.dm + var/list/sortTypes = list() + +/obj/structure/disposalpipe/sorting/mail/flip + flip_type = /obj/structure/disposalpipe/sorting/mail + icon_state = "pipe-j2s" + initialize_dirs = DISP_DIR_LEFT | DISP_DIR_FLIP + +/obj/structure/disposalpipe/sorting/mail/Initialize() + . = ..() + // Generate a list of soring tags. + if(sortType) + if(isnum(sortType)) + sortTypes |= sortType + else if(istext(sortType)) + var/list/sorts = splittext(sortType,";") + for(var/x in sorts) + var/n = text2num(x) + if(n) + sortTypes |= n + +/obj/structure/disposalpipe/sorting/mail/examine(mob/user) + ..() + if(sortTypes.len) + to_chat(user, "It is tagged with the following tags:") + for(var/t in sortTypes) + to_chat(user, "\t[GLOB.TAGGERLOCATIONS[t]].") + else + to_chat(user, "It has no sorting tags set.") + + +/obj/structure/disposalpipe/sorting/mail/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/device/destTagger)) + var/obj/item/device/destTagger/O = I + + if(O.currTag)// Tagger has a tag set + if(O.currTag in sortTypes) + sortTypes -= O.currTag + to_chat(user, "Removed \"[GLOB.TAGGERLOCATIONS[O.currTag]]\" filter.") + else + sortTypes |= O.currTag + to_chat(user, "Added \"[GLOB.TAGGERLOCATIONS[O.currTag]]\" filter.") + playsound(src, 'sound/machines/twobeep.ogg', 100, 1) + else + return ..() + +/obj/structure/disposalpipe/sorting/mail/check_sorting(obj/structure/disposalholder/H) + return (H.destinationTag in sortTypes) + + + + +// Wrap sorting junction, sorts objects destined for the mail office mail table (tomail = 1) +/obj/structure/disposalpipe/sorting/wrap + desc = "An underfloor disposal pipe which sorts wrapped and unwrapped objects." + flip_type = /obj/structure/disposalpipe/sorting/wrap/flip + initialize_dirs = DISP_DIR_RIGHT | DISP_DIR_FLIP + +/obj/structure/disposalpipe/sorting/wrap/check_sorting(obj/structure/disposalholder/H) + return H.tomail + +/obj/structure/disposalpipe/sorting/wrap/flip + icon_state = "pipe-j2s" + flip_type = /obj/structure/disposalpipe/sorting/wrap + initialize_dirs = DISP_DIR_LEFT | DISP_DIR_FLIP diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index bb18ea187c..0bafcba54d 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -154,7 +154,7 @@ dat += "" for (var/i = 1, i <= GLOB.TAGGERLOCATIONS.len, i++) - dat += "" + dat += "" if(i%4==0) dat += "" diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 051d7422a0..d2b587cc68 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -91,6 +91,35 @@ other types of metals and chemistry for reagents). build_path = /obj/item/device/paicard category = list("Electronics") +/datum/design/integrated_printer + name = "Integrated circuits printer" + desc = "This machine provides all neccesary things for circuitry." + id = "icprinter" + req_tech = list("programming" = 2,"materials" = 2, "engineering" = 3) + build_type = PROTOLATHE + materials = list(MAT_GLASS = 5000, MAT_METAL = 5000) + build_path = /obj/item/device/integrated_circuit_printer + category = list("Electronics") + +/datum/design/advupdisk + name = "Upgrade disk-advanced circuits" + desc = "Upgrade disk for integrated circuits printer.Allows advanced designs." + id = "udiskadv" + req_tech = list("programming" = 3, "engineering" = 3) + build_type = PROTOLATHE + materials = list(MAT_GLASS = 500, MAT_METAL = 500) + build_path = /obj/item/disk/integrated_circuit/upgrade/advanced + category = list("Electronics") + +/datum/design/cloneupisk + name = "Upgrade disk-assembly cloning" + desc = "Upgrade disk for integrated circuits printer.Allows assembly cloning." + id = "udiskclone" + req_tech = list("programming" = 4, "engineering" = 4) + build_type = PROTOLATHE + materials = list(MAT_GLASS = 500, MAT_METAL = 500) + build_path = /obj/item/disk/integrated_circuit/upgrade/clone + category = list("Electronics") //////////////////////////////////////// //////////Disk Construction Disks/////// diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index 2fe94933d7..14346ee13b 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -315,13 +315,21 @@ category = list ("Misc. Machinery") /datum/design/board/processor - name = "Machine Design (Processor Board)" - desc = "The circuit board for a processor." + name = "Machine Design (Food Processor Board)" + desc = "The circuit board for a food processor." id = "processor" req_tech = list("programming" = 1) build_path = /obj/item/circuitboard/machine/processor category = list ("Misc. Machinery") +/datum/design/board/slimeprocessor + name = "Machine Design (Slime Processor Board)" + desc = "The circuit board for a slime processor." + id = "slimeprocessor" + req_tech = list("programming" = 1, "plasmatech" = 1) + build_path = /obj/item/circuitboard/machine/processor/slime + category = list ("Misc. Machinery") + /datum/design/board/recycler name = "Machine Design (Recycler Board)" desc = "The circuit board for a recycler." diff --git a/code/modules/research/designs/power_designs.dm b/code/modules/research/designs/power_designs.dm index d666ff3b97..d5526e9509 100644 --- a/code/modules/research/designs/power_designs.dm +++ b/code/modules/research/designs/power_designs.dm @@ -4,7 +4,7 @@ /datum/design/basic_cell name = "Basic Power Cell" - desc = "A basic power cell that holds 1000 units of energy." + desc = "A basic power cell that holds 1 kW of power." id = "basic_cell" req_tech = list("powerstorage" = 1) build_type = PROTOLATHE | AUTOLATHE |MECHFAB @@ -15,7 +15,7 @@ /datum/design/high_cell name = "High-Capacity Power Cell" - desc = "A power cell that holds 10000 units of energy." + desc = "A power cell that holds 10 kW of power." id = "high_cell" req_tech = list("powerstorage" = 2) build_type = PROTOLATHE | AUTOLATHE | MECHFAB @@ -26,7 +26,7 @@ /datum/design/super_cell name = "Super-Capacity Power Cell" - desc = "A power cell that holds 20000 units of energy." + desc = "A power cell that holds 20 kW of power." id = "super_cell" req_tech = list("powerstorage" = 3, "materials" = 3) build_type = PROTOLATHE | MECHFAB @@ -37,7 +37,7 @@ /datum/design/hyper_cell name = "Hyper-Capacity Power Cell" - desc = "A power cell that holds 30000 units of energy." + desc = "A power cell that holds 30 kW of power." id = "hyper_cell" req_tech = list("powerstorage" = 5, "materials" = 5, "engineering" = 5) build_type = PROTOLATHE | MECHFAB @@ -48,7 +48,7 @@ /datum/design/bluespace_cell name = "Bluespace Power Cell" - desc = "A power cell that holds 40000 units of energy." + desc = "A power cell that holds 40 kW of power." id = "bluespace_cell" req_tech = list("powerstorage" = 6, "materials" = 5, "engineering" = 5, "bluespace" = 5) build_type = PROTOLATHE | MECHFAB diff --git a/code/modules/research/designs/telecomms_designs.dm b/code/modules/research/designs/telecomms_designs.dm index 5822c5b808..a9e89ac9d0 100644 --- a/code/modules/research/designs/telecomms_designs.dm +++ b/code/modules/research/designs/telecomms_designs.dm @@ -10,6 +10,14 @@ build_path = /obj/item/circuitboard/machine/telecomms/receiver category = list("Subspace Telecomms") +/datum/design/board/exonet_node + name = "Machine Design (Exonet Node)" + desc = "Allows for the construction of Exonet Node." + id = "e-node" + req_tech = list("programming" = 2, "engineering" = 3, "bluespace" = 1) + build_path = /obj/item/circuitboard/machine/exonet_node + category = list("Subspace Telecomms") + /datum/design/board/telecomms_bus name = "Machine Design (Bus Mainframe)" desc = "Allows for the construction of Telecommunications Bus Mainframes." diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index 4ba8925df6..1f2a3bb472 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -86,8 +86,8 @@ /obj/machinery/r_n_d/experimentor/Initialize() . = ..() - trackedIan = locate(/mob/living/simple_animal/pet/dog/corgi/Ian) in GLOB.mob_list - trackedRuntime = locate(/mob/living/simple_animal/pet/cat/Runtime) in GLOB.mob_list + trackedIan = locate(/mob/living/simple_animal/pet/dog/corgi/Ian) in GLOB.mob_living_list + trackedRuntime = locate(/mob/living/simple_animal/pet/cat/Runtime) in GLOB.mob_living_list SetTypeReactions() /obj/machinery/r_n_d/experimentor/RefreshParts() @@ -138,7 +138,7 @@ user.set_machine(src) var/dat = "
    " if(!linked_console) - dat += "Scan for R&D Console
    " + dat += "Scan for R&D Console
    " if(loaded_item) dat += "Loaded Item: [loaded_item]
    " dat += "Technology:
    " @@ -146,19 +146,19 @@ for(var/T in D) dat += "[T]
    " dat += "

    Available tests:" - dat += "
    Poke" - dat += "
    Irradiate" - dat += "
    Gas" - dat += "
    Burn" - dat += "
    Freeze" - dat += "
    Destroy
    " + dat += "
    Poke" + dat += "
    Irradiate" + dat += "
    Gas" + dat += "
    Burn" + dat += "
    Freeze" + dat += "
    Destroy
    " if(istype(loaded_item, /obj/item/relic)) - dat += "
    Discover
    " - dat += "
    Eject" + dat += "
    Discover
    " + dat += "
    Eject" else dat += "Nothing loaded." - dat += "
    Refresh
    " - dat += "
    Close
    " + dat += "
    Refresh
    " + dat += "
    Close
    " var/datum/browser/popup = new(user, "experimentor","Experimentor", 700, 400, src) popup.set_content(dat) popup.open() diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm index 0cef65c07c..295dd4429a 100644 --- a/code/modules/research/message_server.dm +++ b/code/modules/research/message_server.dm @@ -19,7 +19,7 @@ GLOBAL_LIST_INIT(message_servers, list()) /datum/data_pda_msg/proc/get_photo_ref() if(photo) - return "(Photo)" + return "(Photo)" return "" /datum/data_pda_msg/Topic(href,href_list) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index d912bc908e..d67e899cdd 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -28,7 +28,6 @@ won't update every console in existence) but it's more of a hassle to do. Also, */ - /obj/machinery/computer/rdconsole name = "R&D Console" icon_screen = "rdcomp" @@ -660,9 +659,9 @@ won't update every console in existence) but it's more of a hassle to do. Also, if(0.1) dat += "
    Processing and Updating Database...
    " - if(0.2) + if(RD_CONSOLE_LOCKED_SCREEN) dat += "
    SYSTEM LOCKED
    " - dat += "Unlock" + dat += "Unlock" if(0.3) dat += "
    Constructing Prototype. Please Wait...
    " @@ -673,30 +672,30 @@ won't update every console in existence) but it's more of a hassle to do. Also, if(1.0) //Main Menu dat += "
    " dat += "

    Main Menu:


    " - dat += "Current Research Levels
    " + dat += "Current Research Levels
    " if(t_disk) - dat += "Disk Operations
    " + dat += "Disk Operations
    " else if(d_disk) - dat += "Disk Operations
    " + dat += "Disk Operations
    " else dat += "Disk Operations
    " if(linked_destroy) - dat += "Destructive Analyzer Menu
    " + dat += "Destructive Analyzer Menu
    " else dat += "Destructive Analyzer Menu
    " if(linked_lathe) - dat += "Protolathe Construction Menu
    " + dat += "Protolathe Construction Menu
    " else dat += "Protolathe Construction Menu
    " if(linked_imprinter) - dat += "Circuit Construction Menu
    " + dat += "Circuit Construction Menu
    " else dat += "Circuit Construction Menu
    " - dat += "Settings" + dat += "Settings" dat += "
    " if(1.1) //Research viewer - dat += "Main Menu" + dat += "Main Menu" dat += "

    Current Research Levels:


    " for(var/v in files.known_tech) var/datum/tech/T = files.known_tech[v] @@ -708,8 +707,8 @@ won't update every console in existence) but it's more of a hassle to do. Also, dat += "
    " if(1.2) //Technology Disk Menu - dat += "Main Menu
    " - dat += "Disk Operations: Clear DiskUpload AllEject Disk" + dat += "Main Menu
    " + dat += "Disk Operations: Clear DiskUpload AllEject Disk" for(var/i in 1 to t_disk.max_tech_stored) dat += "
    " if(t_disk.tech_stored[i]) @@ -717,25 +716,25 @@ won't update every console in existence) but it's more of a hassle to do. Also, dat += "Name: [tech.name]
    " dat += "Level: [tech.level]
    " dat += "Description: [tech.desc]
    " - dat += "Operations: Upload to DatabaseClear Slot" + dat += "Operations: Upload to DatabaseClear Slot" else - dat += "Empty Slot
    Operations: Load Tech to Slot" + dat += "Empty Slot
    Operations: Load Tech to Slot" dat += "
    " if(1.3) //Technology Disk submenu - dat += "Main Menu" - dat += "Return to Disk Operations
    " + dat += "Main Menu" + dat += "Return to Disk Operations
    " dat += "

    Load Technology to Disk:


    " for(var/v in files.known_tech) var/datum/tech/T = files.known_tech[v] if(T.level <= 0) continue dat += "[T.name]" - dat += "Copy to Disk
    " + dat += "Copy to Disk
    " dat += "
    " if(1.4) //Design Disk menu. - dat += "Main Menu
    " - dat += "Disk Operations: Clear DiskUpload AllEject Disk" + dat += "Main Menu
    " + dat += "Disk Operations: Clear DiskUpload AllEject Disk" for(var/i in 1 to d_disk.max_blueprints) dat += "
    " if(d_disk.blueprints[i]) @@ -761,66 +760,66 @@ won't update every console in existence) but it's more of a hassle to do. Also, var/all_mats = D.materials + D.reagents_list for(var/M in all_mats) dat += "* [CallMaterialName(M)] x [all_mats[M]]
    " - dat += "Operations: Upload to Database Clear Slot" + dat += "Operations: Upload to Database Clear Slot" else - dat += "Empty Slot
    Operations: Load Design to Slot" + dat += "Empty Slot
    Operations: Load Design to Slot" dat += "
    " if(1.5) //Design disk submenu - dat += "Main Menu" - dat += "Return to Disk Operations
    " + dat += "Main Menu" + dat += "Return to Disk Operations
    " dat += "

    Load Design to Disk:


    " for(var/v in files.known_designs) var/datum/design/D = files.known_designs[v] dat += "[D.name] " - dat += "Copy to Disk
    " + dat += "Copy to Disk
    " dat += "
    " if(1.6) //R&D console settings - dat += "Main Menu
    " + dat += "Main Menu
    " dat += "

    R&D Console Setting:


    " if(sync) - dat += "Sync Database with Network
    " + dat += "Sync Database with Network
    " dat += "Connect to Research Network
    " - dat += "Disconnect from Research Network
    " + dat += "Disconnect from Research Network
    " else dat += "Sync Database with Network
    " - dat += "Connect to Research Network
    " + dat += "Connect to Research Network
    " dat += "Disconnect from Research Network
    " - dat += "Device Linkage Menu
    " - dat += "Lock Console
    " - dat += "Reset R&D Database
    " + dat += "Device Linkage Menu
    " + dat += "Lock Console
    " + dat += "Reset R&D Database
    " if(1.7) //R&D device linkage - dat += "Main Menu" - dat += "Settings Menu
    " + dat += "Main Menu" + dat += "Settings Menu
    " dat += "

    R&D Console Device Linkage Menu:


    " - dat += "Re-sync with Nearby Devices

    " + dat += "Re-sync with Nearby Devices

    " dat += "

    Linked Devices:


    " if(linked_destroy) - dat += "* Destructive Analyzer Disconnect
    " + dat += "* Destructive Analyzer Disconnect
    " else dat += "* No Destructive Analyzer Linked
    " if(linked_lathe) - dat += "* Protolathe Disconnect
    " + dat += "* Protolathe Disconnect
    " else dat += "* No Protolathe Linked
    " if(linked_imprinter) - dat += "* Circuit Imprinter Disconnect
    " + dat += "* Circuit Imprinter Disconnect
    " else dat += "* No Circuit Imprinter Linked
    " dat += "
    " ////////////////////DESTRUCTIVE ANALYZER SCREENS//////////////////////////// if(2.0) - dat += "Main Menu" + dat += "Main Menu" dat += "
    NO DESTRUCTIVE ANALYZER LINKED TO CONSOLE
    " if(2.1) - dat += "Main Menu" + dat += "Main Menu" dat += "
    No Item Loaded. Standing-by...
    " if(2.2) - dat += "Main Menu
    " + dat += "Main Menu
    " dat += "

    Deconstruction Menu


    " dat += "Name: [linked_destroy.loaded_item.name]
    " dat += "Origin Tech:
    " @@ -833,27 +832,27 @@ won't update every console in existence) but it's more of a hassle to do. Also, dat += "
    " dat += "
    Options: " - dat += "Deconstruct Item" - dat += "Eject Item" + dat += "Deconstruct Item" + dat += "Eject Item" if(2.3) - dat += "Main Menu" + dat += "Main Menu" dat += "
    Item is neither reliable enough or broken enough to learn from.
    " /////////////////////PROTOLATHE SCREENS///////////////////////// if(3.0) - dat += "Main Menu
    " + dat += "Main Menu
    " dat += "
    NO PROTOLATHE LINKED TO CONSOLE
    " if(3.1) - dat += "Main Menu " - dat += "Material Storage" - dat += "Chemical Storage
    " + dat += "Main Menu " + dat += "Material Storage" + dat += "Chemical Storage
    " dat += "

    Protolathe Menu:


    " dat += "Material Amount: [linked_materials.total_amount] / [linked_materials.max_amount]
    " dat += "Chemical Volume: [linked_lathe.reagents.total_volume] / [linked_lathe.reagents.maximum_volume]
    " - dat += "\ - \ + dat += "\ + \ \ \ \ @@ -864,8 +863,8 @@ won't update every console in existence) but it's more of a hassle to do. Also, //Grouping designs by categories, to improve readability if(3.15) - dat += "Main Menu" - dat += "Protolathe Menu" + dat += "Main Menu" + dat += "Protolathe Menu" dat += "

    Browsing [selected_category]:


    " dat += "Material Amount: [linked_materials.total_amount] / [linked_materials.max_amount]
    " dat += "Chemical Volume: [linked_lathe.reagents.total_volume] / [linked_lathe.reagents.maximum_volume]
    " @@ -890,11 +889,11 @@ won't update every console in existence) but it's more of a hassle to do. Also, c = min(c,t) if (c >= 1) - dat += "[D.name]" + dat += "[D.name]" if(c >= 5) - dat += "x5" + dat += "x5" if(c >= 10) - dat += "x10" + dat += "x10" dat += "[temp_material]" else dat += "[D.name][temp_material]" @@ -902,8 +901,8 @@ won't update every console in existence) but it's more of a hassle to do. Also, dat += "
    " if(3.17) //Display search result - dat += "Main Menu" - dat += "Protolathe Menu" + dat += "Main Menu" + dat += "Protolathe Menu" dat += "

    Search results:


    " dat += "Material Amount: [linked_materials.total_amount] / [linked_materials.max_amount]
    " dat += "Chemical Volume: [linked_lathe.reagents.total_volume] / [linked_lathe.reagents.maximum_volume]
    " @@ -924,11 +923,11 @@ won't update every console in existence) but it's more of a hassle to do. Also, c = min(c,t) if (c >= 1) - dat += "[D.name]" + dat += "[D.name]" if(c >= 5) - dat += "x5" + dat += "x5" if(c >= 10) - dat += "x10" + dat += "x10" dat += "[temp_material]" else dat += "[D.name][temp_material]" @@ -936,8 +935,8 @@ won't update every console in existence) but it's more of a hassle to do. Also, dat += "
    " if(3.2) //Protolathe Material Storage Sub-menu - dat += "Main Menu" - dat += "Protolathe Menu
    " + dat += "Main Menu" + dat += "Protolathe Menu
    " dat += "

    Material Storage:



    " if(!linked_lathe) dat += "ERROR: Protolathe connection failed." @@ -946,38 +945,38 @@ won't update every console in existence) but it's more of a hassle to do. Also, var/datum/material/M = linked_materials.materials[mat_id] dat += "* [M.amount] of [M.name]: " if(M.amount >= MINERAL_MATERIAL_AMOUNT) - dat += "Eject " + dat += "Eject " if(M.amount >= MINERAL_MATERIAL_AMOUNT*5) - dat += "5x " + dat += "5x " if(M.amount >= MINERAL_MATERIAL_AMOUNT) - dat += "All" + dat += "All" dat += "
    " dat += "
    " if(3.3) - dat += "Main Menu" - dat += "Protolathe Menu" - dat += "Disposal All Chemicals in Storage
    " + dat += "Main Menu" + dat += "Protolathe Menu" + dat += "Disposal All Chemicals in Storage
    " dat += "

    Chemical Storage:



    " for(var/datum/reagent/R in linked_lathe.reagents.reagent_list) dat += "[R.name]: [R.volume]" - dat += "Purge
    " + dat += "Purge
    " ///////////////////CIRCUIT IMPRINTER SCREENS//////////////////// if(4.0) - dat += "Main Menu
    " + dat += "Main Menu
    " dat += "
    NO CIRCUIT IMPRINTER LINKED TO CONSOLE
    " if(4.1) - dat += "Main Menu" - dat += "Material Storage" - dat += "Chemical Storage
    " + dat += "Main Menu" + dat += "Material Storage" + dat += "Chemical Storage
    " dat += "

    Circuit Imprinter Menu:


    " dat += "Material Amount: [imprinter_materials.total_amount]
    " dat += "Chemical Volume: [linked_imprinter.reagents.total_volume]
    " - dat += "\ - \ + dat += "\ + \ \ \ \ @@ -987,8 +986,8 @@ won't update every console in existence) but it's more of a hassle to do. Also, dat += list_categories(linked_imprinter.categories, 4.15) if(4.15) - dat += "Main Menu" - dat += "Circuit Imprinter Menu" + dat += "Main Menu" + dat += "Circuit Imprinter Menu" dat += "

    Browsing [selected_category]:


    " dat += "Material Amount: [imprinter_materials.total_amount]
    " dat += "Chemical Volume: [linked_imprinter.reagents.total_volume]
    " @@ -1011,14 +1010,14 @@ won't update every console in existence) but it's more of a hassle to do. Also, else temp_materials += " [all_materials[M]/coeff] [CallMaterialName(M)]" if (check_materials) - dat += "[D.name][temp_materials]
    " + dat += "[D.name][temp_materials]
    " else dat += "[D.name][temp_materials]
    " dat += "
    " if(4.17) - dat += "Main Menu" - dat += "Circuit Imprinter Menu" + dat += "Main Menu" + dat += "Circuit Imprinter Menu" dat += "

    Search results:


    " dat += "Material Amount: [imprinter_materials.total_amount]
    " dat += "Chemical Volume: [linked_imprinter.reagents.total_volume]
    " @@ -1036,23 +1035,23 @@ won't update every console in existence) but it's more of a hassle to do. Also, else temp_materials += " [all_materials[M]/coeff] [CallMaterialName(M)]" if (check_materials) - dat += "[D.name][temp_materials]
    " + dat += "[D.name][temp_materials]
    " else dat += "[D.name][temp_materials]
    " dat += "
    " if(4.2) //Circuit Imprinter Material Storage Sub-menu - dat += "Main Menu" - dat += "Circuit Imprinter Menu" - dat += "Disposal All Chemicals in Storage
    " + dat += "Main Menu" + dat += "Circuit Imprinter Menu" + dat += "Disposal All Chemicals in Storage
    " dat += "

    Chemical Storage:



    " for(var/datum/reagent/R in linked_imprinter.reagents.reagent_list) dat += "[R.name]: [R.volume]" - dat += "Purge
    " + dat += "Purge
    " if(4.3) - dat += "Main Menu" - dat += "Circuit Imprinter Menu
    " + dat += "Main Menu" + dat += "Circuit Imprinter Menu
    " dat += "

    Material Storage:



    " if(!linked_imprinter) dat += "ERROR: Protolathe connection failed." @@ -1061,11 +1060,11 @@ won't update every console in existence) but it's more of a hassle to do. Also, var/datum/material/M = imprinter_materials.materials[mat_id] dat += "* [M.amount] of [M.name]: " if(M.amount >= MINERAL_MATERIAL_AMOUNT) - dat += "Eject " + dat += "Eject " if(M.amount >= MINERAL_MATERIAL_AMOUNT*5) - dat += "5x " + dat += "5x " if(M.amount >= MINERAL_MATERIAL_AMOUNT) - dat += "All" + dat += "All" dat += "
    " dat += "
    " @@ -1087,7 +1086,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, dat += "
    " line_length = 1 - dat += "" + dat += "" line_length++ dat += "
    [GLOB.TAGGERLOCATIONS[i]][GLOB.TAGGERLOCATIONS[i]]
    [C][C]
    " diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm index 89c0607060..12024c4265 100644 --- a/code/modules/research/research.dm +++ b/code/modules/research/research.dm @@ -134,6 +134,12 @@ research holder datum. /datum/research/proc/FindDesignByID(id) return known_designs[id] +/datum/research/proc/LowerTech(tech_id,value) + var/datum/tech/T = known_tech[tech_id] + T.level = max(initial(T.level),T.level - value) + known_designs.Cut() + RefreshResearch() + //Autolathe files /datum/research/autolathe/New() diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm index 98f5fef616..61f5a12a81 100644 --- a/code/modules/research/server.dm +++ b/code/modules/research/server.dm @@ -253,10 +253,10 @@ if(istype(S, /obj/machinery/r_n_d/server/centcom) && !badmin) continue dat += "[S.name] || " - dat += "Access Rights | " - dat += "Data Management" + dat += "Access Rights | " + dat += "Data Management" if(badmin) - dat += " | Server-to-Server Transfer" + dat += " | Server-to-Server Transfer" dat += "
    " if(1) //Access rights menu @@ -264,7 +264,7 @@ dat += "Consoles with Upload Access
    " for(var/obj/machinery/computer/rdconsole/C in consoles) var/turf/console_turf = get_turf(C) - dat += "* [console_turf.loc]" //FYI, these are all numeric ids, eventually. + dat += "* [console_turf.loc]" //FYI, these are all numeric ids, eventually. if(C.id in temp_server.id_with_upload) dat += " (Remove)
    " else @@ -272,12 +272,12 @@ dat += "Consoles with Download Access
    " for(var/obj/machinery/computer/rdconsole/C in consoles) var/turf/console_turf = get_turf(C) - dat += "* [console_turf.loc]" + dat += "* [console_turf.loc]" if(C.id in temp_server.id_with_download) dat += " (Remove)
    " else dat += " (Add)
    " - dat += "
    Main Menu" + dat += "
    Main Menu" if(2) //Data Management menu dat += "[temp_server.name] Data ManagementP

    " @@ -287,20 +287,20 @@ if(T.level <= 0) continue dat += "* [T.name] " - dat += "(Reset)
    " //FYI, these are all strings. + dat += "(Reset)
    " //FYI, these are all strings. dat += "Known Designs
    " for(var/v in temp_server.files.known_designs) var/datum/design/D = temp_server.files.known_designs[v] dat += "* [D.name] " - dat += "(Delete)
    " - dat += "
    Main Menu" + dat += "(Delete)
    " + dat += "
    Main Menu" if(3) //Server Data Transfer dat += "[temp_server.name] Server to Server Transfer

    " dat += "Send Data to what server?
    " for(var/obj/machinery/r_n_d/server/S in servers) - dat += "[S.name] (Transfer)
    " - dat += "
    Main Menu" + dat += "[S.name] (Transfer)
    " + dat += "
    Main Menu" user << browse("R&D Server Control
    [dat]", "window=server_control;size=575x400") onclose(user, "server_control") return diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index cca88a0dda..83957a7285 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -196,6 +196,7 @@ to_chat(SM, "All at once it makes sense: you know what you are and who you are! Self awareness is yours!") to_chat(SM, "You are grateful to be self aware and owe [user.real_name] a great debt. Serve [user.real_name], and assist [user.p_them()] in completing [user.p_their()] goals at any cost.") to_chat(user, "[SM] accepts [src] and suddenly becomes attentive and aware. It worked!") + SM.copy_known_languages_from(user, TRUE) qdel(src) else to_chat(user, "[SM] looks interested for a moment, but then looks back down. Maybe you should try again later.") diff --git a/code/modules/ruins/spaceruin_code/oldstation.dm b/code/modules/ruins/spaceruin_code/oldstation.dm index 2365c0c773..edea4fe0c1 100644 --- a/code/modules/ruins/spaceruin_code/oldstation.dm +++ b/code/modules/ruins/spaceruin_code/oldstation.dm @@ -39,7 +39,7 @@ /obj/item/paper/fluff/ruins/oldstation/protoinv name = "Laboratory Inventory" info = "*Inventory*

    (1) Prototype Hardsuit

    (1)Health Analyser

    (1)Prototype Energy Gun

    (1)Singularity Generation Disk

    DO NOT REMOVE WITHOUT \ - THE CAPTAIN AND RESEARCH DIRECTOR'S AUTHORISATION" + THE CAPTAIN AND RESEARCH DIRECTOR'S AUTHORISATION" /obj/item/paper/fluff/ruins/oldstation/report name = "Crew Reawakening Report" diff --git a/code/modules/ruins/spaceruin_code/whiteshipruin_box.dm b/code/modules/ruins/spaceruin_code/whiteshipruin_box.dm index 56b572b11a..b08d87233f 100644 --- a/code/modules/ruins/spaceruin_code/whiteshipruin_box.dm +++ b/code/modules/ruins/spaceruin_code/whiteshipruin_box.dm @@ -1,7 +1,11 @@ /////////// ruined whiteship +/obj/item/circuitboard/computer/white_ship/ruin + build_path = /obj/machinery/computer/shuttle/white_ship/ruin + /obj/machinery/computer/shuttle/white_ship/ruin shuttleId = "whiteship_ruin" + circuit = /obj/item/circuitboard/computer/white_ship/ruin /obj/machinery/computer/camera_advanced/shuttle_docker/whiteship/ruin shuttleId = "whiteship_ruin" diff --git a/code/modules/shuttle/arrivals.dm b/code/modules/shuttle/arrivals.dm index b42ee4e0e4..a862abf713 100644 --- a/code/modules/shuttle/arrivals.dm +++ b/code/modules/shuttle/arrivals.dm @@ -117,7 +117,7 @@ return FALSE /obj/docking_port/mobile/arrivals/proc/PersonCheck() - for(var/M in (GLOB.living_mob_list & GLOB.player_list)) + for(var/M in (GLOB.alive_mob_list & GLOB.player_list)) var/mob/living/L = M if((get_area(M) in areas) && L.stat != DEAD) return TRUE diff --git a/code/modules/shuttle/assault_pod.dm b/code/modules/shuttle/assault_pod.dm index 5b21d22d19..4b55a5b155 100644 --- a/code/modules/shuttle/assault_pod.dm +++ b/code/modules/shuttle/assault_pod.dm @@ -43,7 +43,7 @@ if(!T) return var/obj/docking_port/stationary/landing_zone = new /obj/docking_port/stationary(T) - landing_zone.id = "assault_pod(\ref[src])" + landing_zone.id = "assault_pod([REF(src)])" landing_zone.name = "Landing Zone" landing_zone.dwidth = dwidth landing_zone.dheight = dheight diff --git a/code/modules/shuttle/computer.dm b/code/modules/shuttle/computer.dm index 47ceaef99e..3c40996029 100644 --- a/code/modules/shuttle/computer.dm +++ b/code/modules/shuttle/computer.dm @@ -13,8 +13,7 @@ /obj/machinery/computer/shuttle/attack_hand(mob/user) if(..(user)) return - src.add_fingerprint(usr) - + add_fingerprint(usr) var/list/options = params2list(possible_destinations) var/obj/docking_port/mobile/M = SSshuttle.getShuttle(shuttleId) var/dat = "Status: [M ? M.getStatusText() : "*Missing*"]

    " @@ -26,13 +25,13 @@ if(!M.check_dock(S)) continue destination_found = 1 - dat += "Send to [S.name]
    " + dat += "Send to [S.name]
    " if(!destination_found) dat += "Shuttle Locked
    " if(admin_controlled) dat += "Authorized personnel only
    " - dat += "Request Authorization
    " - dat += "Close" + dat += "Request Authorization
    " + dat += "Close" var/datum/browser/popup = new(user, "computer", M ? M.name : "shuttle", 300, 200) popup.set_content("
    [dat]
    ") diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index c3549abc4d..d573f9ce13 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -144,8 +144,8 @@ var/time = TIME_LEFT message_admins("[key_name_admin(user.client)] \ - (?) \ - (FLW) \ + (?) \ + (FLW) \ has emagged the emergency shuttle [time] seconds before launch.", 0, 1) log_game("[key_name(user)] has emagged the emergency shuttle in \ [COORD(src)] [time] seconds before launch.") diff --git a/code/modules/shuttle/navigation_computer.dm b/code/modules/shuttle/navigation_computer.dm index 6af111506d..7f99829843 100644 --- a/code/modules/shuttle/navigation_computer.dm +++ b/code/modules/shuttle/navigation_computer.dm @@ -64,7 +64,7 @@ var/mob/camera/aiEye/remote/shuttle_docker/the_eye = eyeobj user.client.images += the_eye.placement_images user.client.images += the_eye.placed_images - user.client.view = view_range + user.client.change_view(view_range) /obj/machinery/computer/camera_advanced/shuttle_docker/remove_eye_control(mob/living/user) ..() @@ -72,7 +72,7 @@ var/mob/camera/aiEye/remote/shuttle_docker/the_eye = eyeobj user.client.images -= the_eye.placement_images user.client.images -= the_eye.placed_images - user.client.view = world.view + user.client.change_view(world.view) /obj/machinery/computer/camera_advanced/shuttle_docker/proc/placeLandingSpot() if(!checkLandingSpot()) diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index 70fa37d207..a67434ea5f 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -44,40 +44,46 @@ All ShuttleMove procs go here return move_mode // Called on the old turf to move the turf data -/turf/proc/onShuttleMove(turf/newT, turf_type, baseturf_type, rotation, list/movement_force, move_dir) +/turf/proc/onShuttleMove(turf/newT, list/movement_force, move_dir) if(newT == src) // In case of in place shuttle rotation shenanigans. return - //Destination turf changes var/destination_turf_type = newT.type - copyTurf(newT) + newT = copyTurf(newT) newT.baseturf = destination_turf_type - + //Air stuff + newT.blocks_air = TRUE + newT.air_update_turf(TRUE) + blocks_air = TRUE + air_update_turf(TRUE) if(isopenturf(newT)) var/turf/open/new_open = newT new_open.copy_air_with_tile(src) - //Source turf changes - ChangeTurf(turf_type, baseturf_type, FALSE, TRUE) - - if(rotation) - newT.shuttleRotate(rotation) //see shuttle_rotate.dm - return TRUE // Called on the new turf after everything has been moved -/turf/proc/afterShuttleMove(turf/oldT) +/turf/proc/afterShuttleMove(turf/oldT, turf_type, baseturf_type, rotation) + //Dealing with the turf we left behind + oldT.TransferComponents(src) + oldT.ChangeTurf(turf_type, baseturf_type, FALSE, TRUE) + + // Rotate and let the air move again + if(rotation) + shuttleRotate(rotation) //see shuttle_rotate.dm + return TRUE ///////////////////////////////////////////////////////////////////////////////////// // Called on every atom in shuttle turf contents before anything has been moved // returns the new move_mode (based on the old) +// WARNING: Do not leave turf contents in beforeShuttleMove or dock() will runtime /atom/movable/proc/beforeShuttleMove(turf/newT, rotation, move_mode) return move_mode // Called on atoms to move the atom to the new location -/atom/movable/proc/onShuttleMove(turf/newT, turf/oldT, rotation, list/movement_force, move_dir, obj/docking_port/stationary/old_dock, obj/docking_port/mobile/moving_dock) +/atom/movable/proc/onShuttleMove(turf/newT, turf/oldT, list/movement_force, move_dir, obj/docking_port/stationary/old_dock, obj/docking_port/mobile/moving_dock) if(newT == oldT) // In case of in place shuttle rotation shenanigans. return @@ -85,18 +91,18 @@ All ShuttleMove procs go here if(loc != oldT) return - if(rotation) - shuttleRotate(rotation) //see shuttle_rotate.dm loc = newT return TRUE // Called on atoms after everything has been moved -/atom/movable/proc/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) +/atom/movable/proc/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) if(light) update_light() + if(rotation) + shuttleRotate(rotation) update_parallax_contents() - + return TRUE ///////////////////////////////////////////////////////////////////////////////////// @@ -127,22 +133,12 @@ All ShuttleMove procs go here return TRUE // Called on areas after everything has been moved -/area/proc/afterShuttleMove() +/area/proc/afterShuttleMove(new_parallax_dir) + parallax_movedir = new_parallax_dir return TRUE /************************************Turf move procs************************************/ -/turf/open/afterShuttleMove(turf/oldT) //Recalculates SSair stuff for turfs on both sides - . = ..() - SSair.remove_from_active(src) - SSair.remove_from_active(oldT) - - src.CalculateAdjacentTurfs() - oldT.CalculateAdjacentTurfs() - - SSair.add_to_active(src, TRUE) - SSair.add_to_active(oldT, TRUE) - /************************************Area move procs************************************/ /************************************Machinery move procs************************************/ @@ -155,7 +151,7 @@ All ShuttleMove procs go here A.air_tight = TRUE INVOKE_ASYNC(A, /obj/machinery/door/.proc/close) -/obj/machinery/door/airlock/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) +/obj/machinery/door/airlock/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() shuttledocked = 1 for(var/obj/machinery/door/airlock/A in range(1, src)) @@ -167,11 +163,11 @@ All ShuttleMove procs go here . |= MOVE_CONTENTS GLOB.cameranet.removeCamera(src) -/obj/machinery/camera/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) +/obj/machinery/camera/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() GLOB.cameranet.addCamera(src) -/obj/machinery/telecomms/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) +/obj/machinery/telecomms/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() listening_level = z // Update listening Z, just in case you have telecomm relay on a shuttle @@ -179,12 +175,12 @@ All ShuttleMove procs go here . = ..() recharging_turf = get_step(loc, dir) -/obj/machinery/atmospherics/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) +/obj/machinery/atmospherics/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() if(pipe_vision_img) pipe_vision_img.loc = loc -/obj/machinery/computer/auxillary_base/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) +/obj/machinery/computer/auxillary_base/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() if(z == ZLEVEL_MINING) //Avoids double logging and landing on other Z-levels due to badminnery SSblackbox.add_details("colonies_dropped", "[x]|[y]|[z]") //Number of times a base has been dropped! @@ -194,7 +190,7 @@ All ShuttleMove procs go here on = FALSE update_list() -/obj/machinery/gravity_generator/main/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) +/obj/machinery/gravity_generator/main/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() if(charge_count != 0 && charging_state != POWER_UP) on = TRUE @@ -205,7 +201,7 @@ All ShuttleMove procs go here if(. & MOVE_AREA) . |= MOVE_CONTENTS -/obj/machinery/atmospherics/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) +/obj/machinery/atmospherics/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() var/missing_nodes = FALSE for(DEVICE_TYPE_LOOP) @@ -234,7 +230,7 @@ All ShuttleMove procs go here // atmosinit() calls update_icon(), so we don't need to call it update_icon() -/obj/machinery/atmospherics/pipe/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) +/obj/machinery/atmospherics/pipe/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() var/turf/T = loc hide(T.intact) @@ -244,7 +240,7 @@ All ShuttleMove procs go here GLOB.navbeacons["[z]"] -= src GLOB.deliverybeacons -= src -/obj/machinery/navbeacon/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) +/obj/machinery/navbeacon/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() var/turf/T = loc hide(T.intact) @@ -256,7 +252,7 @@ All ShuttleMove procs go here GLOB.deliverybeacons += src GLOB.deliverybeacontags += location -/obj/machinery/power/terminal/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) +/obj/machinery/power/terminal/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() var/turf/T = src.loc if(level==1) @@ -264,19 +260,19 @@ All ShuttleMove procs go here /************************************Item move procs************************************/ -/obj/item/storage/pod/afterShuttleMove(turf/newT, turf/oldT, rotation, list/movement_force, move_dir, old_dock) +/obj/item/storage/pod/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() unlocked = TRUE // If the pod was launched, the storage will always open. /************************************Mob move procs************************************/ -/mob/onShuttleMove(turf/newT, turf/oldT, rotation, list/movement_force, move_dir, obj/docking_port/stationary/old_dock, obj/docking_port/mobile/moving_dock) +/mob/onShuttleMove(turf/newT, turf/oldT, list/movement_force, move_dir, obj/docking_port/stationary/old_dock, obj/docking_port/mobile/moving_dock) if(!move_on_shuttle) return . = ..() -/mob/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) +/mob/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() if(client && movement_force) var/shake_force = max(movement_force["THROW"], movement_force["KNOCKDOWN"]) @@ -284,7 +280,7 @@ All ShuttleMove procs go here shake_force *= 0.25 shake_camera(src, shake_force, 1) -/mob/living/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) +/mob/living/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() if(movement_force && !buckled) if(movement_force["THROW"]) @@ -296,7 +292,7 @@ All ShuttleMove procs go here if(movement_force["KNOCKDOWN"]) Knockdown(movement_force["KNOCKDOWN"]) -/mob/living/simple_animal/hostile/megafauna/onShuttleMove(turf/newT, turf/oldT, rotation, list/movement_force, move_dir, obj/docking_port/stationary/old_dock, obj/docking_port/mobile/moving_dock) +/mob/living/simple_animal/hostile/megafauna/onShuttleMove(turf/newT, turf/oldT, list/movement_force, move_dir, obj/docking_port/stationary/old_dock, obj/docking_port/mobile/moving_dock) . = ..() message_admins("Megafauna [src] [ADMIN_FLW(src)] moved via shuttle from [ADMIN_COORDJMP(oldT)] to [ADMIN_COORDJMP(loc)]") @@ -312,16 +308,16 @@ All ShuttleMove procs go here if(. & MOVE_AREA) . |= MOVE_CONTENTS -/obj/structure/disposalpipe/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) +/obj/structure/disposalpipe/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() update() -/obj/structure/cable/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) +/obj/structure/cable/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() var/turf/T = loc if(level==1) hide(T.intact) - + /obj/structure/shuttle/beforeShuttleMove(turf/newT, rotation, move_mode) . = ..() if(. & MOVE_AREA) @@ -330,20 +326,20 @@ All ShuttleMove procs go here /************************************Misc move procs************************************/ -/atom/movable/lighting_object/onShuttleMove(turf/newT, turf/oldT, rotation, list/movement_force, move_dir, obj/docking_port/stationary/old_dock, obj/docking_port/mobile/moving_dock) +/atom/movable/lighting_object/onShuttleMove() return FALSE -/atom/movable/light/onShuttleMove(turf/newT, turf/oldT, rotation, list/movement_force, move_dir, obj/docking_port/stationary/old_dock, obj/docking_port/mobile/moving_dock) +/atom/movable/light/onShuttleMove() return FALSE -/obj/docking_port/stationary/onShuttleMove(turf/newT, turf/oldT, rotation, list/movement_force, move_dir, obj/docking_port/stationary/old_dock, obj/docking_port/mobile/moving_dock) - if(!moving_dock.can_move_docking_ports || (old_dock == src)) +/obj/docking_port/stationary/onShuttleMove(turf/newT, turf/oldT, list/movement_force, move_dir, obj/docking_port/stationary/old_dock, obj/docking_port/mobile/moving_dock) + if(!moving_dock.can_move_docking_ports || old_dock == src) return FALSE . = ..() -/obj/docking_port/stationary/public_mining_dock/onShuttleMove(turf/newT, turf/oldT, rotation, list/movement_force, move_dir, obj/docking_port/stationary/old_dock, obj/docking_port/mobile/moving_dock) +/obj/docking_port/stationary/public_mining_dock/onShuttleMove(turf/newT, turf/oldT, list/movement_force, move_dir, obj/docking_port/stationary/old_dock, obj/docking_port/mobile/moving_dock) id = "mining_public" //It will not move with the base, but will become enabled as a docking point. -/obj/effect/abstract/proximity_checker/onShuttleMove(turf/newT, turf/oldT, rotation, list/movement_force, move_dir, obj/docking_port/stationary/old_dock, obj/docking_port/mobile/moving_dock) +/obj/effect/abstract/proximity_checker/onShuttleMove(turf/newT, turf/oldT, list/movement_force, move_dir, obj/docking_port/stationary/old_dock, obj/docking_port/mobile/moving_dock) //timer so it only happens once addtimer(CALLBACK(monitor, /datum/proximity_monitor/proc/SetRange, monitor.current_range, TRUE), 0, TIMER_UNIQUE) diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 0f5567fd90..642037bdf1 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -235,7 +235,7 @@ /obj/docking_port/stationary/transit/Destroy(force=FALSE) if(force) if(get_docked()) - to_chat("A transit dock was destroyed while something was docked to it.") + log_world("A transit dock was destroyed while something was docked to it.") SSshuttle.transit -= src if(owner) owner = null @@ -416,7 +416,8 @@ mode = SHUTTLE_RECALL /obj/docking_port/mobile/proc/enterTransit() - if(SSshuttle.lockdown && (z in GLOB.station_z_levels)) //emp went off, no escape + if((SSshuttle.lockdown && (z in GLOB.station_z_levels)) || !canMove()) //emp went off, no escape + mode = SHUTTLE_IDLE return previous = null // if(!destination) @@ -513,9 +514,17 @@ return DOCKING_IMMOBILIZED var/obj/docking_port/stationary/old_dock = get_docked() - var/underlying_turf_type = /turf/open/space //The turf that gets placed under where the shuttle moved from - var/underlying_baseturf_type = /turf/open/space //The baseturf that the gets assigned to the turf_type above - var/underlying_area_type = /area/space //The area that gets placed under where the shuttle moved from + + // The turf that gets placed under where the shuttle moved from + var/underlying_turf_type = /turf/open/space + + // The baseturf that the gets assigned to the turf_type above + var/underlying_baseturf_type = /turf/open/space + + // The area that gets placed under where the shuttle moved from + var/underlying_area_type = /area/space + + // The baseturf cache is a typecache of what counts as a baseturf to be left behind var/list/baseturf_cache if(old_dock) //Dock overwrites if(old_dock.turf_type) @@ -527,7 +536,6 @@ if(old_dock.baseturf_cache) baseturf_cache = old_dock.baseturf_cache if(!baseturf_cache) - //Don't want to call this needlessly baseturf_cache = typecacheof(underlying_baseturf_type) /************************************************************************************************************** @@ -540,6 +548,8 @@ var/list/new_turfs = return_ordered_turfs(new_dock.x, new_dock.y, new_dock.z, new_dock.dir) /**************************************************************************************************************/ + // The underlying old area is the area assumed to be under the shuttle's starting location + // If it no longer/has never existed it will be created var/area/underlying_old_area = locate(underlying_area_type) in GLOB.sortedAreas if(!underlying_old_area) underlying_old_area = new underlying_area_type(null) @@ -562,11 +572,11 @@ CHECK_TICK /****************************************All beforeShuttleMove procs*****************************************/ - var/index = 0 - for(var/place in old_turfs) - index++ - var/turf/oldT = place - var/turf/newT = new_turfs[index] + + for(var/i in 1 to old_turfs.len) + CHECK_TICK + var/turf/oldT = old_turfs[i] + var/turf/newT = new_turfs[i] if(!newT) return DOCKING_NULL_DESTINATION if(!oldT) @@ -575,8 +585,9 @@ var/area/old_area = oldT.loc var/move_mode = old_area.beforeShuttleMove(shuttle_areas) //areas - for(var/i in 1 to oldT.contents.len) - var/atom/movable/moving_atom = oldT.contents[i] + var/list/old_contents = oldT.contents + for(var/k in 1 to old_contents.len) + var/atom/movable/moving_atom = old_contents[k] if(moving_atom.loc != oldT) //fix for multi-tile objects continue move_mode = moving_atom.beforeShuttleMove(newT, rotation, move_mode) //atoms @@ -587,60 +598,68 @@ if(move_mode & MOVE_AREA) areas_to_move[old_area] = TRUE - old_turfs[place] = move_mode - CHECK_TICK + old_turfs[oldT] = move_mode /*******************************************All onShuttleMove procs******************************************/ - index = 0 - for(var/place in old_turfs) - index++ - var/turf/oldT = place - var/turf/newT = new_turfs[index] - var/move_mode = old_turfs[place] + for(var/i in 1 to old_turfs.len) + var/turf/oldT = old_turfs[i] + var/turf/newT = new_turfs[i] + var/move_mode = old_turfs[oldT] if(move_mode & MOVE_CONTENTS) - for(var/thing in oldT) - var/atom/movable/moving_atom = thing + for(var/k in oldT) + var/atom/movable/moving_atom = k if(moving_atom.loc != oldT) //fix for multi-tile objects continue - moving_atom.onShuttleMove(newT, oldT, rotation, movement_force, movement_direction, old_dock, src)//atoms + moving_atom.onShuttleMove(newT, oldT, movement_force, movement_direction, old_dock, src) //atoms moved_atoms += moving_atom + if(move_mode & MOVE_TURF) - oldT.onShuttleMove(newT, underlying_turf_type, underlying_baseturf_type, rotation, movement_force, movement_direction)//turfs + oldT.onShuttleMove(newT, movement_force, movement_direction) //turfs + if(move_mode & MOVE_AREA) var/area/shuttle_area = oldT.loc shuttle_area.onShuttleMove(oldT, newT, underlying_old_area) //areas /******************************************All afterShuttleMove procs****************************************/ - index = 0 - for(var/thing in old_turfs) - index++ - var/turf/oldT = thing - var/turf/newT = new_turfs[index] - newT.afterShuttleMove(oldT) //turfs - CHECK_TICK - - for(var/i in 1 to moved_atoms.len) - var/atom/movable/moved_object = moved_atoms[i] - moved_object.afterShuttleMove(movement_force, dir, preferred_direction, movement_direction) //atoms - CHECK_TICK - underlying_old_area.afterShuttleMove() - for(var/thing in areas_to_move) - var/area/internal_area = thing - internal_area.afterShuttleMove() //areas - CHECK_TICK - // Parallax handling + // This needs to be done before the atom after move var/new_parallax_dir = FALSE if(istype(new_dock, /obj/docking_port/stationary/transit)) new_parallax_dir = preferred_direction - for(var/i in shuttle_areas) - var/area/place = i - place.parallax_movedir = new_parallax_dir + for(var/i in 1 to areas_to_move.len) CHECK_TICK + var/area/internal_area = areas_to_move[i] + internal_area.afterShuttleMove(new_parallax_dir) //areas + + for(var/i in 1 to old_turfs.len) + CHECK_TICK + if(!(old_turfs[old_turfs[i]] & MOVE_TURF)) + continue + var/turf/oldT = old_turfs[i] + var/turf/newT = new_turfs[i] + newT.afterShuttleMove(oldT, underlying_turf_type, underlying_baseturf_type, rotation) //turfs + + for(var/i in 1 to moved_atoms.len) + CHECK_TICK + var/atom/movable/moved_object = moved_atoms[i] + moved_object.afterShuttleMove(movement_force, dir, preferred_direction, movement_direction, rotation)//atoms + + for(var/i in 1 to old_turfs.len) + CHECK_TICK + // Objects can block air so either turf or content changes means an air update is needed + if(!(old_turfs[old_turfs[i]] & MOVE_CONTENTS | MOVE_TURF)) + continue + var/turf/oldT = old_turfs[i] + var/turf/newT = new_turfs[i] + oldT.blocks_air = initial(oldT.blocks_air) + oldT.air_update_turf(TRUE) + newT.blocks_air = initial(newT.blocks_air) + newT.air_update_turf(TRUE) + check_poddoors() new_dock.last_dock_time = world.time setDir(new_dock.dir) diff --git a/code/modules/shuttle/shuttle_rotate.dm b/code/modules/shuttle/shuttle_rotate.dm index d7e5f5eee7..d322f2cd32 100644 --- a/code/modules/shuttle/shuttle_rotate.dm +++ b/code/modules/shuttle/shuttle_rotate.dm @@ -6,50 +6,55 @@ If ever any of these procs are useful for non-shuttles, rename it to proc/rotate /************************************Base proc************************************/ -/atom/proc/shuttleRotate(rotation) - //rotate our direction - setDir(angle2dir(rotation+dir2angle(dir))) +/atom/proc/shuttleRotate(rotation, params=ROTATE_DIR|ROTATE_SMOOTH|ROTATE_OFFSET) + if(params & ROTATE_DIR) + //rotate our direction + setDir(angle2dir(rotation+dir2angle(dir))) //resmooth if need be. - if(smooth) + if(smooth && (params & ROTATE_SMOOTH)) queue_smooth(src) //rotate the pixel offsets too. - if (pixel_x || pixel_y) - if (rotation < 0) + if((pixel_x || pixel_y) && (params & ROTATE_OFFSET)) + if(rotation < 0) rotation += 360 - for (var/turntimes=rotation/90;turntimes>0;turntimes--) + for(var/turntimes=rotation/90;turntimes>0;turntimes--) var/oldPX = pixel_x var/oldPY = pixel_y pixel_x = oldPY pixel_y = (oldPX*(-1)) + SendSignal(COMSIG_ATOM_ROTATE, rotation, params) + /************************************Turf rotate procs************************************/ -/turf/closed/mineral/shuttleRotate(rotation) - setDir(angle2dir(rotation+dir2angle(dir))) - queue_smooth(src) +/turf/closed/mineral/shuttleRotate(rotation, params) + params &= ~ROTATE_OFFSET + return ..() /************************************Mob rotate procs************************************/ //override to avoid rotating pixel_xy on mobs -/mob/shuttleRotate(rotation) +/mob/shuttleRotate(rotation, params) + params = NONE + . = ..() if(!buckled) setDir(angle2dir(rotation+dir2angle(dir))) -/mob/dead/observer/shuttleRotate(rotation) +/mob/dead/observer/shuttleRotate(rotation, params) . = ..() update_icon() /************************************Structure rotate procs************************************/ -/obj/structure/door_assembly/door_assembly_pod/shuttleRotate(rotation) +/obj/structure/door_assembly/door_assembly_pod/shuttleRotate(rotation, params) . = ..() expected_dir = angle2dir(rotation+dir2angle(dir)) -/obj/structure/cable/shuttleRotate(rotation) - //..() is not called because wires are not supposed to have a non-default direction - //Rotate connections +/obj/structure/cable/shuttleRotate(rotation, params) + params &= ~ROTATE_DIR + . = ..() if(d1) d1 = angle2dir(rotation+dir2angle(d1)) if(d2) @@ -63,7 +68,7 @@ If ever any of these procs are useful for non-shuttles, rename it to proc/rotate update_icon() //Fixes dpdir on shuttle rotation -/obj/structure/disposalpipe/shuttleRotate(rotation) +/obj/structure/disposalpipe/shuttleRotate(rotation, params) . = ..() var/new_dpdir = 0 for(var/D in GLOB.cardinals) @@ -71,16 +76,17 @@ If ever any of these procs are useful for non-shuttles, rename it to proc/rotate new_dpdir = new_dpdir | angle2dir(rotation+dir2angle(D)) dpdir = new_dpdir -/obj/structure/table/wood/bar/shuttleRotate(rotation) +/obj/structure/table/wood/bar/shuttleRotate(rotation, params) . = ..() boot_dir = angle2dir(rotation + dir2angle(boot_dir)) -/obj/structure/alien/weeds/shuttleRotate(rotation) - return +/obj/structure/alien/weeds/shuttleRotate(rotation, params) + params &= ~ROTATE_OFFSET + return ..() /************************************Machine rotate procs************************************/ -/obj/machinery/atmospherics/shuttleRotate(rotation) +/obj/machinery/atmospherics/shuttleRotate(rotation, params) var/list/real_node_connect = getNodeConnects() for(DEVICE_TYPE_LOOP) real_node_connect[I] = angle2dir(rotation+dir2angle(real_node_connect[I])) @@ -95,13 +101,15 @@ If ever any of these procs are useful for non-shuttles, rename it to proc/rotate nodes[new_pos] = nodes_copy[I] //prevents shuttles attempting to rotate this since it messes up sprites -/obj/machinery/gateway/shuttleRotate() - return +/obj/machinery/gateway/shuttleRotate(rotation, params) + params = NONE + return ..() -/obj/machinery/door/airlock/survival_pod/shuttleRotate(rotation) +/obj/machinery/door/airlock/survival_pod/shuttleRotate(rotation, params) expected_dir = angle2dir(rotation+dir2angle(dir)) return ..() //prevents shuttles attempting to rotate this since it messes up sprites -/obj/machinery/gravity_generator/shuttleRotate() - return \ No newline at end of file +/obj/machinery/gravity_generator/shuttleRotate(rotation, params) + params = NONE + return ..() \ No newline at end of file diff --git a/code/modules/spells/spell_types/area_teleport.dm b/code/modules/spells/spell_types/area_teleport.dm index 7381cdf48f..23fdc1ee54 100644 --- a/code/modules/spells/spell_types/area_teleport.dm +++ b/code/modules/spells/spell_types/area_teleport.dm @@ -66,7 +66,7 @@ tempL.Remove(attempt) if(!success) - target.loc = pick(L) + target.forceMove(L) playsound(get_turf(user), sound2, 50,1) return diff --git a/code/modules/spells/spell_types/devil.dm b/code/modules/spells/spell_types/devil.dm index b1867413a3..733d0a3270 100644 --- a/code/modules/spells/spell_types/devil.dm +++ b/code/modules/spells/spell_types/devil.dm @@ -142,31 +142,23 @@ /mob/living/proc/infernalphaseout() dust_animation() spawn_dust() - src.visible_message("[src] disappears in a flashfire!") + visible_message("[src] disappears in a flashfire!") playsound(get_turf(src), 'sound/magic/enter_blood.ogg', 100, 1, -1) var/obj/effect/dummy/slaughter/holder = new /obj/effect/dummy/slaughter(loc) - src.ExtinguishMob() - if(buckled) - buckled.unbuckle_mob(src,force=1) - if(has_buckled_mobs()) - unbuckle_all_mobs(force=1) - if(pulledby) - pulledby.stop_pulling() - if(pulling) - stop_pulling() - src.loc = holder - src.holder = holder - src.notransform = 0 + ExtinguishMob() + forceMove(holder) + holder = holder + notransform = 0 fakefireextinguish() /mob/living/proc/infernalphasein() - if(src.notransform) + if(notransform) to_chat(src, "You're too busy to jaunt in.") - return 0 + return FALSE fakefire() - src.loc = get_turf(src) - src.client.eye = src - src.visible_message("[src] appears in a fiery blaze!") + forceMove(drop_location()) + client.eye = src + visible_message("[src] appears in a fiery blaze!") playsound(get_turf(src), 'sound/magic/exit_blood.ogg', 100, 1, -1) addtimer(CALLBACK(src, .proc/fakefireextinguish), 15, TIMER_UNIQUE) diff --git a/code/modules/spells/spell_types/dumbfire.dm b/code/modules/spells/spell_types/dumbfire.dm index a028ec36bd..bb6e4480f5 100644 --- a/code/modules/spells/spell_types/dumbfire.dm +++ b/code/modules/spells/spell_types/dumbfire.dm @@ -57,14 +57,14 @@ var/current_loc = user.loc - projectile.loc = current_loc + projectile.forceMove(current_loc) for(var/i = 0,i < proj_lifespan,i++) if(!projectile) break if(proj_insubstantial) - projectile.loc = get_step(projectile, projectile.dir) + projectile.forceMove(get_step(projectile, projectile.dir)) else step(projectile, projectile.dir) diff --git a/code/modules/spells/spell_types/ethereal_jaunt.dm b/code/modules/spells/spell_types/ethereal_jaunt.dm index 2b4974ec5e..0754ddb230 100644 --- a/code/modules/spells/spell_types/ethereal_jaunt.dm +++ b/code/modules/spells/spell_types/ethereal_jaunt.dm @@ -28,14 +28,7 @@ var/obj/effect/dummy/spell_jaunt/holder = new /obj/effect/dummy/spell_jaunt(mobloc) new jaunt_out_type(mobloc, target.dir) target.ExtinguishMob() - if(target.buckled) - target.buckled.unbuckle_mob(target,force=1) - if(target.pulledby) - target.pulledby.stop_pulling() - target.stop_pulling() - if(target.has_buckled_mobs()) - target.unbuckle_all_mobs(force=1) - target.loc = holder + target.forceMove(holder) target.reset_perspective(holder) target.notransform=0 //mob is safely inside holder now, no need for protection. jaunt_steam(mobloc) @@ -92,7 +85,7 @@ var/turf/newLoc = get_step(src,direction) setDir(direction) if(!(newLoc.flags_1 & NOJAUNT_1)) - loc = newLoc + forceMove(newLoc) else to_chat(user, "Some strange aura is blocking the way!") movedelay = world.time + movespeed diff --git a/code/modules/spells/spell_types/lichdom.dm b/code/modules/spells/spell_types/lichdom.dm index f7e555ab44..d991a3df9c 100644 --- a/code/modules/spells/spell_types/lichdom.dm +++ b/code/modules/spells/spell_types/lichdom.dm @@ -133,7 +133,7 @@ mind.transfer_to(lich) mind.grab_ghost(force=TRUE) lich.hardset_dna(null,null,lich.real_name,null, new /datum/species/skeleton) - to_chat(lich, "Your bones clatter and shutter as you are pulled back into this world!") + to_chat(lich, "Your bones clatter and shudder as you are pulled back into this world!") var/turf/body_turf = get_turf(old_body) lich.Knockdown(200 + 200*resurrections) resurrections++ diff --git a/code/modules/spells/spell_types/projectile.dm b/code/modules/spells/spell_types/projectile.dm index 1a682639eb..19e44ffa83 100644 --- a/code/modules/spells/spell_types/projectile.dm +++ b/code/modules/spells/spell_types/projectile.dm @@ -47,7 +47,7 @@ var/current_loc = user.loc - projectile.loc = current_loc + projectile.forceMove(current_loc) for(var/i = 0,i < proj_lifespan,i++) if(!projectile) @@ -56,12 +56,12 @@ if(proj_homing) if(proj_insubstantial) projectile.setDir(get_dir(projectile,target)) - projectile.loc = get_step_to(projectile,target) + projectile.forceMove(get_step_to(projectile,target)) else step_to(projectile,target) else if(proj_insubstantial) - projectile.loc = get_step(projectile,dir) + projectile.forceMove(get_step(projectile,dir)) else step(projectile,dir) diff --git a/code/modules/spells/spell_types/shapeshift.dm b/code/modules/spells/spell_types/shapeshift.dm index 853aab8b9b..4ee1b678f0 100644 --- a/code/modules/spells/spell_types/shapeshift.dm +++ b/code/modules/spells/spell_types/shapeshift.dm @@ -11,9 +11,10 @@ invocation_type = "shout" action_icon_state = "shapeshift" + var/revert_on_death = TRUE + var/die_with_shapeshifted_form = TRUE + var/shapeshift_type - var/list/current_shapes = list() - var/list/current_casters = list() var/list/possible_shapes = list(/mob/living/simple_animal/mouse,\ /mob/living/simple_animal/pet/dog/corgi,\ /mob/living/simple_animal/hostile/carp/ranged/chaos,\ @@ -40,46 +41,33 @@ if(!shapeshift_type) //If you aren't gonna decide I am! shapeshift_type = pick(animal_list) shapeshift_type = animal_list[shapeshift_type] - if(M in current_shapes) + + var/obj/shapeshift_holder/S = locate() in M + if(S) Restore(M) else Shapeshift(M) + /obj/effect/proc_holder/spell/targeted/shapeshift/proc/Shapeshift(mob/living/caster) - for(var/mob/living/M in caster) - if(M.status_flags & GODMODE) - to_chat(caster, "You're already shapeshifted!") - return + var/obj/shapeshift_holder/H = locate() in caster + if(H) + to_chat(caster, "You're already shapeshifted!") + return var/mob/living/shape = new shapeshift_type(caster.loc) - caster.loc = shape - caster.status_flags |= GODMODE - - current_shapes |= shape - current_casters |= caster + H = new(shape,src,caster) clothes_req = 0 human_req = 0 - caster.mind.transfer_to(shape) - /obj/effect/proc_holder/spell/targeted/shapeshift/proc/Restore(mob/living/shape) - var/mob/living/caster - for(var/mob/living/M in shape) - if(M in current_casters) - caster = M - break - if(!caster) - return - caster.loc = shape.loc - caster.status_flags &= ~GODMODE + var/obj/shapeshift_holder/H = locate() in shape + if(!H) + return + H.restore() clothes_req = initial(clothes_req) human_req = initial(human_req) - current_casters.Remove(caster) - current_shapes.Remove(shape) - - shape.mind.transfer_to(caster) - qdel(shape) //Gib it maybe ? /obj/effect/proc_holder/spell/targeted/shapeshift/dragon name = "Dragon Form" @@ -87,6 +75,85 @@ invocation = "RAAAAAAAAWR!" shapeshift_type = /mob/living/simple_animal/hostile/megafauna/dragon/lesser - list/current_shapes = list(/mob/living/simple_animal/hostile/megafauna/dragon/lesser) - list/current_casters = list() - list/possible_shapes = list(/mob/living/simple_animal/hostile/megafauna/dragon/lesser) + + +/obj/shapeshift_holder + name = "Shapeshift holder" + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ON_FIRE | UNACIDABLE | ACID_PROOF + var/mob/living/stored + var/mob/living/shape + var/restoring = FALSE + var/datum/soullink/shapeshift/slink + var/obj/effect/proc_holder/spell/targeted/shapeshift/source + +/obj/shapeshift_holder/Initialize(mapload,obj/effect/proc_holder/spell/targeted/shapeshift/source,mob/living/caster) + . = ..() + src.source = source + shape = loc + if(!istype(shape)) + CRASH("shapeshift holder created outside mob/living") + stored = caster + if(stored.mind) + stored.mind.transfer_to(shape) + stored.forceMove(src) + stored.notransform = TRUE + slink = soullink(/datum/soullink/shapeshift, stored , shape) + slink.source = src + +/obj/shapeshift_holder/Destroy() + if(!restoring) + restore() + stored = null + shape = null + . = ..() + +/obj/shapeshift_holder/Moved() + . = ..() + if(!restoring || QDELETED(src)) + restore() + +/obj/shapeshift_holder/handle_atom_del(atom/A) + if(A == stored && !restoring) + restore() + +/obj/shapeshift_holder/Exited(atom/movable/AM) + if(AM == stored && !restoring) + restore() + +/obj/shapeshift_holder/proc/casterDeath() + //Something kills the stored caster through direct damage. + if(source.revert_on_death) + restore(death=TRUE) + else + shape.death() + +/obj/shapeshift_holder/proc/shapeDeath() + //Shape dies. + if(source.die_with_shapeshifted_form) + if(source.revert_on_death) + restore(death=TRUE) + else + restore() + +/obj/shapeshift_holder/proc/restore(death=FALSE) + restoring = TRUE + qdel(slink) + stored.forceMove(get_turf(src)) + stored.notransform = FALSE + if(shape.mind) + shape.mind.transfer_to(stored) + if(death) + stored.death() + qdel(shape) + qdel(src) + +/datum/soullink/shapeshift + var/obj/shapeshift_holder/source + +/datum/soullink/shapeshift/ownerDies(gibbed, mob/living/owner) + if(source) + source.casterDeath(gibbed) + +/datum/soullink/shapeshift/sharerDies(gibbed, mob/living/sharer) + if(source) + source.shapeDeath(gibbed) diff --git a/code/modules/spells/spell_types/summonitem.dm b/code/modules/spells/spell_types/summonitem.dm index 0f956b3dc9..7f5fc337b1 100644 --- a/code/modules/spells/spell_types/summonitem.dm +++ b/code/modules/spells/spell_types/summonitem.dm @@ -66,7 +66,7 @@ if(issilicon(M)) //Items in silicons warp the whole silicon M.loc.visible_message("[M] suddenly disappears!") - M.loc = L.loc + M.forceMove(L.loc) M.loc.visible_message("[M] suddenly appears!") item_to_retrieve = null break @@ -101,7 +101,7 @@ if(item_to_retrieve.loc) item_to_retrieve.loc.visible_message("The [item_to_retrieve.name] suddenly disappears!") if(!L.put_in_hands(item_to_retrieve)) - item_to_retrieve.loc = L.loc + item_to_retrieve.forceMove(L.loc) item_to_retrieve.loc.visible_message("The [item_to_retrieve.name] suddenly appears!") playsound(get_turf(L), 'sound/magic/summonitems_generic.ogg', 50, 1) else diff --git a/code/modules/spells/spell_types/turf_teleport.dm b/code/modules/spells/spell_types/turf_teleport.dm index 0b378fbaaa..093285b74d 100644 --- a/code/modules/spells/spell_types/turf_teleport.dm +++ b/code/modules/spells/spell_types/turf_teleport.dm @@ -41,9 +41,5 @@ return if(!target.Move(picked)) - if(target.buckled) - target.buckled.unbuckle_mob(target,force=1) - if(target.has_buckled_mobs()) - target.unbuckle_all_mobs(force=1) - target.loc = picked + target.forceMove(picked) playsound(get_turf(user), sound2, 50,1) diff --git a/code/modules/station_goals/bsa.dm b/code/modules/station_goals/bsa.dm index d13ab3f329..1fbdfb6fb8 100644 --- a/code/modules/station_goals/bsa.dm +++ b/code/modules/station_goals/bsa.dm @@ -126,7 +126,6 @@ desc = "Long range bluespace artillery." icon = 'icons/obj/lavaland/cannon.dmi' icon_state = "orbital_cannon1" - unsecuring_tool = null var/static/mutable_appearance/top_layer var/ex_power = 3 var/power_used_per_shot = 2000000 //enough to kil standard apc - todo : make this use wires instead and scale explosion power with it diff --git a/code/modules/stock_market/computer.dm b/code/modules/stock_market/computer.dm index 3422145ec3..a6429834be 100644 --- a/code/modules/stock_market/computer.dm +++ b/code/modules/stock_market/computer.dm @@ -68,8 +68,8 @@ a.updated { var/list/LR = GLOB.stockExchange.last_read[S] if (!(logged_in in LR)) LR[logged_in] = 0 - dat += "View mode: [vmode ? "Compact" : "Full"] " - dat += "Stock Transaction Log: Check
    " + dat += "View mode: [vmode ? "Compact" : "Full"] " + dat += "Stock Transaction Log: Check
    " dat += "This is a work in progress. Certain features may not be available." @@ -83,12 +83,12 @@ a.updated { dat += "
    [S.name] ([S.short_name])[S.bankrupt ? " BANKRUPT" : null]
    " if (S.last_unification) dat += "Unified shares [DisplayTimeText(world.time - S.last_unification)] ago.
    " - dat += "Current value per share: [S.current_value] | View history

    " + dat += "Current value per share: [S.current_value] | View history

    " dat += "You currently own [mystocks] shares in this company. There are [S.available_shares] purchasable shares on the market currently.
    " if (S.bankrupt) dat += "You cannot buy or sell shares in a bankrupt company!

    " else - dat += "Buy shares | Sell shares

    " + dat += "Buy shares | Sell shares

    " dat += "Prominent products:
    " for (var/prod in S.products) dat += "[prod]
    " @@ -105,7 +105,7 @@ a.updated { if (E.last_change > lrt && !E.hidden) news = 1 break - dat += "View news archives[news ? " (updated)" : null]
    " + dat += "View news archives[news ? " (updated)" : null]" else if (vmode == 1) dat += "Actions: + Buy, - Sell, (A)rchives, (H)istory

    " dat += "" @@ -159,8 +159,8 @@ a.updated { if (S.bankrupt) dat += "+- " else - dat += "+- " - dat += "(A)(H)" + dat += "+- " + dat += "(A)(H)" dat += "" @@ -275,7 +275,7 @@ a.updated { sell_some_shares(S, usr) if (href_list["show_logs"]) - var/dat = "Stock Transaction Logs

    Stock Transaction Logs


    " + var/dat = "Stock Transaction Logs

    Stock Transaction Logs


    " for(var/D in GLOB.stockExchange.logs) var/datum/stock_log/L = D if(istype(L, /datum/stock_log/buy)) @@ -297,7 +297,7 @@ a.updated { if (logged_in && logged_in != "") var/list/LR = GLOB.stockExchange.last_read[S] LR[logged_in] = world.time - var/dat = "News feed for [S.name]

    News feed for [S.name]

    " + var/dat = "News feed for [S.name]

    News feed for [S.name]

    " dat += "

    Events

    " var/p = 0 for (var/datum/stockEvent/E in S.events) diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index 279589c4b1..9784dd115c 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -121,14 +121,22 @@ O.transfer_to_limb(src, C) update_icon_dropped() - forceMove(T) C.update_health_hud() //update the healthdoll C.update_body() C.update_hair() C.update_canmove() + + if(!T) // T = null happens when a "dummy human" used for rendering icons on prefs screen gets its limbs replaced. + qdel(src) + return + if(is_pseudopart) drop_organs(C) //Psuedoparts shouldn't have organs, but just in case qdel(src) + return + + forceMove(T) + //when a limb is dropped, the internal organs are removed from the mob and put into the limb diff --git a/code/modules/surgery/bodyparts/head.dm b/code/modules/surgery/bodyparts/head.dm index c0b69e658c..a4d317ad2a 100644 --- a/code/modules/surgery/bodyparts/head.dm +++ b/code/modules/surgery/bodyparts/head.dm @@ -124,39 +124,37 @@ cut_overlays() . = ..() if(dropped) //certain overlays only appear when the limb is being detached from its owner. - var/datum/sprite_accessory/S if(status != BODYPART_ROBOTIC) //having a robotic head hides certain features. //facial hair if(facial_hair_style) - S = GLOB.facial_hair_styles_list[facial_hair_style] + var/datum/sprite_accessory/S = GLOB.facial_hair_styles_list[facial_hair_style] if(S) var/image/facial_overlay = image(S.icon, "[S.icon_state]", -HAIR_LAYER, SOUTH) facial_overlay.color = "#" + facial_hair_color facial_overlay.alpha = hair_alpha . += facial_overlay - var/image/hair_overlay = image(layer = -HAIR_LAYER, dir = SOUTH) - . += hair_overlay //Applies the debrained overlay if there is no brain if(!brain) + var/image/debrain_overlay = image(layer = -HAIR_LAYER, dir = SOUTH) if(animal_origin == ALIEN_BODYPART) - hair_overlay.icon = 'icons/mob/animal_parts.dmi' - hair_overlay.icon_state = "debrained_alien" + debrain_overlay.icon = 'icons/mob/animal_parts.dmi' + debrain_overlay.icon_state = "debrained_alien" else if(animal_origin == LARVA_BODYPART) - hair_overlay.icon = 'icons/mob/animal_parts.dmi' - hair_overlay.icon_state = "debrained_larva" + debrain_overlay.icon = 'icons/mob/animal_parts.dmi' + debrain_overlay.icon_state = "debrained_larva" else if(!(NOBLOOD in species_flags_list)) - hair_overlay.icon = 'icons/mob/human_face.dmi' - hair_overlay.icon_state = "debrained" + debrain_overlay.icon = 'icons/mob/human_face.dmi' + debrain_overlay.icon_state = "debrained" + . += debrain_overlay else - if(hair_style) - S = GLOB.hair_styles_list[hair_style] - if(S) - hair_overlay.icon = icon - hair_overlay.icon_state = "[S.icon_state]" - hair_overlay.color = "#" + hair_color - hair_overlay.alpha = hair_alpha + var/datum/sprite_accessory/S2 = GLOB.hair_styles_list[hair_style] + if(S2) + var/image/hair_overlay = image(S2.icon, "[S2.icon_state]", -HAIR_LAYER, SOUTH) + hair_overlay.color = "#" + hair_color + hair_overlay.alpha = hair_alpha + . += hair_overlay // lipstick diff --git a/code/modules/surgery/cavity_implant.dm b/code/modules/surgery/cavity_implant.dm index 8bad429102..0d13e81188 100644 --- a/code/modules/surgery/cavity_implant.dm +++ b/code/modules/surgery/cavity_implant.dm @@ -17,6 +17,11 @@ var/obj/item/bodypart/chest/CH = target.get_bodypart("chest") IC = CH.cavity_item if(tool) + if(istype(tool, /obj/item/surgical_drapes) || istype(tool, /obj/item/bedsheet)) + var/obj/item/inactive = user.get_inactive_held_item() + if(istype(inactive, /obj/item/cautery) || istype(inactive, /obj/item/screwdriver) || iscyborg(user)) + attempt_cancel_surgery(surgery, tool, target, user) + return -1 user.visible_message("[user] begins to insert [tool] into [target]'s [target_zone].", "You begin to insert [tool] into [target]'s [target_zone]...") else user.visible_message("[user] checks for items in [target]'s [target_zone].", "You check for items in [target]'s [target_zone]...") diff --git a/code/modules/surgery/eye_surgery.dm b/code/modules/surgery/eye_surgery.dm index 9099489420..6c340b61f5 100644 --- a/code/modules/surgery/eye_surgery.dm +++ b/code/modules/surgery/eye_surgery.dm @@ -14,7 +14,7 @@ /datum/surgery/eye_surgery/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/eyes/E = target.getorganslot(ORGAN_SLOT_EYES) if(!E) - to_chat(user, "It's hard to do surgery on someones eyes when they don't have any.") + to_chat(user, "It's hard to do surgery on someone's eyes when they don't have any.") return FALSE /datum/surgery_step/fix_eyes/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) diff --git a/code/modules/surgery/helpers.dm b/code/modules/surgery/helpers.dm index a4e9b16989..d37b17ae35 100644 --- a/code/modules/surgery/helpers.dm +++ b/code/modules/surgery/helpers.dm @@ -1,173 +1,171 @@ -/proc/attempt_initiate_surgery(obj/item/I, mob/living/M, mob/user) - if(!istype(M)) - return - - var/mob/living/carbon/C - var/obj/item/bodypart/affecting - var/selected_zone = user.zone_selected - - if(iscarbon(M)) - C = M - affecting = C.get_bodypart(check_zone(selected_zone)) - - if(!M.lying && !isslime(M)) //if they're prone or a slime - return - - var/datum/surgery/current_surgery - - for(var/datum/surgery/S in M.surgeries) - if(S.location == selected_zone) - current_surgery = S - - if(!current_surgery) - var/list/all_surgeries = GLOB.surgeries_list.Copy() - var/list/available_surgeries = list() - - for(var/datum/surgery/S in all_surgeries) - if(!S.possible_locs.Find(selected_zone)) - continue - if(affecting) - if(!S.requires_bodypart) - continue - if(S.requires_bodypart_type && affecting.status == BODYPART_ROBOTIC) - continue - if(S.requires_real_bodypart && affecting.is_pseudopart) - continue - else if(C && S.requires_bodypart) //mob with no limb in surgery zone when we need a limb - continue - if(!S.can_start(user, M)) - continue - for(var/path in S.species) - if(istype(M, path)) - available_surgeries[S.name] = S - break - - var/P = input("Begin which procedure?", "Surgery", null, null) as null|anything in available_surgeries - if(P && user && user.Adjacent(M) && (I in user)) - var/datum/surgery/S = available_surgeries[P] - - for(var/datum/surgery/other in M.surgeries) - if(other.location == S.location) - return //during the input() another surgery was started at the same location. - - //we check that the surgery is still doable after the input() wait. - if(C) - affecting = C.get_bodypart(check_zone(selected_zone)) - if(affecting) - if(!S.requires_bodypart) - return - if(S.requires_bodypart_type && affecting.status == BODYPART_ROBOTIC) - return - else if(C && S.requires_bodypart) - return - if(!S.can_start(user, M)) - return - - if(S.ignore_clothes || get_location_accessible(M, selected_zone)) - var/datum/surgery/procedure = new S.type(M, selected_zone, affecting) - user.visible_message("[user] drapes [I] over [M]'s [parse_zone(selected_zone)] to prepare for \an [procedure.name].", \ - "You drape [I] over [M]'s [parse_zone(selected_zone)] to prepare for \an [procedure.name].") - - add_logs(user, M, "operated", addition="Operation type: [procedure.name], location: [selected_zone]") - else - to_chat(user, "You need to expose [M]'s [parse_zone(selected_zone)] first!") - - else if(!current_surgery.step_in_progress) - if(current_surgery.status == 1) - M.surgeries -= current_surgery - user.visible_message("[user] removes the drapes from [M]'s [parse_zone(selected_zone)].", \ - "You remove the drapes from [M]'s [parse_zone(selected_zone)].") - qdel(current_surgery) - else if(current_surgery.can_cancel) - if(current_surgery.requires_bodypart_type == BODYPART_ORGANIC) - if(istype(user.get_inactive_held_item(), /obj/item/cautery)) - M.surgeries -= current_surgery - user.visible_message("[user] mends the incision and removes the drapes from [M]'s [parse_zone(selected_zone)].", \ - "You mend the incision and remove the drapes from [M]'s [parse_zone(selected_zone)].") - qdel(current_surgery) - else - to_chat(user, "You need to hold a cautery in inactive hand to stop [M]'s surgery!") - else if(current_surgery.requires_bodypart_type == BODYPART_ROBOTIC) - if(istype(user.get_inactive_held_item(), /obj/item/screwdriver)) - M.surgeries -= current_surgery - user.visible_message("[user] screw the shell and removes the drapes from [M]'s [parse_zone(selected_zone)].", \ - "You screw the shell and remove the drapes from [M]'s [parse_zone(selected_zone)].") - qdel(current_surgery) - else - to_chat(user, "You need to hold a screwdriver in inactive hand to stop [M]'s surgery!") - - return 1 - - - -/proc/get_location_modifier(mob/M) - var/turf/T = get_turf(M) - if(locate(/obj/structure/table/optable, T)) - return 1 - else if(locate(/obj/structure/table, T)) - return 0.8 - else if(locate(/obj/structure/bed, T)) - return 0.7 - else - return 0.5 - - -/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, C.head)) - 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.ears)) - 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(covered_locations & HEAD || face_covered & HIDEEYES || eyesmouth_covered & GLASSESCOVERSEYES) - return 0 - if("mouth") - if(covered_locations & HEAD || face_covered & HIDEFACE || eyesmouth_covered & MASKCOVERSMOUTH || eyesmouth_covered & HEADCOVERSMOUTH) - return 0 - if("chest") - if(covered_locations & CHEST) - return 0 - if("groin") - if(covered_locations & GROIN) - 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/attempt_initiate_surgery(obj/item/I, mob/living/M, mob/user) + if(!istype(M)) + return + + var/mob/living/carbon/C + var/obj/item/bodypart/affecting + var/selected_zone = user.zone_selected + + if(iscarbon(M)) + C = M + affecting = C.get_bodypart(check_zone(selected_zone)) + + if(!M.lying && !isslime(M)) //if they're prone or a slime + return + + var/datum/surgery/current_surgery + + for(var/datum/surgery/S in M.surgeries) + if(S.location == selected_zone) + current_surgery = S + + if(!current_surgery) + var/list/all_surgeries = GLOB.surgeries_list.Copy() + var/list/available_surgeries = list() + + for(var/datum/surgery/S in all_surgeries) + if(!S.possible_locs.Find(selected_zone)) + continue + if(affecting) + if(!S.requires_bodypart) + continue + if(S.requires_bodypart_type && affecting.status != S.requires_bodypart_type) + continue + if(S.requires_real_bodypart && affecting.is_pseudopart) + continue + else if(C && S.requires_bodypart) //mob with no limb in surgery zone when we need a limb + continue + if(!S.can_start(user, M)) + continue + for(var/path in S.species) + if(istype(M, path)) + available_surgeries[S.name] = S + break + + var/P = input("Begin which procedure?", "Surgery", null, null) as null|anything in available_surgeries + if(P && user && user.Adjacent(M) && (I in user)) + var/datum/surgery/S = available_surgeries[P] + + for(var/datum/surgery/other in M.surgeries) + if(other.location == S.location) + return //during the input() another surgery was started at the same location. + + //we check that the surgery is still doable after the input() wait. + if(C) + affecting = C.get_bodypart(check_zone(selected_zone)) + if(affecting) + if(!S.requires_bodypart) + return + if(S.requires_bodypart_type && affecting.status != S.requires_bodypart_type) + return + else if(C && S.requires_bodypart) + return + if(!S.can_start(user, M)) + return + + if(S.ignore_clothes || get_location_accessible(M, selected_zone)) + var/datum/surgery/procedure = new S.type(M, selected_zone, affecting) + user.visible_message("[user] drapes [I] over [M]'s [parse_zone(selected_zone)] to prepare for \an [procedure.name].", \ + "You drape [I] over [M]'s [parse_zone(selected_zone)] to prepare for \an [procedure.name].") + + add_logs(user, M, "operated", addition="Operation type: [procedure.name], location: [selected_zone]") + else + to_chat(user, "You need to expose [M]'s [parse_zone(selected_zone)] first!") + + else if(!current_surgery.step_in_progress) + attempt_cancel_surgery(current_surgery, I, M, user) + + return 1 + +/proc/attempt_cancel_surgery(datum/surgery/S, obj/item/I, mob/living/M, mob/user) + var/selected_zone = user.zone_selected + if(S.status == 1) + M.surgeries -= S + user.visible_message("[user] removes [I] from [M]'s [parse_zone(selected_zone)].", \ + "You remove [I] from [M]'s [parse_zone(selected_zone)].") + qdel(S) + else if(S.can_cancel) + var/close_tool_type = /obj/item/cautery + var/obj/item/close_tool = user.get_inactive_held_item() + var/is_robotic = S.requires_bodypart_type == BODYPART_ROBOTIC + if(is_robotic) + close_tool_type = /obj/item/screwdriver + if(istype(close_tool, close_tool_type) || iscyborg(user)) + M.surgeries -= S + user.visible_message("[user] closes [M]'s [parse_zone(selected_zone)] with [close_tool] and removes [I].", \ + "You close [M]'s [parse_zone(selected_zone)] with [close_tool] and remove [I].") + qdel(S) + else + to_chat(user, "You need to hold a [is_robotic ? "screwdriver" : "cautery"] in your inactive hand to stop [M]'s surgery!") + +/proc/get_location_modifier(mob/M) + var/turf/T = get_turf(M) + if(locate(/obj/structure/table/optable, T)) + return 1 + else if(locate(/obj/structure/table, T)) + return 0.8 + else if(locate(/obj/structure/bed, T)) + return 0.7 + else + return 0.5 + + +/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, C.head)) + 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.ears)) + 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(covered_locations & HEAD || face_covered & HIDEEYES || eyesmouth_covered & GLASSESCOVERSEYES) + return 0 + if("mouth") + if(covered_locations & HEAD || face_covered & HIDEFACE || eyesmouth_covered & MASKCOVERSMOUTH || eyesmouth_covered & HEADCOVERSMOUTH) + return 0 + if("chest") + if(covered_locations & CHEST) + return 0 + if("groin") + if(covered_locations & GROIN) + 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 diff --git a/code/modules/surgery/implant_removal.dm b/code/modules/surgery/implant_removal.dm index 4a1a8f98eb..b9881d0e37 100644 --- a/code/modules/surgery/implant_removal.dm +++ b/code/modules/surgery/implant_removal.dm @@ -1,56 +1,56 @@ -/datum/surgery/implant_removal - name = "implant removal" - steps = list(/datum/surgery_step/incise, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/retract_skin, /datum/surgery_step/extract_implant, /datum/surgery_step/close) - species = list(/mob/living/carbon/human, /mob/living/carbon/monkey) - possible_locs = list("chest") - - -//extract implant -/datum/surgery_step/extract_implant - name = "extract implant" - implements = list(/obj/item/hemostat = 100, /obj/item/crowbar = 65) - time = 64 - var/obj/item/implant/I = null - -/datum/surgery_step/extract_implant/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - for(var/obj/item/O in target.implants) - I = O - break - if(I) - user.visible_message("[user] begins to extract [I] from [target]'s [target_zone].", "You begin to extract [I] from [target]'s [target_zone]...") - else - user.visible_message("[user] looks for an implant in [target]'s [target_zone].", "You look for an implant in [target]'s [target_zone]...") - -/datum/surgery_step/extract_implant/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - if(I) - user.visible_message("[user] successfully removes [I] from [target]'s [target_zone]!", "You successfully remove [I] from [target]'s [target_zone].") - I.removed(target) - - var/obj/item/implantcase/case - for(var/obj/item/implantcase/ic in user.held_items) - case = ic - break - if(!case) - case = locate(/obj/item/implantcase) in get_turf(target) - if(case && !case.imp) - case.imp = I - I.loc = case - case.update_icon() - user.visible_message("[user] places [I] into [case]!", "You place [I] into [case].") - else - qdel(I) - - else - to_chat(user, "You can't find anything in [target]'s [target_zone]!") - return 1 - -/datum/surgery/implant_removal/mechanic - name = "implant removal" - requires_bodypart_type = BODYPART_ROBOTIC - steps = list( - /datum/surgery_step/mechanic_open, - /datum/surgery_step/open_hatch, - /datum/surgery_step/mechanic_unwrench, - /datum/surgery_step/extract_implant, - /datum/surgery_step/mechanic_wrench, - /datum/surgery_step/mechanic_close) +/datum/surgery/implant_removal + name = "implant removal" + steps = list(/datum/surgery_step/incise, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/retract_skin, /datum/surgery_step/extract_implant, /datum/surgery_step/close) + species = list(/mob/living/carbon/human, /mob/living/carbon/monkey) + possible_locs = list("chest") + + +//extract implant +/datum/surgery_step/extract_implant + name = "extract implant" + implements = list(/obj/item/hemostat = 100, /obj/item/crowbar = 65) + time = 64 + var/obj/item/implant/I = null + +/datum/surgery_step/extract_implant/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + for(var/obj/item/O in target.implants) + I = O + break + if(I) + user.visible_message("[user] begins to extract [I] from [target]'s [target_zone].", "You begin to extract [I] from [target]'s [target_zone]...") + else + user.visible_message("[user] looks for an implant in [target]'s [target_zone].", "You look for an implant in [target]'s [target_zone]...") + +/datum/surgery_step/extract_implant/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + if(I) + user.visible_message("[user] successfully removes [I] from [target]'s [target_zone]!", "You successfully remove [I] from [target]'s [target_zone].") + I.removed(target) + + var/obj/item/implantcase/case + for(var/obj/item/implantcase/ic in user.held_items) + case = ic + break + if(!case) + case = locate(/obj/item/implantcase) in get_turf(target) + if(case && !case.imp) + case.imp = I + I.loc = case + case.update_icon() + user.visible_message("[user] places [I] into [case]!", "You place [I] into [case].") + else + qdel(I) + + else + to_chat(user, "You can't find anything in [target]'s [target_zone]!") + return 1 + +/datum/surgery/implant_removal/mechanic + name = "implant removal" + requires_bodypart_type = BODYPART_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/extract_implant, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close) diff --git a/code/modules/surgery/limb_augmentation.dm b/code/modules/surgery/limb_augmentation.dm index b5081370f0..25d914b0fb 100644 --- a/code/modules/surgery/limb_augmentation.dm +++ b/code/modules/surgery/limb_augmentation.dm @@ -15,15 +15,17 @@ /datum/surgery_step/add_limb name = "replace limb" - implements = list(/obj/item/bodypart = 100) + implements = list(/obj/item/bodypart = 100, /obj/item/organ_storage = 100) time = 32 var/obj/item/bodypart/L = null // L because "limb" /datum/surgery_step/add_limb/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + if(istype(tool, /obj/item/organ_storage) && istype(tool.contents[1], /obj/item/bodypart)) + tool = tool.contents[1] var/obj/item/bodypart/aug = tool if(aug.status != BODYPART_ROBOTIC) - to_chat(user, "that's not an augment silly!") + to_chat(user, "That's not an augment, silly!") return -1 if(aug.body_zone != target_zone) to_chat(user, "[tool] isn't the right type for [parse_zone(target_zone)].") @@ -49,6 +51,11 @@ /datum/surgery_step/add_limb/success(mob/user, mob/living/carbon/target, target_zone, obj/item/bodypart/tool, datum/surgery/surgery) if(L) user.visible_message("[user] successfully augments [target]'s [parse_zone(target_zone)]!", "You successfully augment [target]'s [parse_zone(target_zone)].") + if(istype(tool, /obj/item/organ_storage)) + tool.icon_state = initial(tool.icon_state) + tool.desc = initial(tool.desc) + tool.cut_overlays() + tool = tool.contents[1] L.change_bodypart_status(BODYPART_ROBOTIC, TRUE) L.icon = tool.icon L.max_damage = tool.max_damage diff --git a/code/modules/surgery/lipoplasty.dm b/code/modules/surgery/lipoplasty.dm index 816590610f..488f2e81b1 100644 --- a/code/modules/surgery/lipoplasty.dm +++ b/code/modules/surgery/lipoplasty.dm @@ -1,53 +1,53 @@ -/datum/surgery/lipoplasty - name = "lipoplasty" - steps = list(/datum/surgery_step/incise, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/cut_fat, /datum/surgery_step/remove_fat, /datum/surgery_step/close) - possible_locs = list("chest") - -/datum/surgery/lipoplasty/can_start(mob/user, mob/living/carbon/target) - if(target.disabilities & FAT) - return 1 - return 0 - - -//cut fat -/datum/surgery_step/cut_fat - name = "cut excess fat" +/datum/surgery/lipoplasty + name = "lipoplasty" + steps = list(/datum/surgery_step/incise, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/cut_fat, /datum/surgery_step/remove_fat, /datum/surgery_step/close) + possible_locs = list("chest") + +/datum/surgery/lipoplasty/can_start(mob/user, mob/living/carbon/target) + if(target.disabilities & FAT) + return 1 + return 0 + + +//cut fat +/datum/surgery_step/cut_fat + name = "cut excess fat" implements = list(/obj/item/circular_saw = 100, /obj/item/melee/transforming/energy/sword/cyborg/saw = 100, /obj/item/hatchet = 35, /obj/item/kitchen/knife/butcher = 25) - time = 64 - -/datum/surgery_step/cut_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - user.visible_message("[user] begins to cut away [target]'s excess fat.", "You begin to cut away [target]'s excess fat...") - -/datum/surgery_step/cut_fat/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - user.visible_message("[user] cuts [target]'s excess fat loose!", "You cut [target]'s excess fat loose.") - return 1 - -//remove fat -/datum/surgery_step/remove_fat - name = "remove loose fat" - implements = list(/obj/item/retractor = 100, /obj/item/screwdriver = 45, /obj/item/wirecutters = 35) - time = 32 - -/datum/surgery_step/remove_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - user.visible_message("[user] begins to extract [target]'s loose fat!", "You begin to extract [target]'s loose fat...") - -/datum/surgery_step/remove_fat/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - user.visible_message("[user] extracts [target]'s fat!", "You extract [target]'s fat.") - target.overeatduration = 0 //patient is unfatted - var/removednutriment = target.nutrition - target.nutrition = NUTRITION_LEVEL_WELL_FED - removednutriment -= 450 //whatever was removed goes into the meat - var/mob/living/carbon/human/H = target - var/typeofmeat = /obj/item/reagent_containers/food/snacks/meat/slab/human - - if(H.dna && H.dna.species) - typeofmeat = H.dna.species.meat - - var/obj/item/reagent_containers/food/snacks/meat/slab/human/newmeat = new typeofmeat - newmeat.name = "fatty meat" - newmeat.desc = "Extremely fatty tissue taken from a patient." - newmeat.subjectname = H.real_name - newmeat.subjectjob = H.job - newmeat.reagents.add_reagent ("nutriment", (removednutriment / 15)) //To balance with nutriment_factor of nutriment - newmeat.loc = target.loc - return 1 \ No newline at end of file + time = 64 + +/datum/surgery_step/cut_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + user.visible_message("[user] begins to cut away [target]'s excess fat.", "You begin to cut away [target]'s excess fat...") + +/datum/surgery_step/cut_fat/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + user.visible_message("[user] cuts [target]'s excess fat loose!", "You cut [target]'s excess fat loose.") + return 1 + +//remove fat +/datum/surgery_step/remove_fat + name = "remove loose fat" + implements = list(/obj/item/retractor = 100, /obj/item/screwdriver = 45, /obj/item/wirecutters = 35) + time = 32 + +/datum/surgery_step/remove_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + user.visible_message("[user] begins to extract [target]'s loose fat!", "You begin to extract [target]'s loose fat...") + +/datum/surgery_step/remove_fat/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + user.visible_message("[user] extracts [target]'s fat!", "You extract [target]'s fat.") + target.overeatduration = 0 //patient is unfatted + var/removednutriment = target.nutrition + target.nutrition = NUTRITION_LEVEL_WELL_FED + removednutriment -= 450 //whatever was removed goes into the meat + var/mob/living/carbon/human/H = target + var/typeofmeat = /obj/item/reagent_containers/food/snacks/meat/slab/human + + if(H.dna && H.dna.species) + typeofmeat = H.dna.species.meat + + var/obj/item/reagent_containers/food/snacks/meat/slab/human/newmeat = new typeofmeat + newmeat.name = "fatty meat" + newmeat.desc = "Extremely fatty tissue taken from a patient." + newmeat.subjectname = H.real_name + newmeat.subjectjob = H.job + newmeat.reagents.add_reagent ("nutriment", (removednutriment / 15)) //To balance with nutriment_factor of nutriment + newmeat.forceMove(target.loc) + return 1 diff --git a/code/modules/surgery/organ_manipulation.dm b/code/modules/surgery/organ_manipulation.dm index 10e57babcd..f477535dab 100644 --- a/code/modules/surgery/organ_manipulation.dm +++ b/code/modules/surgery/organ_manipulation.dm @@ -152,8 +152,8 @@ if(current_type == "insert") if(istype(tool, /obj/item/organ_storage)) I = tool.contents[1] - tool.icon_state = "evidenceobj" - tool.desc = "A container for holding body parts." + tool.icon_state = initial(tool.icon_state) + tool.desc = initial(tool.desc) tool.cut_overlays() tool = I else diff --git a/code/modules/surgery/organs/augments_eyes.dm b/code/modules/surgery/organs/augments_eyes.dm index f928db5dd6..29fc6f1ac2 100644 --- a/code/modules/surgery/organs/augments_eyes.dm +++ b/code/modules/surgery/organs/augments_eyes.dm @@ -19,12 +19,10 @@ if(HUD_type) var/datum/atom_hud/H = GLOB.huds[HUD_type] H.add_hud_to(M) - M.permanent_huds |= H /obj/item/organ/cyberimp/eyes/hud/Remove(var/mob/living/carbon/M, var/special = 0) if(HUD_type) var/datum/atom_hud/H = GLOB.huds[HUD_type] - M.permanent_huds ^= H H.remove_hud_from(M) ..() diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm index 65c1e3e1fb..2ed2c2107e 100644 --- a/code/modules/surgery/organs/lungs.dm +++ b/code/modules/surgery/organs/lungs.dm @@ -95,7 +95,7 @@ var/list/breath_gases = breath.gases - breath.assert_gases(/datum/gas/oxygen, /datum/gas/plasma, /datum/gas/carbon_dioxide, /datum/gas/nitrous_oxide, /datum/gas/bz, /datum/gas/nitrogen, /datum/gas/tritium, /datum/gas/brown_gas, /datum/gas/pluoxium, /datum/gas/stimulum) + breath.assert_gases(/datum/gas/oxygen, /datum/gas/plasma, /datum/gas/carbon_dioxide, /datum/gas/nitrous_oxide, /datum/gas/bz, /datum/gas/nitrogen, /datum/gas/tritium, /datum/gas/nitryl, /datum/gas/pluoxium, /datum/gas/stimulum) //Partial pressures in our breath var/O2_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/oxygen][MOLES])+(8*breath.get_breath_partial_pressure(breath_gases[/datum/gas/pluoxium][MOLES])) @@ -261,25 +261,25 @@ else H.radiation += trit_pp/10 - //Brown Gas - var/brown_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/brown_gas][MOLES]) - if (prob(brown_pp)) + // Nitryl + var/nitryl_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/nitryl][MOLES]) + if (prob(nitryl_pp)) to_chat(H, "Your mouth feels like it's burning!") - if (brown_pp >40) + if (nitryl_pp >40) H.emote("gasp") H.adjustFireLoss(10) - if (prob(brown_pp/2)) + if (prob(nitryl_pp/2)) to_chat(H, "Your throat closes up!") H.silent = max(H.silent, 3) else - H.adjustFireLoss(brown_pp/4) - gas_breathed = breath_gases[/datum/gas/brown_gas][MOLES] + H.adjustFireLoss(nitryl_pp/4) + gas_breathed = breath_gases[/datum/gas/nitryl][MOLES] if (gas_breathed > GAS_STIM_MINIMUM) - H.reagents.add_reagent("brown_gas",1) + H.reagents.add_reagent("nitryl_gas",1) - breath_gases[/datum/gas/brown_gas][MOLES]-=gas_breathed + breath_gases[/datum/gas/nitryl][MOLES]-=gas_breathed gas_breathed = 0 - //Stimulum + // Stimulum gas_breathed = breath_gases[/datum/gas/stimulum][MOLES] if (gas_breathed > GAS_STIM_MINIMUM) H.reagents.add_reagent("stimulum",1) diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index 6420d8610e..a8d6e7840a 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -82,7 +82,7 @@ //Hacks var/mob/living/carbon/human/user = usr var/rendered = "[user.name]: [message]" - for(var/mob/living/carbon/human/H in GLOB.living_mob_list) + for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) var/obj/item/organ/tongue/T = H.getorganslot(ORGAN_SLOT_TONGUE) if(!T || T.type != type) continue diff --git a/code/modules/surgery/prosthetic_replacement.dm b/code/modules/surgery/prosthetic_replacement.dm index e55f3af009..b3f3953c49 100644 --- a/code/modules/surgery/prosthetic_replacement.dm +++ b/code/modules/surgery/prosthetic_replacement.dm @@ -60,8 +60,8 @@ /datum/surgery_step/add_prosthetic/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(istype(tool, /obj/item/organ_storage)) - tool.icon_state = "evidenceobj" - tool.desc = "A container for holding body parts." + tool.icon_state = initial(tool.icon_state) + tool.desc = initial(tool.desc) tool.cut_overlays() tool = tool.contents[1] if(istype(tool, /obj/item/bodypart) && user.temporarilyRemoveItemFromInventory(tool)) diff --git a/code/modules/tgui/subsystem.dm b/code/modules/tgui/subsystem.dm index c44c91c92b..f70eb87b0c 100644 --- a/code/modules/tgui/subsystem.dm +++ b/code/modules/tgui/subsystem.dm @@ -43,7 +43,7 @@ * return datum/tgui The found UI. **/ /datum/controller/subsystem/tgui/proc/get_open_ui(mob/user, datum/src_object, ui_key) - var/src_object_key = "\ref[src_object]" + var/src_object_key = "[REF(src_object)]" if(isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) return null // No UIs open. else if(isnull(open_uis[src_object_key][ui_key]) || !istype(open_uis[src_object_key][ui_key], /list)) @@ -65,7 +65,7 @@ * return int The number of UIs updated. **/ /datum/controller/subsystem/tgui/proc/update_uis(datum/src_object) - var/src_object_key = "\ref[src_object]" + var/src_object_key = "[REF(src_object)]" if(isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) return 0 // Couldn't find any UIs for this object. @@ -87,7 +87,7 @@ * return int The number of UIs closed. **/ /datum/controller/subsystem/tgui/proc/close_uis(datum/src_object) - var/src_object_key = "\ref[src_object]" + var/src_object_key = "[REF(src_object)]" if(isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) return 0 // Couldn't find any UIs for this object. @@ -168,7 +168,7 @@ * required ui datum/tgui The UI to be added. **/ /datum/controller/subsystem/tgui/proc/on_open(datum/tgui/ui) - var/src_object_key = "\ref[ui.src_object]" + var/src_object_key = "[REF(ui.src_object)]" if(isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) open_uis[src_object_key] = list(ui.ui_key = list()) // Make a list for the ui_key and src_object. else if(isnull(open_uis[src_object_key][ui.ui_key]) || !istype(open_uis[src_object_key][ui.ui_key], /list)) @@ -190,7 +190,7 @@ * return bool If the UI was removed or not. **/ /datum/controller/subsystem/tgui/proc/on_close(datum/tgui/ui) - var/src_object_key = "\ref[ui.src_object]" + var/src_object_key = "[REF(ui.src_object)]" if(isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) return 0 // It wasn't open. else if(isnull(open_uis[src_object_key][ui.ui_key]) || !istype(open_uis[src_object_key][ui.ui_key], /list)) diff --git a/code/modules/tgui/tgui.dm b/code/modules/tgui/tgui.dm index e427cfa0d1..b1275cf00f 100644 --- a/code/modules/tgui/tgui.dm +++ b/code/modules/tgui/tgui.dm @@ -1,377 +1,377 @@ - /** - * tgui - * - * /tg/station user interface library - **/ - - /** - * tgui datum (represents a UI). - **/ -/datum/tgui - var/mob/user // The mob who opened/is using the UI. - var/datum/src_object // The object which owns the UI. - var/title // The title of te UI. - var/ui_key // The ui_key of the UI. This allows multiple UIs for one src_object. - var/window_id // The window_id for browse() and onclose(). - var/width = 0 // The window width. - var/height = 0 // The window height - var/window_options = list( // Extra options to winset(). - "focus" = FALSE, - "titlebar" = TRUE, - "can_resize" = TRUE, - "can_minimize" = TRUE, - "can_maximize" = FALSE, - "can_close" = TRUE, - "auto_format" = FALSE - ) - var/style = "nanotrasen" // The style to be used for this UI. - var/interface // The interface (template) to be used for this UI. - var/autoupdate = TRUE // Update the UI every MC tick. - var/initialized = FALSE // If the UI has been initialized yet. - var/list/initial_data // The data (and datastructure) used to initialize the UI. - var/status = UI_INTERACTIVE // The status/visibility of the UI. - var/datum/ui_state/state = null // Topic state used to determine status/interactability. - var/datum/tgui/master_ui // The parent UI. - var/list/datum/tgui/children = list() // Children of this UI. - var/titlebar = TRUE - var/custom_browser_id = FALSE - - /** - * public - * - * Create a new UI. - * - * required user mob The mob who opened/is using the UI. - * required src_object datum The object or datum which owns the UI. - * required ui_key string The ui_key of the UI. - * required interface string The interface used to render the UI. - * optional title string The title of the UI. - * optional width int The window width. - * optional height int The window height. - * optional master_ui datum/tgui The parent UI. - * optional state datum/ui_state The state used to determine status. - * - * return datum/tgui The requested UI. - **/ -/datum/tgui/New(mob/user, datum/src_object, ui_key, interface, title, width = 0, height = 0, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state, browser_id = null) - src.user = user - src.src_object = src_object - src.ui_key = ui_key - src.window_id = browser_id ? browser_id : "\ref[src_object]-[ui_key]" - src.custom_browser_id = browser_id ? TRUE : FALSE - - set_interface(interface) - - if(title) - src.title = sanitize(title) - if(width) - src.width = width - if(height) - src.height = height - - src.master_ui = master_ui - if(master_ui) - master_ui.children += src - src.state = state - - var/datum/asset/assets = get_asset_datum(/datum/asset/simple/tgui) - assets.send(user) - - /** - * public - * - * Open this UI (and initialize it with data). - **/ -/datum/tgui/proc/open() - if(!user.client) - return // Bail if there is no client. - - update_status(push = 0) // Update the window status. - if(status < UI_UPDATE) - return // Bail if we're not supposed to open. - - if(!initial_data) - set_initial_data(src_object.ui_data(user)) // Get the UI data. - - var/window_size = "" - if(width && height) // If we have a width and height, use them. - window_size = "size=[width]x[height];" - - var/debugable = check_rights_for(user.client, R_DEBUG) - user << browse(get_html(debugable), "window=[window_id];[window_size][list2params(window_options)]") // Open the window. - if (!custom_browser_id) - winset(user, window_id, "on-close=\"uiclose \ref[src]\"") // Instruct the client to signal UI when the window is closed. - SStgui.on_open(src) - - /** - * public - * - * Reinitialize the UI. - * (Possibly with a new interface and/or data). - * - * optional template string The name of the new interface. - * optional data list The new initial data. - **/ -/datum/tgui/proc/reinitialize(interface, list/data) - if(interface) - set_interface(interface) // Set a new interface. - if(data) - set_initial_data(data) // Replace the initial_data. - open() - - /** - * public - * - * Close the UI, and all its children. - **/ -/datum/tgui/proc/close() - user << browse(null, "window=[window_id]") // Close the window. - SStgui.on_close(src) - for(var/datum/tgui/child in children) // Loop through and close all children. - child.close() - children.Cut() - state = null - master_ui = null - qdel(src) - - /** - * public - * - * Sets the browse() window options for this UI. - * - * required window_options list The window options to set. - **/ -/datum/tgui/proc/set_window_options(list/window_options) - src.window_options = window_options - - /** - * public - * - * Set the style for this UI. - * - * required style string The new UI style. - **/ -/datum/tgui/proc/set_style(style) - src.style = lowertext(style) - - /** - * public - * - * Set the interface (template) for this UI. - * - * required interface string The new UI interface. - **/ -/datum/tgui/proc/set_interface(interface) - src.interface = lowertext(interface) - - /** - * public - * - * Enable/disable auto-updating of the UI. - * - * required state bool Enable/disable auto-updating. - **/ -/datum/tgui/proc/set_autoupdate(state = 1) - autoupdate = state - - /** - * private - * - * Set the data to initialize the UI with. - * The datastructure cannot be changed by subsequent updates. - * - * optional data list The data/datastructure to initialize the UI with. - **/ -/datum/tgui/proc/set_initial_data(list/data) - initial_data = data - - /** - * private - * - * Generate HTML for this UI. - * - * optional bool inline If the JSON should be inlined into the HTML (for debugging). - * - * return string UI HTML output. - **/ -/datum/tgui/proc/get_html(var/inline) - var/html - // Poplate HTML with JSON if we're supposed to inline. - if(inline) - html = replacetextEx(SStgui.basehtml, "{}", get_json(initial_data)) - else - html = SStgui.basehtml - html = replacetextEx(html, "\[ref]", "\ref[src]") - html = replacetextEx(html, "\[style]", style) - return html - - /** - * private - * - * Get the config data/datastructure to initialize the UI with. - * - * return list The config data. - **/ -/datum/tgui/proc/get_config_data() - var/list/config_data = list( - "title" = title, - "status" = status, - "screen" = src_object.ui_screen, - "style" = style, - "interface" = interface, - "fancy" = user.client.prefs.tgui_fancy, - "locked" = user.client.prefs.tgui_lock && !custom_browser_id, - "window" = window_id, - "ref" = "\ref[src]", - "user" = list( - "name" = user.name, - "ref" = "\ref[user]" - ), - "srcObject" = list( - "name" = "[src_object]", - "ref" = "\ref[src_object]" - ), - "titlebar" = titlebar - ) - return config_data - - /** - * private - * - * Package the data to send to the UI, as JSON. - * This includes the UI data and config_data. - * - * return string The packaged JSON. - **/ -/datum/tgui/proc/get_json(list/data) - var/list/json_data = list() - - json_data["config"] = get_config_data() - if(!isnull(data)) - json_data["data"] = data - - // Generate the JSON. - var/json = json_encode(json_data) - // Strip #255/improper. - json = replacetext(json, "\proper", "") - json = replacetext(json, "\improper", "") - return json - - /** - * private - * - * Handle clicks from the UI. - * Call the src_object's ui_act() if status is UI_INTERACTIVE. - * If the src_object's ui_act() returns 1, update all UIs attacked to it. - **/ -/datum/tgui/Topic(href, href_list) - if(user != usr) - return // Something is not right here. - - var/action = href_list["action"] - var/params = href_list; params -= "action" - - switch(action) - if("tgui:initialize") - user << output(url_encode(get_json(initial_data)), "[custom_browser_id ? window_id : "[window_id].browser"]:initialize") - initialized = TRUE - if("tgui:view") - if(params["screen"]) - src_object.ui_screen = params["screen"] - SStgui.update_uis(src_object) - if("tgui:link") - user << link(params["url"]) - if("tgui:fancy") - user.client.prefs.tgui_fancy = TRUE - if("tgui:nofrills") - user.client.prefs.tgui_fancy = FALSE - else - update_status(push = 0) // Update the window state. - if(src_object.ui_act(action, params, src, state)) // Call ui_act() on the src_object. - SStgui.update_uis(src_object) // Update if the object requested it. - - /** - * private - * - * Update the UI. - * Only updates the data if update is true, otherwise only updates the status. - * - * optional force bool If the UI should be forced to update. - **/ -/datum/tgui/process(force = 0) - var/datum/host = src_object.ui_host() - if(!src_object || !host || !user) // If the object or user died (or something else), abort. - close() - return - - if(status && (force || autoupdate)) - update() // Update the UI if the status and update settings allow it. - else - update_status(push = 1) // Otherwise only update status. - - /** - * private - * - * Push data to an already open UI. - * - * required data list The data to send. - * optional force bool If the update should be sent regardless of state. - **/ -/datum/tgui/proc/push_data(data, force = 0) - update_status(push = 0) // Update the window state. - if(!initialized) - return // Cannot update UI if it is not set up yet. - if(status <= UI_DISABLED && !force) - return // Cannot update UI, we have no visibility. - - // Send the new JSON to the update() Javascript function. - user << output(url_encode(get_json(data)), "[custom_browser_id ? window_id : "[window_id].browser"]:update") - - /** - * private - * - * Updates the UI by interacting with the src_object again, which will hopefully - * call try_ui_update on it. - * - * optional force_open bool If force_open should be passed to ui_interact. - **/ + /** + * tgui + * + * /tg/station user interface library + **/ + + /** + * tgui datum (represents a UI). + **/ +/datum/tgui + var/mob/user // The mob who opened/is using the UI. + var/datum/src_object // The object which owns the UI. + var/title // The title of te UI. + var/ui_key // The ui_key of the UI. This allows multiple UIs for one src_object. + var/window_id // The window_id for browse() and onclose(). + var/width = 0 // The window width. + var/height = 0 // The window height + var/window_options = list( // Extra options to winset(). + "focus" = FALSE, + "titlebar" = TRUE, + "can_resize" = TRUE, + "can_minimize" = TRUE, + "can_maximize" = FALSE, + "can_close" = TRUE, + "auto_format" = FALSE + ) + var/style = "nanotrasen" // The style to be used for this UI. + var/interface // The interface (template) to be used for this UI. + var/autoupdate = TRUE // Update the UI every MC tick. + var/initialized = FALSE // If the UI has been initialized yet. + var/list/initial_data // The data (and datastructure) used to initialize the UI. + var/status = UI_INTERACTIVE // The status/visibility of the UI. + var/datum/ui_state/state = null // Topic state used to determine status/interactability. + var/datum/tgui/master_ui // The parent UI. + var/list/datum/tgui/children = list() // Children of this UI. + var/titlebar = TRUE + var/custom_browser_id = FALSE + + /** + * public + * + * Create a new UI. + * + * required user mob The mob who opened/is using the UI. + * required src_object datum The object or datum which owns the UI. + * required ui_key string The ui_key of the UI. + * required interface string The interface used to render the UI. + * optional title string The title of the UI. + * optional width int The window width. + * optional height int The window height. + * optional master_ui datum/tgui The parent UI. + * optional state datum/ui_state The state used to determine status. + * + * return datum/tgui The requested UI. + **/ +/datum/tgui/New(mob/user, datum/src_object, ui_key, interface, title, width = 0, height = 0, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state, browser_id = null) + src.user = user + src.src_object = src_object + src.ui_key = ui_key + src.window_id = browser_id ? browser_id : "[REF(src_object)]-[ui_key]" + src.custom_browser_id = browser_id ? TRUE : FALSE + + set_interface(interface) + + if(title) + src.title = sanitize(title) + if(width) + src.width = width + if(height) + src.height = height + + src.master_ui = master_ui + if(master_ui) + master_ui.children += src + src.state = state + + var/datum/asset/assets = get_asset_datum(/datum/asset/simple/tgui) + assets.send(user) + + /** + * public + * + * Open this UI (and initialize it with data). + **/ +/datum/tgui/proc/open() + if(!user.client) + return // Bail if there is no client. + + update_status(push = 0) // Update the window status. + if(status < UI_UPDATE) + return // Bail if we're not supposed to open. + + if(!initial_data) + set_initial_data(src_object.ui_data(user)) // Get the UI data. + + var/window_size = "" + if(width && height) // If we have a width and height, use them. + window_size = "size=[width]x[height];" + + var/debugable = check_rights_for(user.client, R_DEBUG) + user << browse(get_html(debugable), "window=[window_id];[window_size][list2params(window_options)]") // Open the window. + if (!custom_browser_id) + winset(user, window_id, "on-close=\"uiclose [REF(src)]\"") // Instruct the client to signal UI when the window is closed. + SStgui.on_open(src) + + /** + * public + * + * Reinitialize the UI. + * (Possibly with a new interface and/or data). + * + * optional template string The name of the new interface. + * optional data list The new initial data. + **/ +/datum/tgui/proc/reinitialize(interface, list/data) + if(interface) + set_interface(interface) // Set a new interface. + if(data) + set_initial_data(data) // Replace the initial_data. + open() + + /** + * public + * + * Close the UI, and all its children. + **/ +/datum/tgui/proc/close() + user << browse(null, "window=[window_id]") // Close the window. + SStgui.on_close(src) + for(var/datum/tgui/child in children) // Loop through and close all children. + child.close() + children.Cut() + state = null + master_ui = null + qdel(src) + + /** + * public + * + * Sets the browse() window options for this UI. + * + * required window_options list The window options to set. + **/ +/datum/tgui/proc/set_window_options(list/window_options) + src.window_options = window_options + + /** + * public + * + * Set the style for this UI. + * + * required style string The new UI style. + **/ +/datum/tgui/proc/set_style(style) + src.style = lowertext(style) + + /** + * public + * + * Set the interface (template) for this UI. + * + * required interface string The new UI interface. + **/ +/datum/tgui/proc/set_interface(interface) + src.interface = lowertext(interface) + + /** + * public + * + * Enable/disable auto-updating of the UI. + * + * required state bool Enable/disable auto-updating. + **/ +/datum/tgui/proc/set_autoupdate(state = 1) + autoupdate = state + + /** + * private + * + * Set the data to initialize the UI with. + * The datastructure cannot be changed by subsequent updates. + * + * optional data list The data/datastructure to initialize the UI with. + **/ +/datum/tgui/proc/set_initial_data(list/data) + initial_data = data + + /** + * private + * + * Generate HTML for this UI. + * + * optional bool inline If the JSON should be inlined into the HTML (for debugging). + * + * return string UI HTML output. + **/ +/datum/tgui/proc/get_html(var/inline) + var/html + // Poplate HTML with JSON if we're supposed to inline. + if(inline) + html = replacetextEx(SStgui.basehtml, "{}", get_json(initial_data)) + else + html = SStgui.basehtml + html = replacetextEx(html, "\[ref]", "[REF(src)]") + html = replacetextEx(html, "\[style]", style) + return html + + /** + * private + * + * Get the config data/datastructure to initialize the UI with. + * + * return list The config data. + **/ +/datum/tgui/proc/get_config_data() + var/list/config_data = list( + "title" = title, + "status" = status, + "screen" = src_object.ui_screen, + "style" = style, + "interface" = interface, + "fancy" = user.client.prefs.tgui_fancy, + "locked" = user.client.prefs.tgui_lock && !custom_browser_id, + "window" = window_id, + "ref" = "[REF(src)]", + "user" = list( + "name" = user.name, + "ref" = "[REF(user)]" + ), + "srcObject" = list( + "name" = "[src_object]", + "ref" = "[REF(src_object)]" + ), + "titlebar" = titlebar + ) + return config_data + + /** + * private + * + * Package the data to send to the UI, as JSON. + * This includes the UI data and config_data. + * + * return string The packaged JSON. + **/ +/datum/tgui/proc/get_json(list/data) + var/list/json_data = list() + + json_data["config"] = get_config_data() + if(!isnull(data)) + json_data["data"] = data + + // Generate the JSON. + var/json = json_encode(json_data) + // Strip #255/improper. + json = replacetext(json, "\proper", "") + json = replacetext(json, "\improper", "") + return json + + /** + * private + * + * Handle clicks from the UI. + * Call the src_object's ui_act() if status is UI_INTERACTIVE. + * If the src_object's ui_act() returns 1, update all UIs attacked to it. + **/ +/datum/tgui/Topic(href, href_list) + if(user != usr) + return // Something is not right here. + + var/action = href_list["action"] + var/params = href_list; params -= "action" + + switch(action) + if("tgui:initialize") + user << output(url_encode(get_json(initial_data)), "[custom_browser_id ? window_id : "[window_id].browser"]:initialize") + initialized = TRUE + if("tgui:view") + if(params["screen"]) + src_object.ui_screen = params["screen"] + SStgui.update_uis(src_object) + if("tgui:link") + user << link(params["url"]) + if("tgui:fancy") + user.client.prefs.tgui_fancy = TRUE + if("tgui:nofrills") + user.client.prefs.tgui_fancy = FALSE + else + update_status(push = 0) // Update the window state. + if(src_object.ui_act(action, params, src, state)) // Call ui_act() on the src_object. + SStgui.update_uis(src_object) // Update if the object requested it. + + /** + * private + * + * Update the UI. + * Only updates the data if update is true, otherwise only updates the status. + * + * optional force bool If the UI should be forced to update. + **/ +/datum/tgui/process(force = 0) + var/datum/host = src_object.ui_host() + if(!src_object || !host || !user) // If the object or user died (or something else), abort. + close() + return + + if(status && (force || autoupdate)) + update() // Update the UI if the status and update settings allow it. + else + update_status(push = 1) // Otherwise only update status. + + /** + * private + * + * Push data to an already open UI. + * + * required data list The data to send. + * optional force bool If the update should be sent regardless of state. + **/ +/datum/tgui/proc/push_data(data, force = 0) + update_status(push = 0) // Update the window state. + if(!initialized) + return // Cannot update UI if it is not set up yet. + if(status <= UI_DISABLED && !force) + return // Cannot update UI, we have no visibility. + + // Send the new JSON to the update() Javascript function. + user << output(url_encode(get_json(data)), "[custom_browser_id ? window_id : "[window_id].browser"]:update") + + /** + * private + * + * Updates the UI by interacting with the src_object again, which will hopefully + * call try_ui_update on it. + * + * optional force_open bool If force_open should be passed to ui_interact. + **/ /datum/tgui/proc/update(force_open = FALSE) - src_object.ui_interact(user, ui_key, src, force_open, master_ui, state) - - /** - * private - * - * Update the status/visibility of the UI for its user. - * - * optional push bool Push an update to the UI (an update is always sent for UI_DISABLED). - **/ -/datum/tgui/proc/update_status(push = 0) - var/status = src_object.ui_status(user, state) - if(master_ui) - status = min(status, master_ui.status) - - set_status(status, push) - if(status == UI_CLOSE) - close() - - /** - * private - * - * Set the status/visibility of the UI. - * - * required status int The status to set (UI_CLOSE/UI_DISABLED/UI_UPDATE/UI_INTERACTIVE). - * optional push bool Push an update to the UI (an update is always sent for UI_DISABLED). - **/ -/datum/tgui/proc/set_status(status, push = 0) - if(src.status != status) // Only update if status has changed. - if(src.status == UI_DISABLED) - src.status = status - if(push) - update() - else - src.status = status - if(status == UI_DISABLED || push) // Update if the UI just because disabled, or a push is requested. - push_data(null, force = 1) - -/datum/tgui/proc/set_titlebar(value) - titlebar = value + src_object.ui_interact(user, ui_key, src, force_open, master_ui, state) + + /** + * private + * + * Update the status/visibility of the UI for its user. + * + * optional push bool Push an update to the UI (an update is always sent for UI_DISABLED). + **/ +/datum/tgui/proc/update_status(push = 0) + var/status = src_object.ui_status(user, state) + if(master_ui) + status = min(status, master_ui.status) + + set_status(status, push) + if(status == UI_CLOSE) + close() + + /** + * private + * + * Set the status/visibility of the UI. + * + * required status int The status to set (UI_CLOSE/UI_DISABLED/UI_UPDATE/UI_INTERACTIVE). + * optional push bool Push an update to the UI (an update is always sent for UI_DISABLED). + **/ +/datum/tgui/proc/set_status(status, push = 0) + if(src.status != status) // Only update if status has changed. + if(src.status == UI_DISABLED) + src.status = status + if(push) + update() + else + src.status = status + if(status == UI_DISABLED || push) // Update if the UI just because disabled, or a push is requested. + push_data(null, force = 1) + +/datum/tgui/proc/set_titlebar(value) + titlebar = value diff --git a/code/modules/vehicles/pimpin_ride.dm b/code/modules/vehicles/pimpin_ride.dm index 0d97cb63c1..f8f80819dd 100644 --- a/code/modules/vehicles/pimpin_ride.dm +++ b/code/modules/vehicles/pimpin_ride.dm @@ -77,7 +77,7 @@ if(..()) return 1 else if(mybag) - mybag.loc = get_turf(user) + mybag.forceMove(get_turf(user)) user.put_in_hands(mybag) mybag = null update_icon() diff --git a/code/modules/vehicles/speedbike.dm b/code/modules/vehicles/speedbike.dm index b14dd28d70..9200a3d696 100644 --- a/code/modules/vehicles/speedbike.dm +++ b/code/modules/vehicles/speedbike.dm @@ -41,7 +41,7 @@ /obj/vehicle/space/speedbike/speedwagon/Collide(atom/movable/A) . = ..() if(A.density && has_buckled_mobs()) - var/atom/throw_target = get_edge_target_turf(A, src.dir) + var/atom/throw_target = get_edge_target_turf(A, dir) if(crash_all) A.throw_at(throw_target, 4, 3) visible_message("[src] crashes into [A]!") @@ -62,7 +62,7 @@ /obj/vehicle/space/speedbike/speedwagon/Moved() . = ..() - if(src.has_buckled_mobs()) + if(has_buckled_mobs()) for(var/atom/A in range(2, src)) - if(!(A in src.buckled_mobs)) + if(!(A in buckled_mobs)) Collide(A) diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index 02d896613b..e538599754 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -35,14 +35,14 @@ . = ..() -/obj/vehicle/user_buckle_mob(mob/living/M, mob/user) - if(user.incapacitated()) +/obj/vehicle/user_buckle_mob(mob/living/M, mob/living/user) + if(!istype(user) || user.incapacitated()) return for(var/atom/movable/A in get_turf(src)) if(A.density) if(A != src && A != M) return - M.loc = get_turf(src) + M.forceMove(get_turf(src)) ..() if(user.client) user.client.change_view(view_range) diff --git a/config/admins.txt b/config/admins.txt index eda0cd6cfd..b7d8cf0e6b 100644 --- a/config/admins.txt +++ b/config/admins.txt @@ -7,5 +7,133 @@ # NOTE: if the rank-name cannot be found in admin_ranks.txt, they will not be adminned! ~Carn # # NOTE: syntax was changed to allow hyphenation of ranknames, since spaces are stripped. # ############################################################################################### +<<<<<<< HEAD -Jayehh = Host \ No newline at end of file +Jayehh = Host +======= +Optimumtact = Host +NewSta = Game Master +Expletives = Game Master +kingofkosmos = Game Master +MrStonedOne = Game Master +microscopics = Game Master +Gun Hog = Game Master +KorPhaeron = Game Master +razharas = Game Master +Lordpidey = Game Master +Niknakflak = Game Master +rolan7 = Game Master +quarxink = Game Master +adrix89 = Game Master +tle = Game Master +xsi = Game Master +scaredofshadows = Game Master +neofite = Game Master +trubblebass = Game Master +mport2004 = Game Master +deuryn = Game Master +agouri = Game Master +errorage = Game Master +superxpdude = Game Master +petethegoat = Game Master +korphaeron = Game Master +nodrak = Game Master +carnwennan = Game Master +ikarrus = Game Master +cheridan = Game Master +giacomand = Game Master +rockdtben = Game Master +sieve = Game Master +aranclanos = Game Master +intigracy = Game Master +dumpdavidson = Game Master +kazeespada = Game Master +malkevin = Game Master +incoming = Game Master +demas = Game Master +fleure = Game Master +ricotez = Game Master +misterperson = Game Master +crimsonvision = Game Master +iamgoofball = Game Master +zelacks = Game Master +androidsfv = Game Master +miggles = Game Master +jordie0608 = Game Master +s0ldi3rkr4s0 = Game Master +ergovisavi = Game Master +vistapowa = Game Master +miauw62 = Game Master +kazeespada = Game Master +rumia29 = Game Master +bobylein = Game Master +sirbayer = Game Master +hornygranny = Game Master +yota = Game Master +firecage = Game Master +donkieyo = Game Master +argoneus = Game Master +paprka = Game Master +cookingboy3 = Game Master +limeliz = Game Master +steelpoint = Game Master +phil235 = Game Master +CorruptComputer = Game Master +xxnoob = Game Master +tkdrg = Game Master +Cuboos = Game Master +thunder12345 = Game Master +wjohnston = Game Master +mandurrh = Game Master +thurgatar = Game Master +xerux = Game Master +dannno = Game Master +lo6a4evskiy = Game Master +vekter = Game Master +Ahammer18 = Game Master +ACCount12 = Game Master +fayrik = Game Master +shadowlight213 = Game Master +drovidicorv = Game Master +Dunc = Game Master +MMMiracles = Game Master +bear1ake = Game Master +CoreOverload = Game Master +Jalleo = Game Master +ChangelingRain = Game Master +FoxPMcCloud = Game Master +Xhuis = Game Master +Astralenigma = Game Master +Tokiko1 = Game Master +SuperSayu = Game Master +Lzimann = Game Master +As334 = Game Master +neersighted = Game Master +Swankcookie = Game Master +Ressler = Game Master +Folix = Game Master +Bawhoppennn = Game Master +Anturke = Host +Lumipharon = Game Master +bgobandit = Game Master +coiax = Game Master +RandomMarine = Game Master +PKPenguin321 = Game Master +TechnoAlchemist = Game Master +Aloraydrel = Game Master +Quiltyquilty = Game Master +SnipeDragon = Game Master +Fjeld = Game Master +kevinz000 = Game Master +Tacolizard = Game Master +TrustyGun = Game Master +Cyberboss = Game Master +PJB3005 = Game Master +Sweaterkittens = Game Master +Feemjmeem = Game Master +JStheguy = Game Master +excessiveuseofcobby = Game Master +Plizzard = Game Master +octareenroon91 = Game Master +Serpentarium = Game Master +>>>>>>> bdfbafd... [READY]integrated circuitry port+upgrade. (#32481) diff --git a/config/config.txt b/config/config.txt index 168f5202ac..34f11a8c7c 100644 --- a/config/config.txt +++ b/config/config.txt @@ -329,7 +329,9 @@ AUTOADMIN_RANK Game Master ## This allows you to configure the minimum required client version, as well as a warning version, and message for both. ## These trigger for any version below (non-inclusive) the given version, so 510 triggers on 509 or lower. ## These messages will be followed by one stating the clients current version and the required version for clarity. +## If CLIENT_WARN_POPUP is uncommented a popup window with the message will be displayed instead #CLIENT_WARN_VERSION 511 +#CLIENT_WARN_POPUP #CLIENT_WARN_MESSAGE Byond released 511 as the stable release. You can set the framerate your client runs at, which makes the game feel very different and cool. Shortly after its release we will end up using 511 client features and you will be forced to update. CLIENT_ERROR_VERSION 511 CLIENT_ERROR_MESSAGE Your version of byond is not supported. Please upgrade. @@ -358,8 +360,6 @@ MINUTE_TOPIC_LIMIT 100 ## Allow admin hrefs that don't use the new token system, will eventually be removed DEBUG_ADMIN_HREFS -<<<<<<< HEAD -======= ###Master Controller High Pop Mode### @@ -380,4 +380,6 @@ HIGH_POP_MC_MODE_AMOUNT 65 ##Disengage high pop mode if player count drops below this DISABLE_HIGH_POP_MC_MODE_AMOUNT 60 ->>>>>>> bc4d4e7... Merge pull request #31374 from MrStonedOne/highpopmode + +## Uncomment to prevent the world from sleeping while no players are connected after initializations +#RESUME_AFTER_INITIALIZATIONS diff --git a/config/game_options.txt b/config/game_options.txt index d3fa274ed8..5e36e25808 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -514,3 +514,6 @@ ALLOW_MISCREANTS ## Uncomment to let miscreants spawn during Extended. I hold no responsibility for fun that may occur while this is enabled. #ALLOW_EXTENDED_MISCREANTS + +## Determines if players are allowed to print integrated circuits, uncomment to allow. +#IC_PRINTING diff --git a/html/changelog.html b/html/changelog.html index a4b13b52cf..45dfe57b20 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -1,7 +1,7 @@ - /tg/ Station 13 Changelog + Citadel Station 13 Changelog + + + + {{data.power.main ? "Online" : "Offline"}} + {{#if !data.wires.main_1 || !data.wires.main_2}} + [ Wires have been cut ] + {{else}} + {{#if data.power.main_timeleft > 0}} + [ {{data.power.main_timeleft}} seconds left ] + {{/if}} + {{/if}} +
    + Disrupt +
    +
    + + {{data.power.backup ? "Online" : "Offline"}} + {{#if !data.wires.backup_1 || !data.wires.backup_2}} + [ Wires have been cut ] + {{else}} + {{#if data.power.backup_timeleft > 0}} + [ {{data.power.backup_timeleft}} seconds left ] + {{/if}} + {{/if}} +
    + Disrupt +
    +
    + + {{data.shock == 2 ? "Safe" : "Electrified"}} + {{#if !data.wires.shock}} + [ Wires have been cut ] + {{else}} + {{#if data.shock_timeleft > 0}} + [ {{data.shock_timeleft}} seconds left ] + {{/if}} + {{#if data.shock_timeleft == -1}} + [ Permanent ] + {{/if}} + {{/if}} +
    + Restore + Set (Temporary) + Set (Permanent) +
    +
    +
    + + + {{#if !data.wires.id_scanner}} + [ Wires have been cut ] + {{/if}} +
    + Enabled + Disabled +
    +
    + +
    + Enabled + Disabled +
    +
    +
    + + {{#if !data.wires.bolts}} + [ Wires have been cut ] + {{/if}} +
    + Raised + Dropped +
    +
    + + {{#if !data.wires.lights}} + [ Wires have been cut ] + {{/if}} +
    + Enabled + Disabled +
    +
    + + {{#if !data.wires.safe}} + [ Wires have been cut ] + {{/if}} +
    + Enabled + Disabled +
    +
    + + {{#if !data.wires.timing}} + [ Wires have been cut ] + {{/if}} +
    + Enabled + Disabled +
    +
    +
    + + {{#if data.locked || data.welded}} + [ Door is {{(data.locked ? "bolted" : "") + (data.locked && data.welded ? " and " : "") + (data.welded ? "welded" : "")}} ] + {{/if}} +
    + Open door + Close door +
    +
    +
    diff --git a/tgui/src/interfaces/airalarm/scrubbers.ract b/tgui/src/interfaces/airalarm/scrubbers.ract index 2d8d50a1fc..9f0d56d67a 100644 --- a/tgui/src/interfaces/airalarm/scrubbers.ract +++ b/tgui/src/interfaces/airalarm/scrubbers.ract @@ -1,4 +1,5 @@ + {{#partial button}} @@ -19,16 +20,7 @@ action='widenet' params='{"id_tag": "{{id_tag}}", "val": {{+!widenet}}}'>{{widenet ? "Expanded" : "Normal"}} - CO2 - N2O - Plasma - Rare Gases - Water Vapor + {{else}} diff --git a/tgui/src/interfaces/atmos_filter.ract b/tgui/src/interfaces/atmos_filter.ract index f8b62f3908..458d8fcbcd 100644 --- a/tgui/src/interfaces/atmos_filter.ract +++ b/tgui/src/interfaces/atmos_filter.ract @@ -9,31 +9,9 @@ {{Math.round(adata.pressure)}} kPa - Nothing - Plasma - O2 - N2 - CO2 - N2O - BZ - Hyper-Noblium - Brown Gas - Tritium - Stimulum - Pluoxium - Water Vapor + {{#each data.filter_types}} + {{name}} + {{/each}} diff --git a/tgui/src/interfaces/exonet_node.ract b/tgui/src/interfaces/exonet_node.ract new file mode 100644 index 0000000000..0026a9616a --- /dev/null +++ b/tgui/src/interfaces/exonet_node.ract @@ -0,0 +1,14 @@ + + + + Turn {{data.toggle ? "off" : "on"}} + + + + {{#each data.logs}} + {{.}} + {{/each}} + + \ No newline at end of file diff --git a/tgui/src/interfaces/operating_computer.ract b/tgui/src/interfaces/operating_computer.ract new file mode 100644 index 0000000000..f445427ba8 --- /dev/null +++ b/tgui/src/interfaces/operating_computer.ract @@ -0,0 +1,46 @@ +{{#unless data.table}} + + No table detected! + +{{/unless}} + + + {{#if data.patient}} + + {{data.patient.stat}} + + + {{data.patient.blood_type}} + + + {{Math.round(adata.patient.health)}} + + {{#each [{label: "Brute", type: "bruteLoss"}, {label: "Burn", type: "fireLoss"}, {label: "Toxin", type: "toxLoss"}, {label: "Respiratory", type: "oxyLoss"}]}} + + {{Math.round(adata.patient[type])}} + + {{/each}} + {{else}} + No patient detected. + {{/if}} + + + {{#if data.procedures}} + {{#each data.procedures}} + + + {{next_step}} + + {{#if alternative_step}} + + {{alternative_step}} + + {{/if}} + + {{/each}} + {{else}} + No active procedures. + {{/if}} + + diff --git a/tgui/src/interfaces/portable_scrubber.ract b/tgui/src/interfaces/portable_scrubber.ract index ff8edff71c..3f89775ee2 100644 --- a/tgui/src/interfaces/portable_scrubber.ract +++ b/tgui/src/interfaces/portable_scrubber.ract @@ -1,37 +1,44 @@ - - The regulator {{data.holding ? "is" : "is not"}} connected to a tank. - - - - {{Math.round(adata.pressure)}} kPa - - - {{data.connected ? "Connected" : "Not Connected"}} - - - - - {{data.on ? "On" : "Off"}} - - - - {{#partial button}} - {{#if data.holding}} - Eject - {{/if}} - {{/partial}} - {{#if data.holding}} - - {{data.holding.name}} - - - {{Math.round(adata.holding.pressure)}} kPa - - {{else}} - - No Holding Tank - - {{/if}} - + + + + The regulator {{data.holding ? "is" : "is not"}} connected to a tank. + + + + {{Math.round(adata.pressure)}} kPa + + + {{data.connected ? "Connected" : "Not Connected"}} + + + + + {{data.on ? "On" : "Off"}} + + + + {{#partial button}} + {{#if data.holding}} + Eject + {{/if}} + {{/partial}} + {{#if data.holding}} + + {{data.holding.name}} + + + {{Math.round(adata.holding.pressure)}} kPa + + {{else}} + + No Holding Tank + + {{/if}} + + + {{#with data}} + + {{/with}} + diff --git a/tgui/src/interfaces/rpd.ract b/tgui/src/interfaces/rpd.ract new file mode 100644 index 0000000000..68b489e105 --- /dev/null +++ b/tgui/src/interfaces/rpd.ract @@ -0,0 +1,51 @@ + + + +{{#if data.mode >= 0}} + +{{/if}} +{{#if data.mode == -2 || data.mode == 0}} + +{{/if}} + + + Lay Pipes + + + Eat Pipes + + + Paint Pipes + + + + + Atmospherics + Disposals + + {{#if data.screen == 0}} + + 1 + 2 + 3 + + {{/if}} + +{{#each data.categories}} + + {{#each recipes}} + + {{pipe_name}} + + {{/each}} + +{{/each}} diff --git a/tgui/src/interfaces/rpd/colorsel.ract b/tgui/src/interfaces/rpd/colorsel.ract new file mode 100644 index 0000000000..2a91b05ca8 --- /dev/null +++ b/tgui/src/interfaces/rpd/colorsel.ract @@ -0,0 +1,6 @@ + + {{#each data.paint_colors}} + {{color_name}} + {{/each}} + diff --git a/tgui/src/interfaces/rpd/dirsel.ract b/tgui/src/interfaces/rpd/dirsel.ract new file mode 100644 index 0000000000..603910956c --- /dev/null +++ b/tgui/src/interfaces/rpd/dirsel.ract @@ -0,0 +1,10 @@ + + {{#each data.preview_rows}} + + {{#each previews}} + + {{/each}} + + {{/each}} + diff --git a/tgui/src/interfaces/scrubbing_types.ract b/tgui/src/interfaces/scrubbing_types.ract new file mode 100644 index 0000000000..87247ecdd4 --- /dev/null +++ b/tgui/src/interfaces/scrubbing_types.ract @@ -0,0 +1,4 @@ +{{#each filter_types}} + {{gas_name}} +{{/each}} diff --git a/tgui/src/tgui.js b/tgui/src/tgui.js index e85610cd5b..30ae17084d 100644 --- a/tgui/src/tgui.js +++ b/tgui/src/tgui.js @@ -14,8 +14,8 @@ Object.assign(Math, require('util/math')) // inline, or called by the server if it was not. import TGUI from 'tgui.ract' window.initialize = (dataString) => { - if (window.tgui) return // Don't run twice. - window.tgui = new TGUI({ + // Don't run twice. + window.tgui = window.tgui || new TGUI({ el: '#container', data () { const initial = JSON.parse(dataString) diff --git a/tools/WebhookProcessor/github_webhook_processor.php b/tools/WebhookProcessor/github_webhook_processor.php index da5b037237..a97b9db1c2 100644 --- a/tools/WebhookProcessor/github_webhook_processor.php +++ b/tools/WebhookProcessor/github_webhook_processor.php @@ -42,7 +42,7 @@ set_error_handler(function($severity, $message, $file, $line) { set_exception_handler(function($e) { header('HTTP/1.1 500 Internal Server Error'); echo "Error on line {$e->getLine()}: " . htmlSpecialChars($e->getMessage()); - file_put_contents('htwebhookerror.log', "Error on line {$e->getLine()}: " . $e->getMessage(), FILE_APPEND); + file_put_contents('htwebhookerror.log', '['.date(DATE_ATOM).'] '."Error on line {$e->getLine()}: " . $e->getMessage().PHP_EOL, FILE_APPEND); die(); }); $rawPost = NULL; @@ -172,6 +172,23 @@ function check_tag_and_replace($payload, $title_tag, $label, &$array_to_add_labe return false; } +function set_labels($payload, $labels, $remove) { + $existing = get_labels($payload); + + $tags = array(); + + $tags = array_merge($labels, $existing); + $tags = array_unique($tags); + $tags = array_diff($tags, $remove); + + $final = array(); + foreach($tags as $t) + $final[] = $t; + + $url = $payload['pull_request']['issue_url'] . '/labels'; + echo apisend($url, 'PUT', $final); +} + //rip bs-12 function tag_pr($payload, $opened) { //get the mergeable state @@ -200,11 +217,11 @@ function tag_pr($payload, $opened) { $mergeable = $payload['pull_request']['mergeable']; if($mergeable === TRUE) //only look for the false value $remove[] = 'Merge Conflict'; - else if ($mergable === FALSE) + else if ($mergeable === FALSE) $tags[] = 'Merge Conflict'; $treetags = array('_maps' => 'Map Edit', 'tools' => 'Tools', 'SQL' => 'SQL'); - $addonlytags = array('icons' => 'Sprites', 'sounds' => 'Sound', 'config' => 'Config Update', 'code/controllers/configuration/entries' => 'Config Update', 'tgui' => 'UI'); + $addonlytags = array('icons' => 'Sprites', 'sound' => 'Sound', 'config' => 'Config Update', 'code/controllers/configuration/entries' => 'Config Update', 'tgui' => 'UI'); foreach($treetags as $tree => $tag) if(has_tree_been_edited($payload, $tree)) $tags[] = $tag; @@ -215,31 +232,16 @@ function tag_pr($payload, $opened) { $tags[] = $tag; check_tag_and_replace($payload, '[dnm]', 'Do Not Merge', $tags); - if(!check_tag_and_replace($payload, '[wip]', 'Work In Progress', $tags)) - check_tag_and_replace($payload, '[ready]', 'Work In Progress', $remove); + if(!check_tag_and_replace($payload, '[wip]', 'Work In Progress', $tags) && check_tag_and_replace($payload, '[ready]', 'Work In Progress', $remove)) + $tags[] = 'Needs Review'; - $url = $payload['pull_request']['issue_url'] . '/labels'; - - $existing = get_labels($payload); - - $tags = array_merge($tags, $existing); - $tags = array_unique($tags); - $tags = array_diff($tags, $remove); - - $final = array(); - foreach($tags as $t) - $final[] = $t; - - - echo apisend($url, 'PUT', $final); - - return $final; + return array($tags, $remove); } function remove_ready_for_review($payload, $labels = null){ if($labels == null) $labels = get_labels($payload); - $index = array_search('Review Again', $labels); + $index = array_search('Needs Review', $labels); if($index !== FALSE) unset($labels[$index]); $url = $payload['pull_request']['issue_url'] . '/labels'; @@ -255,13 +257,14 @@ function get_reviews($payload){ return json_decode(apisend($payload['pull_request']['url'] . '/reviews'), true); } -function check_ready_for_review($payload, $labels = null){ - $r4rlabel = 'Review Again'; +function check_ready_for_review($payload, $labels = null, $remove = array()){ + $r4rlabel = 'Needs Review'; $labels_which_should_not_be_ready = array('Do Not Merge', 'Work In Progress', 'Merge Conflict'); $has_label_already = false; $should_not_have_label = false; if($labels == null) $labels = get_labels($payload); + $returned = array($labels, $remove); //if the label is already there we may need to remove it foreach($labels as $L){ if(in_array($L, $labels_which_should_not_be_ready)) @@ -271,8 +274,8 @@ function check_ready_for_review($payload, $labels = null){ } if($has_label_already && $should_not_have_label){ - remove_ready_for_review($payload, $labels, $r4rlabel); - return; + $remove[] = $r4rlabel; + return $returned; } //find all reviews to see if changes were requested at some point @@ -282,7 +285,7 @@ function check_ready_for_review($payload, $labels = null){ $dismissed_an_approved_review = false; foreach($reviews as $R) - if(is_maintainer($R['user']['login'])){ + if(is_maintainer($payload, $R['user']['login'])){ $lower_state = strtolower($R['state']); if($lower_state == 'changes_requested') $reviews_ids_with_changes_requested[] = $R['id']; @@ -294,8 +297,8 @@ function check_ready_for_review($payload, $labels = null){ if(!$dismissed_an_approved_review && count($reviews_ids_with_changes_requested) == 0){ if($has_label_already) - remove_ready_for_review($payload, $labels); - return; //no need to be here + $remove[] = $r4rlabel; + return $returned; //no need to be here } if(count($reviews_ids_with_changes_requested) > 0){ @@ -311,8 +314,8 @@ function check_ready_for_review($payload, $labels = null){ //review comments which are outdated have a null position if($C['position'] !== null){ if($has_label_already) - remove_ready_for_review($payload, $labels); - return; //no need to tag + $remove[] = $r4rlabel; + return $returned; //no need to tag } } } @@ -320,9 +323,8 @@ function check_ready_for_review($payload, $labels = null){ //finally, add it if necessary if(!$has_label_already){ $labels[] = $r4rlabel; - $url = $payload['pull_request']['issue_url'] . '/labels'; - apisend($url, 'PUT', $labels); } + return $returned; } function check_dismiss_changelog_review($payload){ @@ -359,10 +361,11 @@ function handle_pr($payload) { $validated = validate_user($payload); switch ($payload["action"]) { case 'opened': - tag_pr($payload, true); + list($labels, $remove) = tag_pr($payload, true); + set_labels($payload, $labels, $remove); if($no_changelog) check_dismiss_changelog_review($payload); - if(get_pr_code_friendliness($payload) < 0){ + if(get_pr_code_friendliness($payload) <= 0){ $balances = pr_balances(); $author = $payload['pull_request']['user']['login']; if(isset($balances[$author]) && $balances[$author] < 0 && !is_maintainer($payload, $author)) @@ -372,9 +375,10 @@ function handle_pr($payload) { case 'edited': check_dismiss_changelog_review($payload); case 'synchronize': - $labels = tag_pr($payload, false); + list($labels, $remove) = tag_pr($payload, false); if($payload['action'] == 'synchronize') - check_ready_for_review($payload, $labels); + list($labels, $remove) = check_ready_for_review($payload, $labels, $remove); + set_labels($payload, $labels, $remove); return; case 'reopened': $action = $payload['action']; @@ -452,13 +456,11 @@ function get_pr_code_friendliness($payload, $oldbalance = null){ 'Grammar and Formatting' => 1, 'Priority: High' => 4, 'Priority: CRITICAL' => 5, - 'Atmospherics' => 4, 'Logging' => 1, 'Feedback' => 1, 'Performance' => 3, 'Feature' => -1, 'Balance/Rebalance' => -1, - 'Tweak' => -1, 'PRB: Reset' => $startingPRBalance - $oldbalance, ); @@ -519,35 +521,49 @@ function update_pr_balance($payload) { fclose($balances_file); } -function auto_update($payload){ - global $enable_live_tracking; - global $path_to_script; - global $repoOwnerAndName; - global $tracked_branch; - if(!$enable_live_tracking || !has_tree_been_edited($payload, $path_to_script) || $payload['pull_request']['base']['ref'] != $tracked_branch) - return; - - $content = file_get_contents('https://raw.githubusercontent.com/' . $repoOwnerAndName . '/' . $tracked_branch . '/'. $path_to_script); - - create_comment($payload, "Edit detected. Self updating... Here is my new code:\n``" . "`HTML+PHP\n" . $content . "\n``" . '`'); - - $code_file = fopen(basename($path_to_script), 'w'); - fwrite($code_file, $content); - fclose($code_file); -} - $github_diff = null; -function has_tree_been_edited($payload, $tree){ +function get_diff($payload) { global $github_diff; if ($github_diff === null) { //go to the diff url $url = $payload['pull_request']['diff_url']; $github_diff = file_get_contents($url); } + return $github_diff; +} + +function auto_update($payload){ + global $enable_live_tracking; + global $path_to_script; + global $repoOwnerAndName; + global $tracked_branch; + global $github_diff; + if(!$enable_live_tracking || !has_tree_been_edited($payload, $path_to_script) || $payload['pull_request']['base']['ref'] != $tracked_branch) + return; + + get_diff($payload); + $content = file_get_contents('https://raw.githubusercontent.com/' . $repoOwnerAndName . '/' . $tracked_branch . '/'. $path_to_script); + $content_diff = "### Diff not available. :slightly_frowning_face:"; + if($github_diff && preg_match('/(diff --git a\/' . preg_quote($path_to_script, '/') . '.+?)(?:^diff)?/sm', $github_diff, $matches)) { + $script_diff = matches[1]; + if($script_diff) { + $content_diff = "``" . "`DIFF\n" . $script_diff ."\n``" . "`"; + } + } + create_comment($payload, "Edit detected. Self updating... \n
    Here are my changes:\n\n" . $content_diff . "\n
    \n
    Here is my new code:\n\n``" . "`HTML+PHP\n" . $content . "\n``" . '`\n
    '); + + $code_file = fopen(basename($path_to_script), 'w'); + fwrite($code_file, $content); + fclose($code_file); +} + +function has_tree_been_edited($payload, $tree){ + global $github_diff; + get_diff($payload); //find things in the _maps/map_files tree //e.g. diff --git a/_maps/map_files/Cerestation/cerestation.dmm b/_maps/map_files/Cerestation/cerestation.dmm - return $github_diff !== FALSE && strpos($github_diff, 'diff --git a/' . $tree) !== FALSE; + return ($github_diff !== FALSE) && (preg_match('/^diff --git a\/' . preg_quote($tree, '/') . '/m', $github_diff) !== 0); } $no_changelog = false;